From 9c876ee7990de65cedb649d0641680b69c940798 Mon Sep 17 00:00:00 2001 From: JesmoDev <26099018+JesmoDev@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:17:47 +0100 Subject: [PATCH] navigate to member management after deleting member --- .../workspace/member-workspace.context.ts | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/member-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/member-workspace.context.ts index dadf24547c..3202306a63 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/member-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member/workspace/member-workspace.context.ts @@ -114,14 +114,22 @@ export class UmbMemberWorkspaceContext async load(unique: string) { this.resetState(); this.#getDataPromise = this.repository.requestByUnique(unique); - const { data } = await this.#getDataPromise; - if (!data) return undefined; + type GetDataType = Awaited>; + const { data, asObservable } = (await this.#getDataPromise) as GetDataType; - this.setIsNew(false); - this.#persistedData.setValue(data); - this.#currentData.setValue(data); + if (data) { + this.setIsNew(false); + this.#persistedData.update(data); + this.#currentData.update(data); + } - return data || undefined; + this.observe(asObservable(), (member) => this.#onMemberStoreChange(member), 'umbMemberStoreObserver'); + } + + #onMemberStoreChange(member: EntityType | undefined) { + if (!member) { + history.pushState(null, '', 'section/member-management'); + } } async create(memberTypeUnique: string) {