diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-manager/block-manager.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-manager/block-manager.context.ts index 1a8a5240bd..3aeee917e8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-manager/block-manager.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-manager/block-manager.context.ts @@ -38,7 +38,7 @@ export class UmbBlockManagerContext< } constructor(host: UmbControllerHost) { - super(host, UMB_BLOCK_MANAGER_CONTEXT_TOKEN); + super(host, UMB_BLOCK_MANAGER_CONTEXT); } blockTypeOf(contentElementTypeKey: string) { @@ -57,6 +57,6 @@ export class UmbBlockManagerContext< } } -export const UMB_BLOCK_MANAGER_CONTEXT_TOKEN = new UmbContextToken( +export const UMB_BLOCK_MANAGER_CONTEXT = new UmbContextToken( 'UmbBlockManagerContext', ); diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-manager/block.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-manager/block.context.ts new file mode 100644 index 0000000000..92d8c415e9 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-manager/block.context.ts @@ -0,0 +1,30 @@ +import type { UmbBlockTypeBase } from '../block-type/types.js'; +import type { UmbBlockLayoutBaseModel, UmbBlockDataType } from './types.js'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UmbObjectState } from '@umbraco-cms/backoffice/observable-api'; + +export class UmbBlockContext< + BlockType extends UmbBlockTypeBase = UmbBlockTypeBase, + BlockLayoutType extends UmbBlockLayoutBaseModel = UmbBlockLayoutBaseModel, +> extends UmbContextBase { + // + #config = new UmbObjectState(undefined); + public readonly config = this.#config.asObservable(); + + #layout = new UmbObjectState(undefined); + public readonly layout = this.#layout.asObservable(); + + #content = new UmbObjectState(undefined); + public readonly content = this.#content.asObservable(); + + #setting = new UmbObjectState(undefined); + public readonly setting = this.#setting.asObservable(); + + constructor(host: UmbControllerHost) { + super(host, UMB_BLOCK_CONTEXT); + } +} + +export const UMB_BLOCK_CONTEXT = new UmbContextToken('UmbBlockContext');