implement UMB_DATA_TYPE_WORKSPACE_CONTEXT

This commit is contained in:
Niels Lyngsø
2023-08-24 10:22:39 +02:00
parent 6dcdb8523e
commit f666a0d1e9
3 changed files with 12 additions and 14 deletions

View File

@@ -1,28 +1,28 @@
import { UmbDataTypeWorkspaceContext } from './data-type-workspace.context.js';
import { UMB_DATA_TYPE_WORKSPACE_CONTEXT } from './data-type-workspace.context.js';
import { UUIInputElement, UUIInputEvent, UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { css, html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { ManifestWorkspace } from '@umbraco-cms/backoffice/extension-registry';
import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
/**
* @element umb-data-type-workspace-editor
* @description - Element for displaying the Data Type Workspace edit route.
*/
@customElement('umb-data-type-workspace-editor')
export class UmbDataTypeWorkspaceEditorElement extends UmbLitElement {
@property()
@property({attribute: false})
manifest?: ManifestWorkspace;
@state()
private _dataTypeName = '';
#workspaceContext?: UmbDataTypeWorkspaceContext;
#workspaceContext?: typeof UMB_DATA_TYPE_WORKSPACE_CONTEXT.TYPE;
constructor() {
super();
this.consumeContext(UMB_WORKSPACE_CONTEXT, (workspaceContext) => {
this.#workspaceContext = workspaceContext as UmbDataTypeWorkspaceContext;
this.consumeContext(UMB_DATA_TYPE_WORKSPACE_CONTEXT, (workspaceContext) => {
this.#workspaceContext = workspaceContext;
this.#observeIsNew();
this.#observeName();
});

View File

@@ -1,4 +1,4 @@
import { UMB_DATA_TYPE_WORKSPACE_CONTEXT, UmbDataTypeWorkspaceContext } from '../../data-type-workspace.context.js';
import { UMB_DATA_TYPE_WORKSPACE_CONTEXT } from '../../data-type-workspace.context.js';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { css, html, nothing, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import {
@@ -36,7 +36,7 @@ export class UmbDataTypeDetailsWorkspaceViewEditElement
@state()
private _data: Array<any> = [];
private _workspaceContext?: UmbDataTypeWorkspaceContext;
private _workspaceContext?: typeof UMB_DATA_TYPE_WORKSPACE_CONTEXT.TYPE;
private _modalContext?: UmbModalManagerContext;
constructor() {

View File

@@ -1,7 +1,6 @@
import { UmbDataTypeWorkspaceContext } from '../../data-type-workspace.context.js';
import { UMB_DATA_TYPE_WORKSPACE_CONTEXT } from '../../data-type-workspace.context.js';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extension-registry';
@@ -14,14 +13,13 @@ export class UmbWorkspaceViewDataTypeInfoElement
@state()
_dataType?: DataTypeResponseModel;
private _workspaceContext?: UmbDataTypeWorkspaceContext;
private _workspaceContext?: typeof UMB_DATA_TYPE_WORKSPACE_CONTEXT.TYPE;
constructor() {
super();
// TODO: Figure out if this is the best way to consume the context or if it can be strongly typed with an UmbContextToken
this.consumeContext(UMB_WORKSPACE_CONTEXT, (dataTypeContext) => {
this._workspaceContext = dataTypeContext as UmbDataTypeWorkspaceContext;
this.consumeContext(UMB_DATA_TYPE_WORKSPACE_CONTEXT, (dataTypeContext) => {
this._workspaceContext = dataTypeContext;
this._observeDataType();
});
}