diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.element.ts
index ca0608d7f1..b1cf5541a8 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.element.ts
@@ -5,6 +5,7 @@ import type { UmbRoute } from '@umbraco-cms/backoffice/router';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import './document-workspace-editor.element.js';
+import { UmbWorkspaceIsNewRedirectController } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-document-workspace')
export class UmbDocumentWorkspaceElement extends UmbLitElement {
@@ -21,6 +22,12 @@ export class UmbDocumentWorkspaceElement extends UmbLitElement {
const parentId = info.match.params.parentId === 'null' ? null : info.match.params.parentId;
const documentTypeKey = info.match.params.documentTypeKey;
this.#workspaceContext.create(documentTypeKey, parentId);
+
+ new UmbWorkspaceIsNewRedirectController(
+ this,
+ this.#workspaceContext,
+ this.shadowRoot!.querySelector('umb-router-slot')!
+ );
},
},
{
diff --git a/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/workspace/data-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/workspace/data-type-workspace.element.ts
index 97c056ac9e..6505545f8a 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/workspace/data-type-workspace.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/settings/data-types/workspace/data-type-workspace.element.ts
@@ -5,6 +5,7 @@ import type { UmbRoute } from '@umbraco-cms/backoffice/router';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import './data-type-workspace-editor.element.js';
+import { UmbWorkspaceIsNewRedirectController } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-data-type-workspace')
export class UmbDataTypeWorkspaceElement extends UmbLitElement {
@@ -19,6 +20,12 @@ export class UmbDataTypeWorkspaceElement extends UmbLitElement {
setup: (_component, info) => {
const parentId = info.match.params.parentId === 'null' ? null : info.match.params.parentId;
this.#workspaceContext.create(parentId);
+
+ new UmbWorkspaceIsNewRedirectController(
+ this,
+ this.#workspaceContext,
+ this.shadowRoot!.querySelector('umb-router-slot')!
+ );
},
},
{
diff --git a/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/workspace/relation-type-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/workspace/relation-type-workspace.element.ts
index aff6facec8..e7ec75500b 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/workspace/relation-type-workspace.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/workspace/relation-type-workspace.element.ts
@@ -5,6 +5,7 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import type { UmbRouterSlotInitEvent, UmbRoute } from '@umbraco-cms/backoffice/router';
import './relation-type-workspace-editor.element.js';
+import { UmbWorkspaceIsNewRedirectController } from '@umbraco-cms/backoffice/workspace';
/**
* @element umb-relation-type-workspace
@@ -27,6 +28,12 @@ export class UmbRelationTypeWorkspaceElement extends UmbLitElement {
setup: (_component, info) => {
const parentId = info.match.params.parentId;
this.#workspaceContext.createScaffold(parentId);
+
+ new UmbWorkspaceIsNewRedirectController(
+ this,
+ this.#workspaceContext,
+ this.shadowRoot!.querySelector('umb-router-slot')!
+ );
},
},
{
diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/workspace/partial-views-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/workspace/partial-views-workspace.element.ts
index 9343effc13..87cbad3990 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/workspace/partial-views-workspace.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/workspace/partial-views-workspace.element.ts
@@ -5,15 +5,13 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UmbRoute, IRoutingInfo, PageComponent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router';
import './partial-views-workspace-edit.element.js';
+import { UmbWorkspaceIsNewRedirectController } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-partial-views-workspace')
export class UmbPartialViewsWorkspaceElement extends UmbLitElement {
#partialViewsWorkspaceContext = new UmbPartialViewsWorkspaceContext(this);
- #routerPath? = '';
-
#element = document.createElement('umb-partial-views-workspace-edit');
- #key = '';
@state()
_routes: UmbRoute[] = [
@@ -23,6 +21,12 @@ export class UmbPartialViewsWorkspaceElement extends UmbLitElement {
setup: async (component: PageComponent, info: IRoutingInfo) => {
const parentKey = info.match.params.parentKey;
this.#partialViewsWorkspaceContext.create(parentKey);
+
+ new UmbWorkspaceIsNewRedirectController(
+ this,
+ this.#partialViewsWorkspaceContext,
+ this.shadowRoot!.querySelector('umb-router-slot')!
+ );
},
},
{
@@ -36,11 +40,7 @@ export class UmbPartialViewsWorkspaceElement extends UmbLitElement {
];
render() {
- return html` {
- this.#routerPath = event.target.absoluteRouterPath;
- }}>`;
+ return html``;
}
static styles = [UUITextStyles, css``];
diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/workspace/stylesheet-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/workspace/stylesheet-workspace.element.ts
index a6b6915c68..e4b3882c19 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/workspace/stylesheet-workspace.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/workspace/stylesheet-workspace.element.ts
@@ -5,6 +5,7 @@ import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import type { UmbRoute } from '@umbraco-cms/backoffice/router';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
+import { UmbWorkspaceIsNewRedirectController } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-stylesheet-workspace')
export class UmbStylesheetWorkspaceElement extends UmbLitElement {
@@ -20,6 +21,12 @@ export class UmbStylesheetWorkspaceElement extends UmbLitElement {
const path = info.match.params.path;
const serverPath = serverFilePathFromUrlFriendlyPath(path);
this.#workspaceContext.load(serverPath);
+
+ new UmbWorkspaceIsNewRedirectController(
+ this,
+ this.#workspaceContext,
+ this.shadowRoot!.querySelector('umb-router-slot')!
+ );
},
},
];
diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace.element.ts
index 23b7f0233a..c73caadf91 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace.element.ts
@@ -5,6 +5,7 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import '../../components/insert-menu/templating-insert-menu.element.js';
import './template-workspace-editor.element.js';
+import { UmbWorkspaceIsNewRedirectController } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-template-workspace')
export class UmbTemplateWorkspaceElement extends UmbLitElement {
@@ -14,8 +15,6 @@ export class UmbTemplateWorkspaceElement extends UmbLitElement {
#templateWorkspaceContext = new UmbTemplateWorkspaceContext(this);
- #routerPath? = '';
-
#element = document.createElement('umb-template-workspace-editor');
@state()
@@ -26,6 +25,12 @@ export class UmbTemplateWorkspaceElement extends UmbLitElement {
setup: (component: PageComponent, info: IRoutingInfo) => {
const parentId = info.match.params.parentId === 'null' ? null : info.match.params.parentId;
this.#templateWorkspaceContext.create(parentId);
+
+ new UmbWorkspaceIsNewRedirectController(
+ this,
+ this.#templateWorkspaceContext,
+ this.shadowRoot!.querySelector('umb-router-slot')!
+ );
},
},
{
@@ -39,11 +44,7 @@ export class UmbTemplateWorkspaceElement extends UmbLitElement {
];
render() {
- return html` {
- this.#routerPath = event.target.absoluteRouterPath;
- }}>`;
+ return html``;
}
}
diff --git a/src/Umbraco.Web.UI.Client/src/packages/users/user-groups/workspace/user-group-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/packages/users/user-groups/workspace/user-group-workspace.element.ts
index 0de7deb0f6..a9c8bfcdf6 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/users/user-groups/workspace/user-group-workspace.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/users/user-groups/workspace/user-group-workspace.element.ts
@@ -4,6 +4,7 @@ import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import type { UmbRoute } from '@umbraco-cms/backoffice/router';
+import { UmbWorkspaceIsNewRedirectController } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-user-group-workspace')
export class UmbUserGroupWorkspaceElement extends UmbLitElement {
@@ -17,6 +18,12 @@ export class UmbUserGroupWorkspaceElement extends UmbLitElement {
component: () => this.#element,
setup: (component, info) => {
this.#workspaceContext.create();
+
+ new UmbWorkspaceIsNewRedirectController(
+ this,
+ this.#workspaceContext,
+ this.shadowRoot!.querySelector('umb-router-slot')!
+ );
},
},
{