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(); + } +}