From 077d4073159fec6e4d1229ebf0e3b6ac0cd2da23 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 14 Nov 2023 10:06:51 +0100 Subject: [PATCH] extend entity repository in data types --- .../tree/data-type-tree.repository.ts | 53 +++---------------- 1 file changed, 6 insertions(+), 47 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/data-type/tree/data-type-tree.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/core/data-type/tree/data-type-tree.repository.ts index 991941fa25..f93f003b2e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/data-type/tree/data-type-tree.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/data-type/tree/data-type-tree.repository.ts @@ -1,24 +1,19 @@ +import { UmbEntityTreeRepositoryBase } from '../../tree/entity-tree.repository.js'; import { DATA_TYPE_ROOT_ENTITY_TYPE } from '../entities.js'; -import { UmbDataTypeRepositoryBase } from '../repository/data-type-repository-base.js'; import { UmbDataTypeTreeServerDataSource } from './data-type.tree.server.data.js'; -import type { UmbTreeRepository, UmbTreeDataSource } from '@umbraco-cms/backoffice/repository'; +import { UMB_DATA_TYPE_TREE_STORE_CONTEXT } from './data-type.tree.store.js'; import { type UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { FolderTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { DataTypeTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; import { UmbApi } from '@umbraco-cms/backoffice/extension-api'; export class UmbDataTypeTreeRepository - extends UmbDataTypeRepositoryBase - implements UmbTreeRepository, UmbApi + extends UmbEntityTreeRepositoryBase + implements UmbApi { - #treeSource: UmbTreeDataSource; - constructor(host: UmbControllerHost) { - super(host); - this.#treeSource = new UmbDataTypeTreeServerDataSource(this); + super(host, UmbDataTypeTreeServerDataSource, UMB_DATA_TYPE_TREE_STORE_CONTEXT); } async requestTreeRoot() { - await this._init; - const data = { id: null, type: DATA_TYPE_ROOT_ENTITY_TYPE, @@ -29,40 +24,4 @@ export class UmbDataTypeTreeRepository return { data }; } - - async requestRootTreeItems() { - await this._init; - - const { data, error } = await this.#treeSource.getRootItems(); - - if (data) { - this._treeStore!.appendItems(data.items); - } - - return { data, error, asObservable: () => this._treeStore!.rootItems }; - } - - async requestTreeItemsOf(parentId: string | null) { - await this._init; - if (parentId === undefined) throw new Error('Parent id is missing'); - - const { data, error } = await this.#treeSource.getChildrenOf(parentId); - - if (data) { - this._treeStore!.appendItems(data.items); - } - - return { data, error, asObservable: () => this._treeStore!.childrenOf(parentId) }; - } - - async rootTreeItems() { - await this._init; - return this._treeStore!.rootItems; - } - - async treeItemsOf(parentId: string | null) { - if (parentId === undefined) throw new Error('Parent id is missing'); - await this._init; - return this._treeStore!.childrenOf(parentId); - } }