diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/store.models.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/store.models.ts index abeb6b9fda..496251134f 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/store.models.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/store.models.ts @@ -1,10 +1,10 @@ import type { ManifestClass } from './models'; -import { UmbStoreBase, UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbStoreBase, UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; export interface ManifestStore extends ManifestClass { type: 'store'; } -export interface ManifestTreeStore extends ManifestClass { +export interface ManifestTreeStore extends ManifestClass { type: 'treeStore'; } diff --git a/src/Umbraco.Web.UI.Client/libs/store/tree-store-base.ts b/src/Umbraco.Web.UI.Client/libs/store/tree-store-base.ts index 8a7647d015..303c13718f 100644 --- a/src/Umbraco.Web.UI.Client/libs/store/tree-store-base.ts +++ b/src/Umbraco.Web.UI.Client/libs/store/tree-store-base.ts @@ -4,12 +4,12 @@ import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; /** * @export - * @class UmbTreeStoreBase + * @class UmbEntityTreeStore * @extends {UmbStoreBase} * @description - General Tree Data Store */ // TODO: consider if tree store could be turned into a general EntityTreeStore class? -export class UmbTreeStoreBase< +export class UmbEntityTreeStore< T extends EntityTreeItemResponseModel = EntityTreeItemResponseModel > extends UmbStoreBase { #data = new ArrayState([], (x) => x.key); @@ -17,7 +17,7 @@ export class UmbTreeStoreBase< /** * Appends items to the store * @param {Array} items - * @memberof UmbTreeStoreBase + * @memberof UmbEntityTreeStore */ appendItems(items: Array) { this.#data.append(items); @@ -27,7 +27,7 @@ export class UmbTreeStoreBase< * Updates an item in the store * @param {string} key * @param {Partial} data - * @memberof UmbTreeStoreBase + * @memberof UmbEntityTreeStore */ updateItem(key: string, data: Partial) { this.#data.next(partialUpdateFrozenArray(this.#data.getValue(), data, (entry) => entry.key === key)); @@ -36,7 +36,7 @@ export class UmbTreeStoreBase< /** * Removes an item from the store * @param {string} key - * @memberof UmbTreeStoreBase + * @memberof UmbEntityTreeStore */ removeItem(key: string) { this.#data.removeOne(key); @@ -44,7 +44,7 @@ export class UmbTreeStoreBase< /** * An observable to observe the root items - * @memberof UmbTreeStoreBase + * @memberof UmbEntityTreeStore */ rootItems = this.#data.getObservablePart((items) => items.filter((item) => item.parentKey === null)); @@ -52,7 +52,7 @@ export class UmbTreeStoreBase< * Returns an observable to observe the children of a given parent * @param {(string | null)} parentKey * @return {*} - * @memberof UmbTreeStoreBase + * @memberof UmbEntityTreeStore */ childrenOf(parentKey: string | null) { return this.#data.getObservablePart((items) => items.filter((item) => item.parentKey === parentKey)); @@ -62,7 +62,7 @@ export class UmbTreeStoreBase< * Returns an observable to observe the items with the given keys * @param {Array} keys * @return {*} - * @memberof UmbTreeStoreBase + * @memberof UmbEntityTreeStore */ items(keys: Array) { return this.#data.getObservablePart((items) => items.filter((item) => keys.includes(item.key ?? ''))); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.tree.store.ts index fb1968d7a2..cbb0c01bbb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-blueprints/document-blueprint.tree.store.ts @@ -1,5 +1,5 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export const UMB_DOCUMENT_BLUEPRINT_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken( @@ -12,7 +12,7 @@ export const UMB_DOCUMENT_BLUEPRINT_TREE_STORE_CONTEXT_TOKEN = new UmbContextTok * @extends {UmbStoreBase} * @description - Tree Data Store for Document Blueprints */ -export class UmbDocumentBlueprintTreeStore extends UmbTreeStoreBase { +export class UmbDocumentBlueprintTreeStore extends UmbEntityTreeStore { constructor(host: UmbControllerHostInterface) { super(host, UMB_DOCUMENT_BLUEPRINT_TREE_STORE_CONTEXT_TOKEN.toString()); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.tree.store.ts index 7cfdee24df..4052a3ff76 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/repository/document-type.tree.store.ts @@ -1,5 +1,5 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** @@ -9,7 +9,7 @@ import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; * @description - Tree Data Store for Document-Types */ // TODO: consider if tree store could be turned into a general EntityTreeStore class? -export class UmbDocumentTypeTreeStore extends UmbTreeStoreBase { +export class UmbDocumentTypeTreeStore extends UmbEntityTreeStore { /** * Creates an instance of UmbDocumentTypeTreeStore. * @param {UmbControllerHostInterface} host diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.tree.store.ts index 4b3bbaa7f8..4cab5a9ac3 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/repository/document.tree.store.ts @@ -1,14 +1,14 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export * @class UmbDocumentTreeStore - * @extends {UmbTreeStoreBase} + * @extends {UmbEntityTreeStore} * @description - Tree Data Store for Templates */ -export class UmbDocumentTreeStore extends UmbTreeStoreBase { +export class UmbDocumentTreeStore extends UmbEntityTreeStore { /** * Creates an instance of UmbDocumentTreeStore. * @param {UmbControllerHostInterface} host @@ -19,6 +19,4 @@ export class UmbDocumentTreeStore extends UmbTreeStoreBase { } } -export const UMB_DOCUMENT_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken( - 'UmbDocumentTreeStore' -); +export const UMB_DOCUMENT_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbDocumentTreeStore'); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.tree.store.ts index 6e6f69ed7d..3392acb8d1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media-types/repository/media-type.tree.store.ts @@ -1,14 +1,14 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export * @class UmbMediaTypeTreeStore - * @extends {UmbTreeStoreBase} + * @extends {UmbEntityTreeStore} * @description - Tree Data Store for Media Types */ -export class UmbMediaTypeTreeStore extends UmbTreeStoreBase { +export class UmbMediaTypeTreeStore extends UmbEntityTreeStore { /** * Creates an instance of UmbMediaTypeTreeStore. * @param {UmbControllerHostInterface} host diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts index 88903b1cb1..4214a9d7f2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/repository/media.tree.store.ts @@ -1,7 +1,7 @@ import { EntityTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import { ArrayState } from '@umbraco-cms/backoffice/observable-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export const UMB_MEDIA_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbMediaTreeStore'); @@ -9,10 +9,10 @@ export const UMB_MEDIA_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken([], (x) => x.key); /** diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.tree.store.ts index 1a67085088..6e20bb0447 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-groups/repository/member-group.tree.store.ts @@ -1,14 +1,14 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** * @export * @class UmbMemberGroupTreeStore - * @extends {UmbTreeStoreBase} + * @extends {UmbEntityTreeStore} * @description - Tree Data Store for Member Groups */ -export class UmbMemberGroupTreeStore extends UmbTreeStoreBase { +export class UmbMemberGroupTreeStore extends UmbEntityTreeStore { /** * Creates an instance of UmbMemberGroupTreeStore. * @param {UmbControllerHostInterface} host diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.tree.store.ts index f008de15aa..8fb32d6bea 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/member-types/repository/member-type.tree.store.ts @@ -1,5 +1,5 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; /** @@ -8,7 +8,7 @@ import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/control * @extends {UmbStoreBase} * @description - Tree Data Store for Member Types */ -export class UmbMemberTypeTreeStore extends UmbTreeStoreBase { +export class UmbMemberTypeTreeStore extends UmbEntityTreeStore { constructor(host: UmbControllerHostInterface) { super(host, UMB_MEMBER_TYPE_TREE_STORE_CONTEXT_TOKEN.toString()); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.tree.store.ts index b315e84c5a..a5c832358e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/members/members/repository/member.tree.store.ts @@ -1,5 +1,5 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; export const UMB_MEMBER_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbMemberTreeStore'); @@ -7,10 +7,10 @@ export const UMB_MEMBER_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken( - 'UmbDataTypeTreeStore' -); +export const UMB_DATA_TYPE_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbDataTypeTreeStore'); diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.tree.store.ts index 0220ccaa87..b66af29604 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/repository/relation-type.tree.store.ts @@ -1,6 +1,6 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; /** * @export @@ -9,7 +9,7 @@ import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; * @description - Tree Data Store for relation-types */ // TODO: consider if tree store could be turned into a general EntityTreeStore class? -export class UmbRelationTypeTreeStore extends UmbTreeStoreBase { +export class UmbRelationTypeTreeStore extends UmbEntityTreeStore { /** * Creates an instance of UmbRelationTypeTreeStore. * @param {UmbControllerHostInterface} host diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.tree.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.tree.store.ts index ecbe8c9031..b606566c98 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/templating/templates/repository/template.tree.store.ts @@ -1,10 +1,8 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -import { UmbTreeStoreBase } from '@umbraco-cms/backoffice/store'; +import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/store'; import type { UmbControllerHostInterface } from '@umbraco-cms/backoffice/controller'; -export const UMB_TEMPLATE_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken( - 'UmbTemplateTreeStore' -); +export const UMB_TEMPLATE_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken('UmbTemplateTreeStore'); /** * @export @@ -12,7 +10,7 @@ export const UMB_TEMPLATE_TREE_STORE_CONTEXT_TOKEN = new UmbContextToken