From 8374d0d04e6cd4906bb8a5b6f0bb980afa9fb04b Mon Sep 17 00:00:00 2001 From: Nathan Woulfe Date: Wed, 8 Feb 2023 15:16:01 +1000 Subject: [PATCH] scaffold member tree/context/workspace etc with data/handlers as no API exists yet --- .../workspace/member-workspace.context.ts | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts new file mode 100644 index 0000000000..d010b9edd0 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/workspace/member-workspace.context.ts @@ -0,0 +1,33 @@ +import { UmbEntityWorkspaceManager } from '../../../shared/components/workspace/workspace-context/entity-manager-controller'; +import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context'; +import { UmbWorkspaceEntityContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface'; +import { UMB_MEMBER_DETAIL_STORE_CONTEXT_TOKEN } from '../member.detail.store'; +import type { MemberDetails } from '@umbraco-cms/models'; + +export class UmbWorkspaceMemberContext + extends UmbWorkspaceContext + implements UmbWorkspaceEntityContextInterface +{ + #manager = new UmbEntityWorkspaceManager(this._host, 'member', UMB_MEMBER_DETAIL_STORE_CONTEXT_TOKEN); + + public readonly data = this.#manager.state.asObservable(); + public readonly name = this.#manager.state.getObservablePart((state) => state?.name); + + setPropertyValue(alias: string, value: string) { + return; + } + + setName(name: string) { + this.#manager.state.update({name}); + } + + getEntityType = this.#manager.getEntityType; + getUnique = this.#manager.getEntityKey; + getEntityKey = this.#manager.getEntityKey; + getStore = this.#manager.getStore; + getData = this.#manager.getData; + load = this.#manager.load; + create = this.#manager.create; + save = this.#manager.save; + destroy = this.#manager.destroy; +}