From d72f2bf46a76a429eb2de386f723184d765dde3e Mon Sep 17 00:00:00 2001 From: JesmoDev <26099018+JesmoDev@users.noreply.github.com> Date: Tue, 12 Mar 2024 14:03:53 +0100 Subject: [PATCH] align workspace context with users --- .../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 4cb8771d30..dadf24547c 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 @@ -287,17 +287,25 @@ export class UmbMemberWorkspaceContext } async save() { - const data = this.getData(); - if (!data) throw new Error('No data to save'); + if (!this.#currentData.value) throw new Error('Data is missing'); + if (!this.#currentData.value.unique) throw new Error('Unique is missing'); + + let newData = undefined; if (this.getIsNew()) { - await this.repository.create(data); + const { data } = await this.repository.create(this.#currentData.value); + newData = data; } else { - await this.repository.save(data); + const { data } = await this.repository.save(this.#currentData.value); + newData = data; } - this.setIsNew(false); - this.workspaceComplete(data); + if (newData) { + this.#persistedData.setValue(newData); + this.#currentData.setValue(newData); + this.setIsNew(false); + this.workspaceComplete(newData); + } } async delete() {