diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace-edit.element.ts
new file mode 100644
index 0000000000..bf1a593e9a
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace-edit.element.ts
@@ -0,0 +1,34 @@
+import { UUITextStyles } from '@umbraco-ui/uui-css/lib';
+import { css, html } from 'lit';
+import { customElement } from 'lit/decorators.js';
+import { UmbLitElement } from '@umbraco-cms/element';
+
+/**
+ * @element umb-member-group-edit-workspace
+ * @description - Element for displaying a Member Group Workspace
+ */
+@customElement('umb-member-group-workspace-edit')
+export class UmbMemberGroupWorkspaceEditElement extends UmbLitElement {
+ static styles = [
+ UUITextStyles,
+ css`
+ :host {
+ display: block;
+ width: 100%;
+ height: 100%;
+ }
+ `,
+ ];
+
+ render() {
+ return html` Member Group `;
+ }
+}
+
+export default UmbMemberGroupWorkspaceEditElement;
+
+declare global {
+ interface HTMLElementTagNameMap {
+ 'umb-member-group-workspace-edit': UmbMemberGroupWorkspaceEditElement;
+ }
+}
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts
index 745e405049..368b175a4d 100644
--- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/workspace/member-group-workspace.element.ts
@@ -1,9 +1,9 @@
-import { UUIInputElement, UUIInputEvent } from '@umbraco-ui/uui';
import { UUITextStyles } from '@umbraco-ui/uui-css/lib';
import { css, html } from 'lit';
import { customElement, state } from 'lit/decorators.js';
-import { UmbWorkspaceEntityElement } from '../../../../backoffice/shared/components/workspace/workspace-entity-element.interface';
+import { IRoutingInfo } from 'router-slot';
import { UmbWorkspaceMemberGroupContext } from './member-group-workspace.context';
+import { UmbMemberGroupWorkspaceEditElement } from './member-group-workspace-edit.element';
import { UmbLitElement } from '@umbraco-cms/element';
/**
@@ -11,7 +11,7 @@ import { UmbLitElement } from '@umbraco-cms/element';
* @description - Element for displaying a Member Group Workspace
*/
@customElement('umb-member-group-workspace')
-export class UmbMemberGroupWorkspaceElement extends UmbLitElement implements UmbWorkspaceEntityElement {
+export class UmbMemberGroupWorkspaceElement extends UmbLitElement {
static styles = [
UUITextStyles,
css`
@@ -20,59 +20,26 @@ export class UmbMemberGroupWorkspaceElement extends UmbLitElement implements Umb
width: 100%;
height: 100%;
}
-
- #header {
- /* TODO: can this be applied from layout slot CSS? */
- margin: 0 var(--uui-size-layout-1);
- flex: 1 1 auto;
- }
`,
];
-
+
+ #workspaceContext = new UmbWorkspaceMemberGroupContext(this);
+ #element = new UmbMemberGroupWorkspaceEditElement();
+
@state()
- _unique?: string;
-
- @state()
- private _memberGroupName = '';
-
- #workspaceContext: UmbWorkspaceMemberGroupContext = new UmbWorkspaceMemberGroupContext(this);
-
- public load(entityKey: string) {
- this.#workspaceContext.load(entityKey);
- this._unique = entityKey;
- }
-
- public create() {
- this.#workspaceContext.createScaffold();
- }
-
- async connectedCallback() {
- super.connectedCallback();
-
- this.observe(this.#workspaceContext.data, (memberGroup) => {
- if (memberGroup && memberGroup.name !== this._memberGroupName) {
- this._memberGroupName = memberGroup.name ?? '';
- }
- });
- }
-
- // TODO. find a way where we don't have to do this for all Workspaces.
- private _handleInput(event: UUIInputEvent) {
- if (event instanceof UUIInputEvent) {
- const target = event.composedPath()[0] as UUIInputElement;
-
- if (typeof target?.value === 'string') {
- this.#workspaceContext.setName(target.value);
- }
- }
- }
+ _routes: any[] = [
+ {
+ path: 'edit/:key',
+ component: () => this.#element,
+ setup: (component: HTMLElement, info: IRoutingInfo) => {
+ const key = info.match.params.key;
+ this.#workspaceContext.load(key);
+ },
+ },
+ ];
render() {
- return html`
-
-
-
- `;
+ return html` `;
}
}