fix block type workspace context token

This commit is contained in:
Niels Lyngsø
2024-01-04 11:59:12 +01:00
parent 1da1760d29
commit abef7e9d0f
3 changed files with 6 additions and 46 deletions

View File

@@ -1,10 +1,7 @@
import { UmbBlockTypeBase } from '@umbraco-cms/backoffice/block';
import { UmbBlockTypeWorkspaceContext } from '../../../block-type/workspace/block-type-workspace.context.js';
import { css, html, customElement, state, ifDefined } from '@umbraco-cms/backoffice/external/lit';
import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry';
import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-block-grid-type-workspace-view')
export class UmbBlockTypeGridWorkspaceViewSettingsElement extends UmbLitElement implements UmbWorkspaceViewElement {
@@ -13,47 +10,6 @@ export class UmbBlockTypeGridWorkspaceViewSettingsElement extends UmbLitElement
@state()
private _showSizeOptions = false;
@state()
private _backgroundColor?: string;
@state()
private _contentElementTypeKey?: string;
@state()
private _editorSize?: string;
@state()
private _iconColor?: string;
@state()
private _label?: string;
@state()
private _settingsElementTypeKey?: string;
@state()
private _stylesheet?: string;
@state()
private _view?: string;
constructor() {
super();
this.consumeContext(UMB_WORKSPACE_CONTEXT, (instance) => {
const workspace = instance as UmbBlockTypeWorkspaceContext;
this.observe(workspace.data, (data) => {
this._backgroundColor = data?.backgroundColor;
this._contentElementTypeKey = data?.contentElementTypeKey;
this._editorSize = data?.editorSize;
this._iconColor = data?.iconColor;
this._label = data?.label;
this._settingsElementTypeKey = data?.settingsElementTypeKey;
this._stylesheet = data?.stylesheet;
this._view = data?.view;
});
});
}
render() {
return html`
<uui-box headline=${this.localize.term('general_general')}>

View File

@@ -15,6 +15,9 @@ export class UmbBlockTypeWorkspaceContext<BlockTypeData extends UmbBlockTypeBase
extends UmbEditableWorkspaceContextBase<never, BlockTypeData>
implements UmbInvariantableWorkspaceContextInterface
{
// Just for context token safety:
public readonly IS_BLOCK_TYPE_WORKSPACE_CONTEXT = true;
#entityType: string;
#data = new UmbObjectState<BlockTypeData | undefined>(undefined);
readonly data = this.#data.asObservable();
@@ -122,5 +125,5 @@ export const UMB_BLOCK_TYPE_WORKSPACE_CONTEXT = new UmbContextToken<
>(
'UmbWorkspaceContext',
undefined,
(context): context is UmbBlockTypeWorkspaceContext => context.getEntityType?.() === 'data-type',
(context): context is UmbBlockTypeWorkspaceContext => (context as any).IS_BLOCK_TYPE_WORKSPACE_CONTEXT,
);

View File

@@ -1 +1,2 @@
export * from './block-type-workspace.element.js';
export * from './block-type-workspace.context.js';