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 7eb0367957..f407672201 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 @@ -10,6 +10,7 @@ import { UmbChangeEvent, UmbSelectedEvent } from '@umbraco-cms/backoffice/event' import type { ManifestEntityUserPermission } from '@umbraco-cms/backoffice/extension-registry'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { FormControlMixin } from '@umbraco-cms/backoffice/external/uui'; +import { c } from 'node_modules/msw/lib/glossary-de6278a9.js'; @customElement('umb-input-document-granular-user-permission') export class UmbInputDocumentGranularUserPermissionElement extends FormControlMixin(UmbLitElement) { @@ -66,7 +67,7 @@ export class UmbInputDocumentGranularUserPermissionElement extends FormControlMi this.dispatchEvent(new UmbChangeEvent()); } - #addGranularPermission() { + async #addGranularPermission() { this.#documentPickerModalContext = this.#modalManagerContext?.open(this, UMB_DOCUMENT_PICKER_MODAL, { data: { hideTreeRoot: true, @@ -83,17 +84,24 @@ export class UmbInputDocumentGranularUserPermissionElement extends FormControlMi if (!unique) return; const documentItem = await this.#requestDocumentItem(unique); - const result = await this.#selectEntityUserPermissionsForDocument(documentItem); - this.#documentPickerModalContext?.reject(); - const permissionItem: UmbDocumentUserPermissionModel = { - $type: 'DocumentPermissionPresentationModel', - document: { id: unique }, - verbs: result, - }; + this.#selectEntityUserPermissionsForDocument(documentItem).then( + (result) => { + this.#documentPickerModalContext?.reject(); - this.permissions = [...this._permissions, permissionItem]; - this.dispatchEvent(new UmbChangeEvent()); + const permissionItem: UmbDocumentUserPermissionModel = { + $type: 'DocumentPermissionPresentationModel', + document: { id: unique }, + verbs: result, + }; + + this.permissions = [...this._permissions, permissionItem]; + this.dispatchEvent(new UmbChangeEvent()); + }, + () => { + this.#documentPickerModalContext?.reject(); + }, + ); }); } @@ -127,7 +135,7 @@ export class UmbInputDocumentGranularUserPermissionElement extends FormControlMi const value = await this.#entityUserPermissionModalContext?.onSubmit(); return value?.allowedVerbs; } catch (error) { - return allowedVerbs; + throw new Error(); } }