update to new models
This commit is contained in:
@@ -66,6 +66,12 @@ export class UmbRelationTypeRepository implements UmbTreeRepository, UmbDetailRe
|
||||
return { data, error, asObservable: () => this.#treeStore!.rootItems };
|
||||
}
|
||||
|
||||
//TODO RelationTypes can't have children. But this method is required by the tree interface.
|
||||
async requestTreeItemsOf(parentKey: string | null) {
|
||||
const error: ProblemDetailsModel = { title: 'Not implemented' };
|
||||
return { data: undefined, error };
|
||||
}
|
||||
|
||||
async requestTreeItems(keys: Array<string>) {
|
||||
await this.#init;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { DataSourceResponse } from '@umbraco-cms/models';
|
||||
import type { EntityTreeItemModel, PagedEntityTreeItemModel } from '@umbraco-cms/backend-api';
|
||||
import { EntityTreeItemResponseModel, PagedEntityTreeItemResponseModel } from '@umbraco-cms/backend-api';
|
||||
|
||||
export interface RelationTypeTreeDataSource {
|
||||
getRootItems(): Promise<DataSourceResponse<PagedEntityTreeItemModel>>;
|
||||
getItems(key: Array<string>): Promise<DataSourceResponse<EntityTreeItemModel[]>>;
|
||||
getRootItems(): Promise<DataSourceResponse<PagedEntityTreeItemResponseModel>>;
|
||||
getItems(key: Array<string>): Promise<DataSourceResponse<EntityTreeItemResponseModel[]>>;
|
||||
}
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context';
|
||||
import { UmbWorkspaceEntityContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface';
|
||||
import { UmbRelationTypeRepository } from '../repository/relation-type.repository';
|
||||
import { UmbEntityWorkspaceContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-entity-context.interface';
|
||||
import type { RelationTypeBaseModel, RelationTypeResponseModel } from '@umbraco-cms/backend-api';
|
||||
|
||||
import { ObjectState } from '@umbraco-cms/observable-api';
|
||||
import { UmbControllerHostInterface } from '@umbraco-cms/controller';
|
||||
|
||||
export class UmbRelationTypeWorkspaceContext
|
||||
extends UmbWorkspaceContext<UmbRelationTypeRepository>
|
||||
implements UmbWorkspaceEntityContextInterface<RelationTypeResponseModel | undefined>
|
||||
implements UmbEntityWorkspaceContextInterface<RelationTypeResponseModel | undefined>
|
||||
{
|
||||
#data = new ObjectState<RelationTypeResponseModel | undefined>(undefined);
|
||||
data = this.#data.asObservable();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { UmbEntityData } from './entity.data';
|
||||
import { createEntityTreeItem, createFolderTreeItem } from './utils';
|
||||
import type { EntityTreeItemModel, FolderTreeItemModel, RelationTypeResponseModel } from '@umbraco-cms/backend-api';
|
||||
import { createEntityTreeItem } from './utils';
|
||||
import type { EntityTreeItemResponseModel, RelationTypeResponseModel } from '@umbraco-cms/backend-api';
|
||||
|
||||
// TODO: investigate why we don't get an entity type as part of the RelationTypeResponseModel
|
||||
export const data: Array<RelationTypeResponseModel> = [
|
||||
@@ -71,7 +71,7 @@ export const data: Array<RelationTypeResponseModel> = [
|
||||
},
|
||||
];
|
||||
|
||||
export const treeData: Array<EntityTreeItemModel> = [
|
||||
export const treeData: Array<EntityTreeItemResponseModel> = [
|
||||
{
|
||||
key: 'e0d39ff5-71d8-453f-b682-9d8d31ee5e06',
|
||||
$type: 'EntityTreeItemViewModel',
|
||||
@@ -130,18 +130,18 @@ class UmbRelationTypeData extends UmbEntityData<RelationTypeResponseModel> {
|
||||
}
|
||||
|
||||
//TODO Can relation types have children?
|
||||
getTreeRoot(): Array<FolderTreeItemModel> {
|
||||
getTreeRoot(): Array<EntityTreeItemResponseModel> {
|
||||
const rootItems = this.treeData;
|
||||
return rootItems.map((item) => createEntityTreeItem(item));
|
||||
}
|
||||
|
||||
//TODO Can relation types have children?
|
||||
getTreeItemChildren(key: string): Array<FolderTreeItemModel> {
|
||||
getTreeItemChildren(key: string): Array<EntityTreeItemResponseModel> {
|
||||
const childItems = this.treeData.filter((item) => item.parentKey === key);
|
||||
return childItems.map((item) => createEntityTreeItem(item));
|
||||
}
|
||||
|
||||
getTreeItem(keys: Array<string>): Array<FolderTreeItemModel> {
|
||||
getTreeItem(keys: Array<string>): Array<EntityTreeItemResponseModel> {
|
||||
const items = this.treeData.filter((item) => keys.includes(item.key ?? ''));
|
||||
return items.map((item) => createEntityTreeItem(item));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user