add jsdocs

This commit is contained in:
Mads Rasmussen
2024-02-08 15:25:53 +01:00
parent 99736717cc
commit 527c4cbc2f
2 changed files with 50 additions and 0 deletions

View File

@@ -4,27 +4,58 @@ import type { Observable } from '@umbraco-cms/backoffice/external/rxjs';
import type { ProblemDetails } from '@umbraco-cms/backoffice/backend-api';
import type { UmbApi } from '@umbraco-cms/backoffice/extension-api';
/**
* Interface for a tree repository.
* @export
* @interface UmbTreeRepository
* @extends {UmbApi}
* @template TreeItemType
* @template TreeRootType
*/
export interface UmbTreeRepository<
TreeItemType extends UmbTreeItemModelBase = UmbTreeItemModelBase,
TreeRootType extends UmbTreeItemModelBase = UmbTreeItemModelBase,
> extends UmbApi {
/**
* Requests the root of the tree.
* @memberof UmbTreeRepository
*/
requestTreeRoot: () => Promise<{
data?: TreeRootType;
error?: ProblemDetails;
}>;
/**
* Requests the root items of the tree.
* @memberof UmbTreeRepository
*/
requestRootTreeItems: () => Promise<{
data?: UmbPagedModel<TreeItemType>;
error?: ProblemDetails;
asObservable?: () => Observable<TreeItemType[]>;
}>;
/**
* Requests the items of a item in the tree.
* @param {(string | null)} parentUnique
* @memberof UmbTreeRepository
*/
requestTreeItemsOf: (parentUnique: string | null) => Promise<{
data?: UmbPagedModel<TreeItemType>;
error?: ProblemDetails;
asObservable?: () => Observable<TreeItemType[]>;
}>;
/**
* Returns an observable of the root items of the tree.
* @memberof UmbTreeRepository
*/
rootTreeItems: () => Promise<Observable<TreeItemType[]>>;
/**
* Returns an observable of the children of the given parent item.
* @param {(string | null)} parentUnique
* @memberof UmbTreeRepository
*/
treeItemsOf: (parentUnique: string | null) => Promise<Observable<TreeItemType[]>>;
}

View File

@@ -3,7 +3,26 @@ import type { UmbStore } from '@umbraco-cms/backoffice/store';
import type { Observable } from '@umbraco-cms/backoffice/external/rxjs';
import type { UmbApi } from '@umbraco-cms/backoffice/extension-api';
/**
* Interface for a tree store.
* @export
* @interface UmbTreeStore
* @extends {UmbStore<TreeItemType>}
* @extends {UmbApi}
* @template TreeItemType
*/
export interface UmbTreeStore<TreeItemType extends UmbTreeItemModelBase> extends UmbStore<TreeItemType>, UmbApi {
/**
* Returns an observable of the root items of the tree.
* @type {Observable<Array<TreeItemType>>}
* @memberof UmbTreeStore
*/
rootItems: Observable<Array<TreeItemType>>;
/**
* Returns an observable of the children of the given parent item.
* @param {(string | null)} parentUnique
* @memberof UmbTreeStore
*/
childrenOf: (parentUnique: string | null) => Observable<Array<TreeItemType>>;
}