From c4d08b92b1c2be5f90d43b2fae73dba20b9c7d57 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 5 Apr 2024 18:32:20 +0200 Subject: [PATCH] add entity context --- .../core/entity/entity.context-token.ts | 4 ++ .../packages/core/entity/entity.context.ts | 42 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context-token.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context-token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context-token.ts new file mode 100644 index 0000000000..252e6ef906 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context-token.ts @@ -0,0 +1,4 @@ +import type { UmbEntityContext } from './entity.context.js'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; + +export const UMB_ENTITY_CONTEXT = new UmbContextToken('UmbEntityContext'); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts new file mode 100644 index 0000000000..f0b3620555 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/entity/entity.context.ts @@ -0,0 +1,42 @@ +import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; +import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; +import { UmbStringState } from '@umbraco-cms/backoffice/observable-api'; + +/** + * UmbEntityContext + * @export + * @class UmbEntityContext + * @extends {UmbContextBase} + */ +export class UmbEntityContext extends UmbContextBase { + #entityType = new UmbStringState(undefined); + public readonly entityType = this.#entityType.asObservable(); + + #unique = new UmbStringState(undefined); + public readonly unique = this.#unique.asObservable(); + + /** + * Creates an instance of UmbEntityContext. + * @param {UmbControllerHost} host + * @memberof UmbEntityContext + */ + constructor(host: UmbControllerHost) { + super(host, 'entity'); + } + + setEntityType(entityType: string | undefined) { + this.#entityType.setValue(entityType); + } + + getEntityType() { + return this.#entityType.getValue(); + } + + setUnique(unique: string | null | undefined) { + this.#unique.setValue(unique); + } + + getUnique() { + return this.#unique.getValue(); + } +}