diff --git a/src/Umbraco.Web.UI.Client/src/auth/components/input-user/input-user.element.ts b/src/Umbraco.Web.UI.Client/src/auth/components/input-user/input-user.element.ts index dd99d8520d..bc8b0fd861 100644 --- a/src/Umbraco.Web.UI.Client/src/auth/components/input-user/input-user.element.ts +++ b/src/Umbraco.Web.UI.Client/src/auth/components/input-user/input-user.element.ts @@ -3,7 +3,7 @@ import { css, html, nothing, PropertyValueMap } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbInputListBase } from '../../../backoffice/shared/components/input-list-base/input-list-base'; import type { UserEntity } from '@umbraco-cms/models'; -import { UmbUserStore } from 'src/backoffice/users/users/user.store'; +import { UmbUserStore, UMB_USER_STORE_CONTEXT_ALIAS } from 'src/backoffice/users/users/user.store'; @customElement('umb-input-user') export class UmbPickerUserElement extends UmbInputListBase { @@ -39,7 +39,7 @@ export class UmbPickerUserElement extends UmbInputListBase { connectedCallback(): void { super.connectedCallback(); this.pickerLayout = 'umb-picker-layout-user'; - this.consumeContext('umbUserStore', (userStore: UmbUserStore) => { + this.consumeContext(UMB_USER_STORE_CONTEXT_ALIAS, (userStore) => { this._userStore = userStore; this._observeUser(); }); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts index f812503b01..e6a75ce074 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts @@ -4,7 +4,7 @@ import { css, html } from 'lit'; import { UmbModalService, UMB_MODAL_SERVICE_CONTEXT_ALIAS } from '../core/modal'; import { UmbNotificationService, UMB_NOTIFICATION_SERVICE_CONTEXT_ALIAS } from '../core/notification'; -import { UmbUserStore } from './users/users/user.store'; +import { UmbUserStore, UMB_USER_STORE_CONTEXT_ALIAS } from './users/users/user.store'; import { UmbUserGroupStore } from './users/user-groups/user-group.store'; import { UmbCurrentUserStore, UMB_CURRENT_USER_STORE_CONTEXT_ALIAS } from './users/current-user/current-user.store'; import { UmbCurrentUserHistoryStore } from './users/current-user/current-user-history.store'; @@ -67,7 +67,7 @@ export class UmbBackofficeElement extends UmbLitElement { this.provideContext(UMB_DOCUMENT_TYPE_STORE_CONTEXT_ALIAS, new UmbDocumentTypeStore(this)); this.provideContext(UMB_MEDIA_TYPE_STORE_CONTEXT_ALIAS, new UmbMediaTypeStore(this)); this.provideContext(UMB_MEMBER_TYPE_STORE_CONTEXT_ALIAS, new UmbMemberTypeStore(this)); - this.provideContext('umbUserStore', new UmbUserStore(this)); + this.provideContext(UMB_USER_STORE_CONTEXT_ALIAS, new UmbUserStore(this)); this.provideContext('umbUserGroupStore', new UmbUserGroupStore(this)); this.provideContext('umbMemberGroupStore', new UmbMemberGroupStore(this)); this.provideContext('umbSectionStore', new UmbSectionStore()); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.context.ts index 863df3b4ae..c82178cfca 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.context.ts @@ -1,4 +1,5 @@ import { UmbWorkspaceContentContext } from '../../../shared/components/workspace/workspace-content/workspace-content.context'; +import { UMB_USER_STORE_CONTEXT_ALIAS } from '../../users/user.store'; import type { UmbUserGroupStore, UmbUserGroupStoreItemType } from 'src/backoffice/users/user-groups/user-group.store'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; @@ -19,11 +20,10 @@ export class UmbWorkspaceUserGroupContext extends UmbWorkspaceContentContext< UmbUserGroupStore > { constructor(host: UmbControllerHostInterface) { - super(host, DefaultDataTypeData, 'umbUserStore', 'userGroup'); + super(host, DefaultDataTypeData, UMB_USER_STORE_CONTEXT_ALIAS.toString(), 'userGroup'); } - public setPropertyValue(alias: string, value: unknown) { - throw new Error("setPropertyValue is not implemented for UmbWorkspaceUserGroupContext") + throw new Error('setPropertyValue is not implemented for UmbWorkspaceUserGroupContext'); } } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.element.ts index 028738c485..def60d37d1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/workspace/user-group-workspace.element.ts @@ -7,7 +7,7 @@ import { distinctUntilChanged } from 'rxjs'; import { UmbWorkspaceUserGroupContext } from './user-group-workspace.context'; import type { ManifestWorkspaceAction, UserGroupDetails } from '@umbraco-cms/models'; import { umbExtensionsRegistry } from '@umbraco-cms/extensions-registry'; -import type { UmbUserStore } from 'src/backoffice/users/users/user.store'; +import { UmbUserStore, UMB_USER_STORE_CONTEXT_ALIAS } from 'src/backoffice/users/users/user.store'; import '../../../../auth/components/input-user/input-user.element'; import '../../../../backoffice/shared/components/input-section/input-section.element'; @@ -16,7 +16,6 @@ import { UmbWorkspaceEntityElement } from 'src/backoffice/shared/components/work @customElement('umb-user-group-workspace') export class UmbUserGroupWorkspaceElement extends UmbLitElement implements UmbWorkspaceEntityElement { - static styles = [ UUITextStyles, css` @@ -217,7 +216,7 @@ export class UmbUserGroupWorkspaceElement extends UmbLitElement implements UmbWo this._registerWorkspaceActions(); - this.consumeContext('umbUserStore', (instance) => { + this.consumeContext(UMB_USER_STORE_CONTEXT_ALIAS, (instance) => { this._userStore = instance; this._observeUsers(); }); @@ -233,8 +232,7 @@ export class UmbUserGroupWorkspaceElement extends UmbLitElement implements UmbWo type: 'workspaceAction', alias: 'Umb.WorkspaceAction.UserGroup.Save', name: 'Save User Group Workspace Action', - loader: () => - import('../../../shared/components/workspace/actions/save/workspace-action-node-save.element'), + loader: () => import('../../../shared/components/workspace/actions/save/workspace-action-node-save.element'), meta: { workspaces: ['Umb.Workspace.UserGroup'], look: 'primary', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/section-view-users.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/section-view-users.element.ts index 7525f525e0..3081825b3a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/section-view-users.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/section-view-users.element.ts @@ -9,7 +9,7 @@ import './list-view-layouts/grid/workspace-view-users-grid.element'; import './workspace-view-users-selection.element'; import './workspace-view-users-invite.element'; import type { ManifestWorkspace, UserDetails } from '@umbraco-cms/models'; -import { UmbUserStore } from 'src/backoffice/users/users/user.store'; +import { UmbUserStore, UMB_USER_STORE_CONTEXT_ALIAS } from 'src/backoffice/users/users/user.store'; import { createExtensionElement } from '@umbraco-cms/extensions-api'; import { UmbLitElement } from '@umbraco-cms/element'; import { UniqueBehaviorSubject } from '@umbraco-cms/observable-api'; @@ -45,7 +45,7 @@ export class UmbSectionViewUsersElement extends UmbLitElement { constructor() { super(); - this.consumeContext('umbUserStore', (_instance) => { + this.consumeContext(UMB_USER_STORE_CONTEXT_ALIAS, (_instance) => { this._userStore = _instance; this._observeUsers(); }); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-create.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-create.element.ts index 88d56f7a46..98400b0f06 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-create.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-create.element.ts @@ -7,7 +7,7 @@ import type { UserDetails } from '@umbraco-cms/models'; import { UmbNotificationService, UMB_NOTIFICATION_SERVICE_CONTEXT_ALIAS } from 'src/core/notification'; import { UmbNotificationDefaultData } from 'src/core/notification/layouts/default'; import { UmbModalLayoutElement } from 'src/core/modal'; -import { UmbUserStore } from 'src/backoffice/users/users/user.store'; +import { UmbUserStore, UMB_USER_STORE_CONTEXT_ALIAS } from 'src/backoffice/users/users/user.store'; export type UsersViewType = 'list' | 'grid'; @customElement('umb-workspace-view-users-create') @@ -67,7 +67,7 @@ export class UmbWorkspaceViewUsersCreateElement extends UmbModalLayoutElement { this._notificationService = _instance; }); - this.consumeContext('umbUserStore', (_instance) => { + this.consumeContext(UMB_USER_STORE_CONTEXT_ALIAS, (_instance) => { this._userStore = _instance; }); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-invite.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-invite.element.ts index 5c64294fec..5725c03299 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-invite.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-invite.element.ts @@ -4,7 +4,7 @@ import { customElement, query, state } from 'lit/decorators.js'; import { UmbInputPickerUserGroupElement } from 'src/auth/components/input-user-group/input-user-group.element'; import type { UserDetails } from '@umbraco-cms/models'; import { UmbModalLayoutElement } from 'src/core/modal'; -import { UmbUserStore } from 'src/backoffice/users/users/user.store'; +import { UmbUserStore, UMB_USER_STORE_CONTEXT_ALIAS } from 'src/backoffice/users/users/user.store'; export type UsersViewType = 'list' | 'grid'; @customElement('umb-workspace-view-users-invite') @@ -58,7 +58,7 @@ export class UmbWorkspaceViewUsersInviteElement extends UmbModalLayoutElement { connectedCallback(): void { super.connectedCallback(); - this.consumeContext('umbUserStore', (usersContext: UmbUserStore) => { + this.consumeContext(UMB_USER_STORE_CONTEXT_ALIAS, (usersContext) => { this._userStore = usersContext; }); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-selection.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-selection.element.ts index 3338fc6984..2a842046d8 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-selection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-section/views/users/workspace-view-users-selection.element.ts @@ -2,7 +2,7 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement, state } from 'lit/decorators.js'; import { UmbSectionViewUsersElement } from './section-view-users.element'; -import { UmbUserStore } from 'src/backoffice/users/users/user.store'; +import { UmbUserStore, UMB_USER_STORE_CONTEXT_ALIAS } from 'src/backoffice/users/users/user.store'; import { UmbLitElement } from '@umbraco-cms/element'; @customElement('umb-workspace-view-users-selection') @@ -39,7 +39,7 @@ export class UmbWorkspaceViewUsersSelectionElement extends UmbLitElement { this._observeSelection(); }); - this.consumeContext('umbUserStore', (userStore: UmbUserStore) => { + this.consumeContext(UMB_USER_STORE_CONTEXT_ALIAS, (userStore) => { this._userStore = userStore; this._observeTotalUsers(); }); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/user.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/user.store.ts index cc50de40fa..b49119aa7a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/user.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/user.store.ts @@ -2,9 +2,12 @@ import { map, Observable } from 'rxjs'; import { UmbDataStoreBase } from '../../../core/stores/store'; import type { UserDetails } from '@umbraco-cms/models'; import { UniqueBehaviorSubject } from '@umbraco-cms/observable-api'; +import { UmbContextAlias } from '@umbraco-cms/context-api'; export type UmbUserStoreItemType = UserDetails; +export const STORE_ALIAS = 'umbUserStore'; + /** * @export * @class UmbUserStore @@ -12,7 +15,7 @@ export type UmbUserStoreItemType = UserDetails; * @description - Data Store for Users */ export class UmbUserStore extends UmbDataStoreBase { - public readonly storeAlias = 'umbUserStore'; + public readonly storeAlias = STORE_ALIAS; #totalUsers = new UniqueBehaviorSubject(0); public readonly totalUsers = this.#totalUsers.asObservable(); @@ -276,3 +279,5 @@ export class UmbUserStore extends UmbDataStoreBase { // this.requestUpdate('users'); // } } + +export const UMB_USER_STORE_CONTEXT_ALIAS = new UmbContextAlias(STORE_ALIAS); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.context.ts index bfaf92784c..1d7e623924 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.context.ts @@ -1,5 +1,9 @@ import { UmbWorkspaceContentContext } from '../../../shared/components/workspace/workspace-content/workspace-content.context'; -import type { UmbUserStore, UmbUserStoreItemType } from 'src/backoffice/users/users/user.store'; +import { + UmbUserStore, + UmbUserStoreItemType, + UMB_USER_STORE_CONTEXT_ALIAS, +} from 'src/backoffice/users/users/user.store'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; const DefaultDataTypeData = { @@ -22,10 +26,10 @@ const DefaultDataTypeData = { export class UmbWorkspaceUserContext extends UmbWorkspaceContentContext { constructor(host: UmbControllerHostInterface) { - super(host, DefaultDataTypeData, 'umbUserStore', 'user'); + super(host, DefaultDataTypeData, UMB_USER_STORE_CONTEXT_ALIAS.toString(), 'user'); } public setPropertyValue(alias: string, value: unknown) { - throw new Error("setPropertyValue is not implemented for UmbWorkspaceUserContext") + throw new Error('setPropertyValue is not implemented for UmbWorkspaceUserContext'); } } diff --git a/src/Umbraco.Web.UI.Client/src/core/modal/layouts/picker-user/picker-layout-user.element.ts b/src/Umbraco.Web.UI.Client/src/core/modal/layouts/picker-user/picker-layout-user.element.ts index f9ce297c34..a2907b0652 100644 --- a/src/Umbraco.Web.UI.Client/src/core/modal/layouts/picker-user/picker-layout-user.element.ts +++ b/src/Umbraco.Web.UI.Client/src/core/modal/layouts/picker-user/picker-layout-user.element.ts @@ -3,7 +3,7 @@ import { css, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import { UmbModalLayoutPickerBase } from '../modal-layout-picker-base'; import type { UserDetails } from '@umbraco-cms/models'; -import { UmbUserStore } from 'src/backoffice/users/users/user.store'; +import { UmbUserStore, UMB_USER_STORE_CONTEXT_ALIAS } from 'src/backoffice/users/users/user.store'; @customElement('umb-picker-layout-user') export class UmbPickerLayoutUserElement extends UmbModalLayoutPickerBase { @@ -65,7 +65,7 @@ export class UmbPickerLayoutUserElement extends UmbModalLayoutPickerBase { connectedCallback(): void { super.connectedCallback(); - this.consumeContext('umbUserStore', (userStore: UmbUserStore) => { + this.consumeContext(UMB_USER_STORE_CONTEXT_ALIAS, (userStore) => { this._userStore = userStore; this._observeUsers(); });