migrate UmbUserStore to UmbContextAlias
This commit is contained in:
@@ -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();
|
||||
});
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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>('umbUserStore', (_instance) => {
|
||||
this.consumeContext<UmbUserStore>(UMB_USER_STORE_CONTEXT_ALIAS, (_instance) => {
|
||||
this._userStore = _instance;
|
||||
this._observeUsers();
|
||||
});
|
||||
|
||||
@@ -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>('umbUserStore', (_instance) => {
|
||||
this.consumeContext(UMB_USER_STORE_CONTEXT_ALIAS, (_instance) => {
|
||||
this._userStore = _instance;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
|
||||
@@ -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<UmbUserStoreItemType> {
|
||||
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<UmbUserStoreItemType> {
|
||||
// this.requestUpdate('users');
|
||||
// }
|
||||
}
|
||||
|
||||
export const UMB_USER_STORE_CONTEXT_ALIAS = new UmbContextAlias<UmbUserStore>(STORE_ALIAS);
|
||||
|
||||
@@ -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<UmbUserStoreItemType, UmbUserStore> {
|
||||
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');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user