data works

This commit is contained in:
Jesper Møller Jensen
2023-03-10 21:28:25 +13:00
parent f3985eae08
commit 94bf708236

View File

@@ -1,9 +1,9 @@
import { UmbEntityData } from './entity.data';
import { createEntityTreeItem } from './utils';
import type { FolderTreeItemModel, RelationTypeResponseModel } from '@umbraco-cms/backend-api';
import { createEntityTreeItem, createFolderTreeItem } from './utils';
import type { EntityTreeItemModel, FolderTreeItemModel, 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 & { type: 'relation-type' }> = [
export const data: Array<RelationTypeResponseModel> = [
{
key: 'e0d39ff5-71d8-453f-b682-9d8d31ee5e06',
alias: 'relateDocumentOnCopy',
@@ -16,8 +16,6 @@ export const data: Array<RelationTypeResponseModel & { type: 'relation-type' }>
childObjectType: 'Document',
parentObjectTypeName: 'Document',
childObjectTypeName: 'Document',
type: 'relation-type',
parentKey: null,
},
{
key: 'ac68cde6-763f-4231-a751-1101b57defd2',
@@ -31,8 +29,6 @@ export const data: Array<RelationTypeResponseModel & { type: 'relation-type' }>
childObjectType: 'Document',
parentObjectTypeName: 'Document',
childObjectTypeName: 'Document',
type: 'relation-type',
parentKey: null,
},
{
key: '6f9b800c-762c-42d4-85d9-bf40a77d689e',
@@ -46,8 +42,6 @@ export const data: Array<RelationTypeResponseModel & { type: 'relation-type' }>
childObjectType: 'Document',
parentObjectTypeName: 'Document',
childObjectTypeName: 'Document',
type: 'relation-type',
parentKey: null,
},
{
key: 'd421727d-43de-4205-b4c6-037404f309ad',
@@ -61,8 +55,6 @@ export const data: Array<RelationTypeResponseModel & { type: 'relation-type' }>
childObjectType: 'Document',
parentObjectTypeName: 'Document',
childObjectTypeName: 'Document',
type: 'relation-type',
parentKey: null,
},
{
key: 'e9a0a28e-2d5b-4229-ac00-66f2df230513',
@@ -76,8 +68,54 @@ export const data: Array<RelationTypeResponseModel & { type: 'relation-type' }>
childObjectType: 'Document',
parentObjectTypeName: 'Document',
childObjectTypeName: 'Document',
type: 'relation-type',
},
];
export const treeData: Array<EntityTreeItemModel> = [
{
key: 'e0d39ff5-71d8-453f-b682-9d8d31ee5e06',
$type: 'EntityTreeItemViewModel',
isContainer: false,
parentKey: null,
name: 'Relate Document On Copy',
icon: 'umb:trafic',
type: 'relation-type',
},
{
key: 'ac68cde6-763f-4231-a751-1101b57defd2',
$type: 'EntityTreeItemViewModel',
isContainer: false,
parentKey: null,
name: 'Relate Parent Document On Delete',
icon: 'umb:trafic',
type: 'relation-type',
},
{
key: '6f9b800c-762c-42d4-85d9-bf40a77d689e',
$type: 'EntityTreeItemViewModel',
isContainer: false,
parentKey: null,
name: 'Relate Parent Media Folder On Delete',
icon: 'umb:trafic',
type: 'relation-type',
},
{
key: 'd421727d-43de-4205-b4c6-037404f309ad',
$type: 'EntityTreeItemViewModel',
isContainer: false,
parentKey: null,
name: 'Related Media',
icon: 'umb:trafic',
type: 'relation-type',
},
{
key: 'e9a0a28e-2d5b-4229-ac00-66f2df230513',
$type: 'EntityTreeItemViewModel',
isContainer: false,
parentKey: null,
name: 'Related Document',
icon: 'umb:trafic',
type: 'relation-type',
},
];
@@ -86,24 +124,25 @@ export const data: Array<RelationTypeResponseModel & { type: 'relation-type' }>
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
class UmbRelationTypeData extends UmbEntityData<RelationTypeResponseModel> {
private treeData = treeData;
constructor() {
super(data);
}
//TODO Can relation types have children?
getTreeRoot(): Array<FolderTreeItemModel> {
const rootItems = this.data;
const rootItems = this.treeData;
return rootItems.map((item) => createEntityTreeItem(item));
}
//TODO Can relation types have children?
getTreeItemChildren(): Array<FolderTreeItemModel> {
const childItems = this.data;
const childItems = this.treeData;
return childItems.map((item) => createEntityTreeItem(item));
}
getTreeItem(keys: Array<string>): Array<FolderTreeItemModel> {
const items = this.data.filter((item) => keys.includes(item.key ?? ''));
const items = this.treeData.filter((item) => keys.includes(item.key ?? ''));
return items.map((item) => createEntityTreeItem(item));
}
}