From 610546e14cbac2bef07894cb8cb888e49d5528dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 23 Jan 2023 22:10:08 +0100 Subject: [PATCH] more updates --- .../src/backoffice/backoffice.element.ts | 2 +- .../member-group.details.store.ts | 34 ++++++++++++++++ .../member-groups/member-group.store.ts | 40 ------------------- .../members/member-groups/tree/manifests.ts | 2 +- .../users/user-groups/user-group.store.ts | 2 +- 5 files changed, 37 insertions(+), 43 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/member-group.details.store.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/member-group.store.ts 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 7bb106b9b8..4605883830 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/backoffice.element.ts @@ -22,7 +22,7 @@ import { UmbMediaDetailStore } from './media/media/media.detail.store'; import { UmbMediaTreeStore } from './media/media/media.tree.store'; import { UmbMemberTypeDetailStore } from './members/member-types/member-type.detail.store'; import { UmbMemberTypeTreeStore } from './members/member-types/member-type.tree.store'; -import { UmbMemberGroupStore, UMB_MEMBER_GROUP_STORE_CONTEXT_TOKEN } from './members/member-groups/member-group.store'; +import { UmbMemberGroupStore, UMB_MEMBER_GROUP_STORE_CONTEXT_TOKEN } from './members/member-groups/member-group.details.store'; import { UmbDictionaryStore, UMB_DICTIONARY_STORE_CONTEXT_TOKEN } from './translation/dictionary/dictionary.store'; import { UmbDocumentBlueprintStore, diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/member-group.details.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/member-group.details.store.ts new file mode 100644 index 0000000000..dfe20a1e2d --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/member-group.details.store.ts @@ -0,0 +1,34 @@ +import { Observable } from 'rxjs'; +import type { MemberGroupDetails } from '@umbraco-cms/models'; +import { UmbContextToken } from '@umbraco-cms/context-api'; +import { UniqueArrayBehaviorSubject } from '@umbraco-cms/observable-api'; +import { UmbControllerHostInterface } from '@umbraco-cms/controller'; +import { UmbStoreBase } from '@umbraco-cms/stores/store-base'; + +export const UMB_MEMBER_GROUP_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbMemberGroupStore'); + +/** + * @export + * @class UmbMemberGroupStore + * @extends {UmbStoreBase} + * @description - Data Store for Member Groups + */ +export class UmbMemberGroupStore extends UmbStoreBase { + + + #groups = new UniqueArrayBehaviorSubject([], x => x.key); + public groups = this.#groups.asObservable(); + + + constructor(host: UmbControllerHostInterface) { + super(host, UMB_MEMBER_GROUP_STORE_CONTEXT_TOKEN.toString()); + } + + getByKey(key: string): Observable { + return null as any; + } + + async save(mediaTypes: Array): Promise { + return null as any; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/member-group.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/member-group.store.ts deleted file mode 100644 index 9be7cc8a67..0000000000 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/member-group.store.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { map, Observable } from 'rxjs'; -import { UmbNodeStoreBase } from '../../../core/stores/store'; -import { EntityTreeItem, MemberGroupResource } from '@umbraco-cms/backend-api'; -import type { MemberGroupDetails } from '@umbraco-cms/models'; -import { tryExecuteAndNotify } from '@umbraco-cms/resources'; -import { UmbContextToken } from '@umbraco-cms/context-api'; - -export type UmbMemberGroupStoreItemType = MemberGroupDetails | EntityTreeItem; - -export const STORE_ALIAS = 'UmbMemberGroupStore'; - -/** - * @export - * @class UmbMemberGroupStore - * @extends {UmbDataStoreBase} - * @description - Data Store for Member Groups - */ -export class UmbMemberGroupStore extends UmbNodeStoreBase { - public readonly storeAlias = STORE_ALIAS; - - getByKey(key: string): Observable { - return null as any; - } - - async save(mediaTypes: Array): Promise { - return null as any; - } - - getTreeRoot(): Observable> { - tryExecuteAndNotify(this.host, MemberGroupResource.getTreeMemberGroupRoot({})).then(({ data }) => { - if (data) { - this.updateItems(data.items); - } - }); - - return this.items.pipe(map((items) => items.filter((item) => item.parentKey === null))); - } -} - -export const UMB_MEMBER_GROUP_STORE_CONTEXT_TOKEN = new UmbContextToken(STORE_ALIAS); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/tree/manifests.ts index 45b2878951..2e9d76d83e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/tree/manifests.ts @@ -1,4 +1,4 @@ -import { STORE_ALIAS } from '../member-group.store'; +import { STORE_ALIAS } from '../member-group.details.store'; import type { ManifestTree, ManifestTreeItemAction } from '@umbraco-cms/models'; const treeAlias = 'Umb.Tree.MemberGroups'; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/user-group.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/user-group.store.ts index 1303dfc306..5713a9b087 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/user-group.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/users/user-groups/user-group.store.ts @@ -7,7 +7,7 @@ import { UmbStoreBase } from '@umbraco-cms/stores/store-base'; // TODO: get rid of this type addition & { ... }: export type UmbUserGroupStoreItemType = UserGroupDetails & { users?: Array }; -export const UMB_USER_GROUP_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbUserGroupStore'); +export const UMB_USER_GROUP_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbUserGroupStore'); /** * @export