From 056434fa277239fe1910d2e4615858b2e9f81bb2 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 26 Mar 2025 10:32:57 +0100 Subject: [PATCH] fix preset logic (#18815) --- .../input-document-granular-user-permission.element.ts | 9 +++++---- .../entity-user-permission-settings-modal.element.ts | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/input-document-granular-user-permission/input-document-granular-user-permission.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/input-document-granular-user-permission/input-document-granular-user-permission.element.ts index e66458cd5c..f2d34b04a3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/input-document-granular-user-permission/input-document-granular-user-permission.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/user-permissions/input-document-granular-user-permission/input-document-granular-user-permission.element.ts @@ -126,6 +126,7 @@ export class UmbInputDocumentGranularUserPermissionElement extends UUIFormContro const name = item.variants[0]?.name; const headline = name ? `Permissions for ${name}` : 'Permissions'; const fallbackVerbs = this.#getFallbackPermissionVerbsForEntityType(item.entityType); + const value = allowedVerbs.length > 0 ? { allowedVerbs } : undefined; this.#entityUserPermissionModalContext = this.#modalManagerContext?.open(this, UMB_ENTITY_USER_PERMISSION_MODAL, { data: { unique: item.unique, @@ -135,16 +136,16 @@ export class UmbInputDocumentGranularUserPermissionElement extends UUIFormContro allowedVerbs: fallbackVerbs, }, }, - value: { - allowedVerbs: allowedVerbs, - }, + value, }); try { + // When the modal is submitted we return the new value from the modal const value = await this.#entityUserPermissionModalContext?.onSubmit(); return value?.allowedVerbs; } catch { - throw new Error(); + // When the modal is rejected we return the current value + return allowedVerbs; } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.element.ts index a01df5aab1..f1c60d67af 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.element.ts @@ -31,8 +31,8 @@ export class UmbEntityUserPermissionSettingsModalElement extends UmbModalBaseEle override connectedCallback(): void { super.connectedCallback(); - if (this._preset?.allowedVerbs) { - this.updateValue({ allowedVerbs: this._preset?.allowedVerbs }); + if (this._preset?.allowedVerbs && !this.value?.allowedVerbs) { + this.updateValue({ allowedVerbs: this._preset.allowedVerbs }); } }