From 16d825a502a6637fcab3bd47fbb615bbf0323fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Wed, 13 Nov 2024 14:58:47 +0100 Subject: [PATCH] Feature: close content detail workspace when complete (#17498) * make sure to close the modal when submit was completed * rename to _closeModal * remove comments --- .../workspace/content-detail-workspace-base.ts | 3 +++ .../submittable-workspace-context-base.ts | 15 +++++++++------ .../workspace/document-workspace.context.ts | 2 ++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content/workspace/content-detail-workspace-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content/workspace/content-detail-workspace-base.ts index 3ae802cc25..d4504f8ee1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/content/workspace/content-detail-workspace-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/content/workspace/content-detail-workspace-base.ts @@ -573,6 +573,8 @@ export abstract class UmbContentDetailWorkspaceContextBase< }); eventContext.dispatchEvent(event); this.setIsNew(false); + + this._closeModal(); } async #update(variantIds: Array, saveData: DetailModelType) { @@ -604,6 +606,7 @@ export abstract class UmbContentDetailWorkspaceContextBase< }); eventContext.dispatchEvent(event); + this._closeModal(); } abstract getContentTypeUnique(): string | undefined; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/submittable/submittable-workspace-context-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/submittable/submittable-workspace-context-base.ts index aa0b8c46d0..1293abbc46 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/submittable/submittable-workspace-context-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/submittable/submittable-workspace-context-base.ts @@ -124,12 +124,6 @@ export abstract class UmbSubmittableWorkspaceContextBase this.#submitPromise = undefined; this.#submitResolve = undefined; this.#submitReject = undefined; - - // If we do not want to close a modal when saving something with errors, then move this part down to #completeSubmit method. [NL] - if (this.modalContext) { - this.modalContext?.setValue(this.getData()); - this.modalContext?.submit(); - } }; #completeSubmit = () => { @@ -138,8 +132,17 @@ export abstract class UmbSubmittableWorkspaceContextBase // Calling reset on the validation context here. [NL] // TODO: Capture the validation messages on open, and then reset to that. //this.validation.reset(); + + this._closeModal(); }; + protected _closeModal() { + if (this.modalContext) { + this.modalContext?.setValue(this.getData()); + this.modalContext?.submit(); + } + } + //abstract getIsDirty(): Promise; abstract getUnique(): string | null | undefined; abstract getEntityType(): string; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts index b9ef2f99dc..44afaabd8e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts @@ -334,6 +334,8 @@ export class UmbDocumentWorkspaceContext }); eventContext.dispatchEvent(event); + + this._closeModal(); } }