From 20580ff1130b4ac02eb2ec2c1e945764ef435b07 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 8 Mar 2023 20:55:24 +0100 Subject: [PATCH] register user picker --- .../components/input-user/input-user.element.ts | 3 ++- .../src/backoffice/users/users/manifests.ts | 3 ++- .../src/backoffice/users/users/modals/manifests.ts | 12 ++++++++++++ .../users/users/modals/user-picker/index.ts | 8 ++++++++ .../modals/user-picker/user-picker-modal.element.ts | 8 +++++--- 5 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts index cb9e22bd42..d2ce349ff7 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/input-user/input-user.element.ts @@ -4,6 +4,7 @@ import { customElement, state } from 'lit/decorators.js'; import { UmbInputListBase } from '../input-list-base/input-list-base'; import { UmbUserStore, UMB_USER_STORE_CONTEXT_TOKEN } from '../../../users/users/user.store'; import type { UserEntity } from '@umbraco-cms/models'; +import { UMB_USER_PICKER_MODAL_TOKEN } from 'src/backoffice/users/users/modals/user-picker'; @customElement('umb-input-user') export class UmbPickerUserElement extends UmbInputListBase { @@ -38,7 +39,7 @@ export class UmbPickerUserElement extends UmbInputListBase { connectedCallback(): void { super.connectedCallback(); - this.pickerLayout = 'umb-picker-layout-user'; + this.pickerToken = UMB_USER_PICKER_MODAL_TOKEN; this.consumeContext(UMB_USER_STORE_CONTEXT_TOKEN, (userStore) => { this._userStore = userStore; this._observeUser(); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/manifests.ts index ea4ed7ce8a..d979a95281 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/manifests.ts @@ -1,3 +1,4 @@ import { manifests as workspaceManifests } from './workspace/manifests'; +import { manifests as modalManifests } from './modals/manifests'; -export const manifests = [...workspaceManifests]; +export const manifests = [...workspaceManifests, ...modalManifests]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/manifests.ts new file mode 100644 index 0000000000..a73490d0c1 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/manifests.ts @@ -0,0 +1,12 @@ +import type { ManifestModal } from '@umbraco-cms/extensions-registry'; + +const modals: Array = [ + { + type: 'modal', + alias: 'Umb.Modal.UserPicker', + name: 'User Picker Modal', + loader: () => import('./user-picker/user-picker-modal.element'), + }, +]; + +export const manifests = [...modals]; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/index.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/index.ts new file mode 100644 index 0000000000..8fa7b90359 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/index.ts @@ -0,0 +1,8 @@ +import type { UserDetails } from '@umbraco-cms/models'; +import { UmbModalToken } from 'libs/modal'; +import type { UmbPickerModalData } from 'libs/modal/layouts/modal-layout-picker-base'; + +export const UMB_USER_PICKER_MODAL_TOKEN = new UmbModalToken>('Umb.Modal.UserPicker', { + type: 'sidebar', + size: 'small', +}); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/user-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/user-picker-modal.element.ts index 074cd24bca..52ad865a0b 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/user-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/modals/user-picker/user-picker-modal.element.ts @@ -5,8 +5,8 @@ import { UmbModalLayoutPickerBase } from '../../../../../../libs/modal/layouts/m import { UmbUserStore, UMB_USER_STORE_CONTEXT_TOKEN } from '../../user.store'; import type { UserDetails } from '@umbraco-cms/models'; -@customElement('umb-picker-layout-user') -export class UmbPickerLayoutUserElement extends UmbModalLayoutPickerBase { +@customElement('umb-user-picker-modal') +export class UmbUserPickerModalElement extends UmbModalLayoutPickerBase { static styles = [ UUITextStyles, css` @@ -105,8 +105,10 @@ export class UmbPickerLayoutUserElement extends UmbModalLayoutPickerBase