add client model requirement to tree data source

This commit is contained in:
Mads Rasmussen
2023-12-07 16:41:54 +01:00
parent 7045dcb078
commit 65eff06a91

View File

@@ -1,11 +1,18 @@
import { UmbTreeItemModelBase } from './types.js';
import type { UmbPagedData, DataSourceResponse } from '@umbraco-cms/backoffice/repository';
import { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export interface UmbTreeDataSourceConstructor<TreeItemType = any, TreeRootType = any> {
export interface UmbTreeDataSourceConstructor<
TreeItemType extends UmbTreeItemModelBase,
TreeRootType extends UmbTreeItemModelBase,
> {
new (host: UmbControllerHost): UmbTreeDataSource<TreeItemType, TreeRootType>;
}
export interface UmbTreeDataSource<TreeItemType = any, TreeRootType = any> {
export interface UmbTreeDataSource<
TreeItemType extends UmbTreeItemModelBase,
TreeRootType extends UmbTreeItemModelBase,
> {
getTreeRoot?(): Promise<DataSourceResponse<TreeRootType>>;
getRootItems(): Promise<DataSourceResponse<UmbPagedData<TreeItemType>>>;
getChildrenOf(parentUnique: string | null): Promise<DataSourceResponse<UmbPagedData<TreeItemType>>>;