don't add to the permission list if the last modal is rejected

This commit is contained in:
Mads Rasmussen
2024-04-10 08:45:42 +02:00
parent c34790d409
commit ee2f393030

View File

@@ -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();
}
}