use UmbWorkspaceEditorViewExtensionElement

This commit is contained in:
Niels Lyngsø
2023-04-27 15:57:33 +02:00
parent 1eafa9734d
commit 1c2814764c
17 changed files with 90 additions and 46 deletions

View File

@@ -1,5 +1,9 @@
export * from './property-editor-ui-extension-element.interface';
export * from './tree-item-extension-element.interface';
export * from './section-extension-element.interface';
export * from './section-view-extension-element.interface';
export * from './dashboard-extension-element.interface';
export * from './external-login-provider-extension-element.interface';
export * from './modal-extension-element.interface';
export * from './property-editor-ui-extension-element.interface';
export * from './section-extension-element.interface';
export * from './section-sidebar-app-extension-element.interface';
export * from './section-view-extension-element.interface';
export * from './tree-item-extension-element.interface';
export * from './workspace-editor-view-extension-element.interface';

View File

@@ -0,0 +1,8 @@
import type { UmbModalHandler } from '@umbraco-cms/backoffice/modal';
export interface UmbModalExtensionElement<UmbModalData extends object = object, UmbModalResult = unknown>
extends HTMLElement {
modalHandler?: UmbModalHandler<UmbModalData, UmbModalResult>;
data?: UmbModalData;
}

View File

@@ -10,9 +10,13 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { PropertyTypeContainerResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api';
import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api';
import type { UmbRoute } from '@umbraco-cms/backoffice/router';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-document-type-workspace-view-edit')
export class UmbDocumentTypeWorkspaceViewEditElement extends UmbLitElement {
export class UmbDocumentTypeWorkspaceViewEditElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
//private _hasRootProperties = false;
private _hasRootGroups = false;

View File

@@ -5,9 +5,13 @@ import type { UUIToggleElement } from '@umbraco-ui/uui';
import { UmbDocumentTypeWorkspaceContext } from '../../document-type-workspace.context';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-document-type-workspace-view-details')
export class UmbDocumentTypeWorkspaceViewDetailsElement extends UmbLitElement {
export class UmbDocumentTypeWorkspaceViewDetailsElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
#workspaceContext?: UmbDocumentTypeWorkspaceContext;
@state()

View File

@@ -6,9 +6,13 @@ import { UmbDocumentTypeWorkspaceContext } from '../../document-type-workspace.c
import type { UmbInputDocumentTypePickerElement } from '../../../../../../backoffice/shared/components/input-document-type-picker/input-document-type-picker.element';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-document-type-workspace-view-structure')
export class UmbDocumentTypeWorkspaceViewStructureElement extends UmbLitElement {
export class UmbDocumentTypeWorkspaceViewStructureElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
#workspaceContext?: UmbDocumentTypeWorkspaceContext;
@state()

View File

@@ -5,9 +5,13 @@ import { UmbDocumentTypeWorkspaceContext } from '../../document-type-workspace.c
import type { UmbInputTemplateElement } from '../../../../../../backoffice/shared/components/input-template/input-template.element';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-document-type-workspace-view-templates')
export class UmbDocumentTypeWorkspaceViewTemplatesElement extends UmbLitElement {
export class UmbDocumentTypeWorkspaceViewTemplatesElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
#workspaceContext?: UmbDocumentTypeWorkspaceContext;
@state()

View File

@@ -9,9 +9,13 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { PropertyTypeContainerResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api';
import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api';
import { UmbRoute } from '@umbraco-cms/backoffice/router';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-document-workspace-view-edit')
export class UmbDocumentWorkspaceViewEditElement extends UmbLitElement {
export class UmbDocumentWorkspaceViewEditElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
//private _hasRootProperties = false;
private _hasRootGroups = false;

View File

@@ -2,15 +2,14 @@ import { css, html } from 'lit';
import { UUITextStyles } from '@umbraco-ui/uui-css/lib';
import { customElement } from 'lit/decorators.js';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-media-edit-workspace-view')
export class UmbMediaEditWorkspaceViewElement extends UmbLitElement {
export class UmbMediaEditWorkspaceViewElement extends UmbLitElement implements UmbWorkspaceEditorViewExtensionElement {
render() {
return html`<div>Render Media Props</div>`;
}
static styles = [UUITextStyles, css``];
}

View File

@@ -2,15 +2,14 @@ import { css, html } from 'lit';
import { UUITextStyles } from '@umbraco-ui/uui-css/lib';
import { customElement } from 'lit/decorators.js';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-media-info-workspace-view')
export class UmbMediaInfoWorkspaceViewElement extends UmbLitElement {
export class UmbMediaInfoWorkspaceViewElement extends UmbLitElement implements UmbWorkspaceEditorViewExtensionElement {
render() {
return html`<div>Media info</div>`;
}
static styles = [UUITextStyles, css``];
}

View File

@@ -1,12 +1,16 @@
import { html } from 'lit';
import { customElement, state } from 'lit/decorators.js';
import type { UmbRoute } from '@umbraco-cms/backoffice/router';
import type { ManifestTree, ManifestWorkspace } from '@umbraco-cms/backoffice/extensions-registry';
import type {
ManifestTree,
ManifestWorkspace,
UmbSectionViewExtensionElement,
} from '@umbraco-cms/backoffice/extensions-registry';
import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
@customElement('umb-created-packages-section-view')
export class UmbCreatedPackagesSectionViewElement extends UmbLitElement {
export class UmbCreatedPackagesSectionViewElement extends UmbLitElement implements UmbSectionViewExtensionElement {
@state()
private _routes: UmbRoute[] = [];

View File

@@ -8,9 +8,10 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import type { UmbPackageWithMigrationStatus } from '@umbraco-cms/backoffice/models';
import './installed-packages-section-view-item.element';
import { UmbSectionViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-installed-packages-section-view')
export class UmbInstalledPackagesSectionViewElement extends UmbLitElement {
export class UmbInstalledPackagesSectionViewElement extends UmbLitElement implements UmbSectionViewExtensionElement {
@state()
private _installedPackages: UmbPackageWithMigrationStatus[] = [];

View File

@@ -14,11 +14,13 @@ import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api';
import '../../../../../shared/property-editors/shared/property-editor-config/property-editor-config.element';
import '../../../../../shared/components/ref-property-editor-ui/ref-property-editor-ui.element';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-data-type-details-workspace-view')
export class UmbDataTypeDetailsWorkspaceViewEditElement extends UmbLitElement {
export class UmbDataTypeDetailsWorkspaceViewEditElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
@state()
_dataType?: DataTypeResponseModel;
@@ -162,7 +164,7 @@ export class UmbDataTypeDetailsWorkspaceViewEditElement extends UmbLitElement {
: nothing}
`;
}
static styles = [
UUITextStyles,
css`

View File

@@ -6,11 +6,13 @@ import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-ap
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-workspace-view-data-type-info')
export class UmbWorkspaceViewDataTypeInfoElement extends UmbLitElement {
export class UmbWorkspaceViewDataTypeInfoElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
@state()
_dataType?: DataTypeResponseModel;
@@ -59,7 +61,7 @@ export class UmbWorkspaceViewDataTypeInfoElement extends UmbLitElement {
private _renderReferences() {
return html` <uui-box headline="References"> </uui-box> `;
}
static styles = [
UUITextStyles,
css`

View File

@@ -10,11 +10,13 @@ import { UmbChangeEvent } from '@umbraco-cms/backoffice/events';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-language-details-workspace-view')
export class UmbLanguageDetailsWorkspaceViewElement extends UmbLitElement {
export class UmbLanguageDetailsWorkspaceViewElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
@state()
_language?: LanguageResponseModel;
@@ -185,7 +187,7 @@ export class UmbLanguageDetailsWorkspaceViewElement extends UmbLitElement {
</uui-box>
`;
}
static styles = [
UUITextStyles,
css`

View File

@@ -7,9 +7,13 @@ import { UmbRelationTypeWorkspaceContext } from '../../relation-type-workspace.c
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import type { RelationTypeResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-relation-type-workspace-view-relation-type')
export class UmbRelationTypeWorkspaceViewRelationTypeElement extends UmbLitElement {
export class UmbRelationTypeWorkspaceViewRelationTypeElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
@state()
private _relationType?: RelationTypeResponseModel;

View File

@@ -4,11 +4,13 @@ import { customElement, state } from 'lit/decorators.js';
import { UmbTableColumn, UmbTableConfig } from '../../../../../shared/components/table';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { RelationResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-workspace-view-relation-type-relation')
export class UmbWorkspaceViewRelationTypeRelationElement extends UmbLitElement {
export class UmbWorkspaceViewRelationTypeRelationElement
extends UmbLitElement
implements UmbWorkspaceEditorViewExtensionElement
{
//TODO Use real data
@state()
_relations: Array<RelationResponseModel> = MockData;
@@ -68,7 +70,7 @@ export class UmbWorkspaceViewRelationTypeRelationElement extends UmbLitElement {
<umb-table .config=${this._tableConfig} .columns=${this._tableColumns} .items=${this._tableItems}></umb-table>
</uui-box>`;
}
static styles = [
UUITextStyles,
css`

View File

@@ -1,18 +1,15 @@
import { customElement, property } from 'lit/decorators.js';
import { property } from 'lit/decorators.js';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UmbModalHandler } from '@umbraco-cms/backoffice/modal';
import type { UmbModalExtensionElement } from '@umbraco-cms/backoffice/extensions-registry';
@customElement('umb-modal-element')
export class UmbModalBaseElement<UmbModalData extends object = object, UmbModalResult = unknown> extends UmbLitElement {
export abstract class UmbModalBaseElement<UmbModalData extends object = object, UmbModalResult = unknown>
extends UmbLitElement
implements UmbModalExtensionElement<UmbModalData, UmbModalResult>
{
@property({ attribute: false })
modalHandler?: UmbModalHandler<UmbModalData, UmbModalResult>;
@property({ type: Object, attribute: false })
data?: UmbModalData;
}
declare global {
interface HTMLElementTagNameMap {
'umb-modal-element': UmbModalBaseElement;
}
}