implement for other workspaces

This commit is contained in:
Niels Lyngsø
2023-07-06 13:08:47 +02:00
parent ad9d097454
commit 43f14251f8
7 changed files with 51 additions and 15 deletions

View File

@@ -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')!
);
},
},
{

View File

@@ -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')!
);
},
},
{

View File

@@ -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')!
);
},
},
{

View File

@@ -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`<umb-router-slot
.routes=${this._routes}
@init=${(event: UmbRouterSlotInitEvent) => {
this.#routerPath = event.target.absoluteRouterPath;
}}></umb-router-slot>`;
return html`<umb-router-slot .routes=${this._routes}></umb-router-slot>`;
}
static styles = [UUITextStyles, css``];

View File

@@ -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')!
);
},
},
];

View File

@@ -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`<umb-router-slot
.routes=${this._routes}
@init=${(event: UmbRouterSlotInitEvent) => {
this.#routerPath = event.target.absoluteRouterPath;
}}></umb-router-slot>`;
return html`<umb-router-slot .routes=${this._routes}></umb-router-slot>`;
}
}

View File

@@ -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')!
);
},
},
{