don't add to the permission list if the last modal is rejected
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user