From 38df061d5e8f2e4a84a4befe1cec9406c115d306 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 14 Nov 2023 10:28:24 +0100 Subject: [PATCH] add check for optional request tree root method on tree data source + add js docs --- .../core/tree/entity-tree.repository.ts | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree.repository.ts index 9d7e65c4cf..d3deb57c29 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree.repository.ts @@ -9,6 +9,7 @@ import { import { type UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbApi } from '@umbraco-cms/backoffice/extension-api'; import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { Observable } from 'rxjs'; export class UmbEntityTreeRepositoryBase extends UmbRepositoryBase @@ -31,14 +32,24 @@ export class UmbEntityTreeRepositoryBase this._treeStore!.rootItems }; } + /** + * Requests tree items of a given parent + * @param {(string | null)} parentId + * @return {*} + * @memberof UmbEntityTreeRepositoryBase + */ async requestTreeItemsOf(parentId: string | null) { if (parentId === undefined) throw new Error('Parent id is missing'); await this._init; @@ -64,11 +81,22 @@ export class UmbEntityTreeRepositoryBase this._treeStore!.childrenOf(parentId) }; } + /** + * Returns a promise with an observable of tree root items + * @return {*} + * @memberof UmbEntityTreeRepositoryBase + */ async rootTreeItems() { await this._init; return this._treeStore!.rootItems; } + /** + * Returns a promise with an observable of children items of a given parent + * @param {(string | null)} parentId + * @return {*} + * @memberof UmbEntityTreeRepositoryBase + */ async treeItemsOf(parentId: string | null) { if (parentId === undefined) throw new Error('Parent id is missing'); await this._init;