From 6fde96e49997adabb87561f9ffca9f74bc565e23 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Jan 2023 15:03:13 +0100 Subject: [PATCH] migrate umbCurrentUserStore to UmbContextAlias --- .../src/backoffice/backoffice.element.ts | 4 ++-- .../users/current-user/current-user-header-app.element.ts | 4 ++-- .../backoffice/users/current-user/current-user.store.ts | 3 +++ .../users/users/workspace/user-workspace.element.ts | 4 ++-- .../modal/layouts/modal-layout-current-user.element.ts | 7 +++++-- 5 files changed, 14 insertions(+), 8 deletions(-) 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 25518c4b62..481efda031 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts @@ -6,7 +6,7 @@ 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 { UmbUserGroupStore } from './users/user-groups/user-group.store'; -import { UmbCurrentUserStore } from './users/current-user/current-user.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'; import { UmbDocumentTypeStore } from './documents/document-types/document-type.store'; @@ -57,7 +57,7 @@ export class UmbBackofficeElement extends UmbLitElement { this.provideContext(UMB_NOTIFICATION_SERVICE_CONTEXT_ALIAS, new UmbNotificationService()); // TODO: find a way this is possible outside this element. It needs to be possible to register stores in extensions - this.provideContext('umbCurrentUserStore', new UmbCurrentUserStore()); + this.provideContext(UMB_CURRENT_USER_STORE_CONTEXT_ALIAS, new UmbCurrentUserStore()); this.provideContext('umbDocumentStore', new UmbDocumentStore(this)); this.provideContext('umbMediaStore', new UmbMediaStore(this)); this.provideContext('umbDataTypeStore', new UmbDataTypeStore(this)); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/current-user-header-app.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/current-user-header-app.element.ts index f20f6952a5..400421e19e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/current-user-header-app.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/current-user-header-app.element.ts @@ -1,7 +1,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, CSSResultGroup, html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import { UmbCurrentUserStore } from './current-user.store'; +import { UmbCurrentUserStore, UMB_CURRENT_USER_STORE_CONTEXT_ALIAS } from './current-user.store'; import type { UserDetails } from '@umbraco-cms/models'; import { UmbModalService, UMB_MODAL_SERVICE_CONTEXT_ALIAS } from 'src/core/modal'; import { UmbLitElement } from '@umbraco-cms/element'; @@ -30,7 +30,7 @@ export class UmbCurrentUserHeaderApp extends UmbLitElement { this._modalService = _instance; }); - this.consumeContext('umbCurrentUserStore', (_instance) => { + this.consumeContext(UMB_CURRENT_USER_STORE_CONTEXT_ALIAS, (_instance) => { this._currentUserStore = _instance; this._observeCurrentUser(); }); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/current-user.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/current-user.store.ts index 8acd9daea9..269678f302 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/current-user.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/current-user/current-user.store.ts @@ -2,6 +2,7 @@ import { BehaviorSubject, Observable } from 'rxjs'; import { umbUsersData } from '../../../core/mocks/data/users.data'; import type { UserDetails } from '@umbraco-cms/models'; import { umbracoPath } from '@umbraco-cms/utils'; +import { UmbContextAlias } from '@umbraco-cms/context-api'; export class UmbCurrentUserStore { private _currentUser = new BehaviorSubject(umbUsersData.getAll()[0]); //TODO: Temp solution to set the first user as the current logged in user @@ -26,3 +27,5 @@ export class UmbCurrentUserStore { return this._currentUser.getValue()?.userGroups.includes(adminUserGroupKey); } } + +export const UMB_CURRENT_USER_STORE_CONTEXT_ALIAS = new UmbContextAlias(UmbCurrentUserStore.name); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.element.ts index f1f670d8ca..f6cde31ed0 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/users/workspace/user-workspace.element.ts @@ -8,7 +8,7 @@ import { repeat } from 'lit/directives/repeat.js'; import { distinctUntilChanged } from 'rxjs'; import { getTagLookAndColor } from '../../../../auth/utils'; -import { UmbCurrentUserStore } from '../../current-user/current-user.store'; +import { UmbCurrentUserStore, UMB_CURRENT_USER_STORE_CONTEXT_ALIAS } from '../../current-user/current-user.store'; import { UmbWorkspaceUserContext } from './user-workspace.context'; import type { UserDetails } from '@umbraco-cms/models'; @@ -117,7 +117,7 @@ export class UmbUserWorkspaceElement extends UmbLitElement implements UmbWorkspa constructor() { super(); - this.consumeContext('umbCurrentUserStore', (store) => { + this.consumeContext(UMB_CURRENT_USER_STORE_CONTEXT_ALIAS, (store) => { this._currentUserStore = store; this._observeCurrentUser(); }); diff --git a/src/Umbraco.Web.UI.Client/src/core/modal/layouts/modal-layout-current-user.element.ts b/src/Umbraco.Web.UI.Client/src/core/modal/layouts/modal-layout-current-user.element.ts index 83a6726dad..e647d8a2ed 100644 --- a/src/Umbraco.Web.UI.Client/src/core/modal/layouts/modal-layout-current-user.element.ts +++ b/src/Umbraco.Web.UI.Client/src/core/modal/layouts/modal-layout-current-user.element.ts @@ -7,7 +7,10 @@ import { UmbCurrentUserHistoryStore, UmbCurrentUserHistoryItem, } from 'src/backoffice/users/current-user/current-user-history.store'; -import { UmbCurrentUserStore } from 'src/backoffice/users/current-user/current-user.store'; +import { + UmbCurrentUserStore, + UMB_CURRENT_USER_STORE_CONTEXT_ALIAS, +} from 'src/backoffice/users/current-user/current-user.store'; import { UmbLitElement } from '@umbraco-cms/element'; @customElement('umb-modal-layout-current-user') @@ -94,7 +97,7 @@ export class UmbModalLayoutCurrentUserElement extends UmbLitElement { this._modalService = _instance; }); - this.consumeContext('umbCurrentUserStore', (_instance) => { + this.consumeContext(UMB_CURRENT_USER_STORE_CONTEXT_ALIAS, (_instance) => { this._currentUserStore = _instance; this._observeCurrentUser(); });