From bff2dc439bc7e250df093e7532e3a72a04461e9a Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 4 Oct 2023 20:54:17 +0200 Subject: [PATCH] set headline --- ...ty-user-permission-settings-modal.token.ts | 6 +++- .../permissions/permissions-modal.element.ts | 5 +++ ...-user-permission-settings-modal.element.ts | 34 +++++++++++++------ 3 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/entity-user-permission-settings-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/entity-user-permission-settings-modal.token.ts index 79895108e6..2638f4db07 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/entity-user-permission-settings-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/entity-user-permission-settings-modal.token.ts @@ -3,9 +3,13 @@ import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; export interface UmbEntityUserPermissionSettingsModalData { unique: string; entityType: string; + allowedPermissions: Array; + headline?: string; } -export type UmbEntityUserPermissionSettingsModalValue = undefined; +export type UmbEntityUserPermissionSettingsModalValue = { + allowedPermissions: Array; +}; export const UMB_ENTITY_USER_PERMISSION_MODAL = new UmbModalToken< UmbEntityUserPermissionSettingsModalData, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/permissions/permissions-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/permissions/permissions-modal.element.ts index 413eef0ecc..8e34d9322c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/permissions/permissions-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/permissions/permissions-modal.element.ts @@ -110,9 +110,13 @@ export class UmbPermissionsModalElement extends UmbLitElement { if (!id) throw new Error('Could not open permissions modal, no id was provided'); if (!this.data?.entityType) throw new Error('Could not open permissions modal, no entity type was provided'); + const userGroupRef = this._userGroupRefs.find((userGroup) => userGroup.id == id); + const modalContext = this.#modalManagerContext?.open(UMB_ENTITY_USER_PERMISSION_MODAL, { unique: id, entityType: this.data.entityType, + allowedPermissions: userGroupRef?.permissions || [], + headline: `Permissions for ${userGroupRef?.name}`, }); modalContext?.onSubmit().then((value) => { @@ -124,6 +128,7 @@ export class UmbPermissionsModalElement extends UmbLitElement { return html` + Permissions set for User Groups for document: ${this.data?.entityType}: ${this._userGroupRefs.map( (userGroup) => diff --git a/src/Umbraco.Web.UI.Client/src/packages/users/user-permission/modals/entity-user-permission-settings/entity-user-permission-settings-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/users/user-permission/modals/entity-user-permission-settings/entity-user-permission-settings-modal.element.ts index 2d3f176b70..f33ef8c34c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/users/user-permission/modals/entity-user-permission-settings/entity-user-permission-settings-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/users/user-permission/modals/entity-user-permission-settings/entity-user-permission-settings-modal.element.ts @@ -1,4 +1,4 @@ -import { html, customElement, property, state, css, nothing } from '@umbraco-cms/backoffice/external/lit'; +import { html, customElement, property, css, nothing, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbEntityUserPermissionSettingsModalData, @@ -13,14 +13,29 @@ export class UmbEntityUserPermissionSettingsModalElement extends UmbLitElement { @property({ attribute: false }) modalContext?: UmbModalContext; + #data?: UmbEntityUserPermissionSettingsModalData; + @property({ type: Object }) - data?: UmbEntityUserPermissionSettingsModalData; + get data(): UmbEntityUserPermissionSettingsModalData | undefined { + return this.#data; + } + set data(data: UmbEntityUserPermissionSettingsModalData | undefined) { + this._entityType = data?.entityType; + this._allowedPermissions = data?.allowedPermissions ?? []; + this._headline = data?.headline ?? this._headline; + } @state() - private _currentUserPermissionsForEntity: Array = []; + _headline: string = 'Set permissions'; + + @state() + _entityType?: string; + + @state() + _allowedPermissions: Array = []; private _handleConfirm() { - this.modalContext?.submit(); + this.modalContext?.submit({ allowedPermissions: this._allowedPermissions }); } private _handleCancel() { @@ -29,18 +44,17 @@ export class UmbEntityUserPermissionSettingsModalElement extends UmbLitElement { #onSelectedUserPermission(event: UmbSelectionChangeEvent) { const target = event.target as any; - const selection = target.selectedPermissions; + this._allowedPermissions = target.selectedPermissions; } render() { return html` - + - Permissions for ${this.data?.entityType} + Render name here - ${this.data?.entityType + ${this._entityType ? html` ` : nothing}