From 5aff2c99dadd7fd061ce8d22882f9ff33d7e3833 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 6 Feb 2023 16:39:58 +0100 Subject: [PATCH] save do not require attribute for isNew --- .../workspace/document-workspace.context.ts | 15 +++++++++++---- .../workspace-entity-context.interface.ts | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts index 9c3a744c2c..14e05af6b0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts @@ -12,6 +12,7 @@ export class UmbDocumentWorkspaceContext extends UmbWorkspaceContext implements UmbWorkspaceEntityContextInterface { + #isNew = false; #host: UmbControllerHostInterface; #templateDetailRepo: UmbDocumentRepository; @@ -84,6 +85,7 @@ export class UmbDocumentWorkspaceContext async load(entityKey: string) { const { data } = await this.#templateDetailRepo.requestDetails(entityKey); if (data) { + this.#isNew = false; this.#data.next(data); } } @@ -91,14 +93,19 @@ export class UmbDocumentWorkspaceContext async createScaffold(parentKey: string | null) { const { data } = await this.#templateDetailRepo.createDetailsScaffold(parentKey); if (!data) return; + this.#isNew = true; this.#data.next(data); } - async save(isNew: boolean) { + async save() { if (!this.#data.value) return; - isNew - ? this.#templateDetailRepo.createDetail(this.#data.value) - : this.#templateDetailRepo.saveDetail(this.#data.value); + if (this.#isNew) { + await this.#templateDetailRepo.createDetail(this.#data.value); + } else { + await this.#templateDetailRepo.saveDetail(this.#data.value); + } + // If it went well, then its not new anymore?. + this.#isNew = false; } async delete(key: string) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-entity-context.interface.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-entity-context.interface.ts index 0fff9b7f66..5d74974e45 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-entity-context.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-entity-context.interface.ts @@ -11,5 +11,5 @@ export interface UmbWorkspaceEntityContextInterface extends UmbWork setPropertyValue(alias: string, value: unknown): void; - save(isNew: boolean): Promise; + save(): Promise; }