@umbraco-cms/backoffice 14.0.0--preview004-9b30fd08 → 14.0.0--preview004-a38abfe4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-cms/packages/settings/relation-types/entities.d.ts +2 -0
- package/dist-cms/packages/settings/relation-types/entities.js +2 -0
- package/dist-cms/packages/settings/relation-types/menu-item/manifests.js +2 -1
- package/dist-cms/packages/settings/relation-types/repository/manifests.d.ts +2 -3
- package/dist-cms/packages/settings/relation-types/repository/manifests.js +1 -9
- package/dist-cms/packages/settings/relation-types/repository/relation-type.repository.d.ts +1 -31
- package/dist-cms/packages/settings/relation-types/repository/relation-type.repository.js +2 -48
- package/dist-cms/packages/settings/relation-types/tree/index.d.ts +5 -0
- package/dist-cms/packages/settings/relation-types/tree/index.js +4 -0
- package/dist-cms/packages/settings/relation-types/tree/manifests.d.ts +5 -2
- package/dist-cms/packages/settings/relation-types/tree/manifests.js +24 -7
- package/dist-cms/packages/settings/relation-types/tree/relation-type-tree.repository.d.ts +16 -0
- package/dist-cms/packages/settings/relation-types/tree/relation-type-tree.repository.js +19 -0
- package/dist-cms/packages/settings/relation-types/tree/relation-type-tree.server.data-source.d.ts +32 -0
- package/dist-cms/packages/settings/relation-types/tree/relation-type-tree.server.data-source.js +47 -0
- package/dist-cms/packages/settings/relation-types/{repository/relation-type.tree.store.d.ts → tree/relation-type-tree.store.d.ts} +2 -2
- package/dist-cms/packages/settings/relation-types/{repository/relation-type.tree.store.js → tree/relation-type-tree.store.js} +3 -4
- package/dist-cms/packages/settings/relation-types/tree/types.d.ts +4 -0
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist-cms/packages/settings/relation-types/repository/sources/index.d.ts +0 -6
- package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.tree.server.data.d.ts +0 -35
- package/dist-cms/packages/settings/relation-types/repository/sources/relation-type.tree.server.data.js +0 -67
- /package/dist-cms/packages/settings/relation-types/{repository/sources/index.js → tree/types.js} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UMB_RELATION_TYPE_TREE_ALIAS } from '../tree/index.js';
|
|
1
2
|
const menuItem = {
|
|
2
3
|
type: 'menuItem',
|
|
3
4
|
kind: 'tree',
|
|
@@ -5,7 +6,7 @@ const menuItem = {
|
|
|
5
6
|
name: 'Relation Types Menu Item',
|
|
6
7
|
weight: 500,
|
|
7
8
|
meta: {
|
|
8
|
-
treeAlias:
|
|
9
|
+
treeAlias: UMB_RELATION_TYPE_TREE_ALIAS,
|
|
9
10
|
label: 'Relation Types',
|
|
10
11
|
icon: 'icon-folder',
|
|
11
12
|
menus: ['Umb.Menu.Settings'],
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { ManifestStore,
|
|
1
|
+
import { ManifestStore, ManifestRepository } from '../../../core/extension-registry/index.js';
|
|
2
2
|
export declare const RELATION_TYPE_REPOSITORY_ALIAS = "Umb.Repository.RelationType";
|
|
3
3
|
export declare const RELATION_TYPE_STORE_ALIAS = "Umb.Store.RelationType";
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const manifests: (ManifestStore | ManifestTreeStore | ManifestRepository<import("../../../../libs/extension-api/types.js").UmbApi>)[];
|
|
4
|
+
export declare const manifests: (ManifestStore | ManifestRepository<import("../../../../libs/extension-api/types.js").UmbApi>)[];
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { UmbRelationTypeRepository } from '../repository/relation-type.repository.js';
|
|
2
2
|
import { UmbRelationTypeStore } from './relation-type.store.js';
|
|
3
|
-
import { UmbRelationTypeTreeStore } from './relation-type.tree.store.js';
|
|
4
3
|
export const RELATION_TYPE_REPOSITORY_ALIAS = 'Umb.Repository.RelationType';
|
|
5
4
|
const repository = {
|
|
6
5
|
type: 'repository',
|
|
@@ -9,17 +8,10 @@ const repository = {
|
|
|
9
8
|
api: UmbRelationTypeRepository,
|
|
10
9
|
};
|
|
11
10
|
export const RELATION_TYPE_STORE_ALIAS = 'Umb.Store.RelationType';
|
|
12
|
-
export const RELATION_TYPE_TREE_STORE_ALIAS = 'Umb.Store.RelationTypeTree';
|
|
13
11
|
const store = {
|
|
14
12
|
type: 'store',
|
|
15
13
|
alias: RELATION_TYPE_STORE_ALIAS,
|
|
16
14
|
name: 'Relation Type Store',
|
|
17
15
|
api: UmbRelationTypeStore,
|
|
18
16
|
};
|
|
19
|
-
const
|
|
20
|
-
type: 'treeStore',
|
|
21
|
-
alias: RELATION_TYPE_TREE_STORE_ALIAS,
|
|
22
|
-
name: 'Relation Type Tree Store',
|
|
23
|
-
api: UmbRelationTypeTreeStore,
|
|
24
|
-
};
|
|
25
|
-
export const manifests = [repository, store, treeStore];
|
|
17
|
+
export const manifests = [repository, store];
|
|
@@ -1,40 +1,10 @@
|
|
|
1
1
|
import { UmbBaseController, type UmbControllerHost } from '../../../../libs/controller-api/index.js';
|
|
2
2
|
import { CreateRelationTypeRequestModel, RelationTypeResponseModel, UpdateRelationTypeRequestModel } from '../../../../external/backend-api/index.js';
|
|
3
3
|
import { UmbDetailRepository } from '../../../core/repository/index.js';
|
|
4
|
-
import { UmbTreeRepository } from '../../../core/tree/index.js';
|
|
5
4
|
import { UmbApi } from '../../../../libs/extension-api/index.js';
|
|
6
|
-
export declare class UmbRelationTypeRepository extends UmbBaseController implements
|
|
5
|
+
export declare class UmbRelationTypeRepository extends UmbBaseController implements UmbDetailRepository<CreateRelationTypeRequestModel, any, UpdateRelationTypeRequestModel, RelationTypeResponseModel>, UmbApi {
|
|
7
6
|
#private;
|
|
8
7
|
constructor(host: UmbControllerHost);
|
|
9
|
-
requestTreeRoot(): Promise<{
|
|
10
|
-
data: {
|
|
11
|
-
id: null;
|
|
12
|
-
type: string;
|
|
13
|
-
name: string;
|
|
14
|
-
icon: string;
|
|
15
|
-
hasChildren: boolean;
|
|
16
|
-
};
|
|
17
|
-
}>;
|
|
18
|
-
requestRootTreeItems(): Promise<{
|
|
19
|
-
data: import("../../../../external/backend-api/index.js").PagedEntityTreeItemResponseModel | undefined;
|
|
20
|
-
error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
|
|
21
|
-
asObservable: () => import("rxjs").Observable<import("../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>;
|
|
22
|
-
}>;
|
|
23
|
-
requestTreeItemsOf(parentId: string | null): Promise<{
|
|
24
|
-
data: undefined;
|
|
25
|
-
error: {
|
|
26
|
-
title: string;
|
|
27
|
-
message: string;
|
|
28
|
-
};
|
|
29
|
-
}>;
|
|
30
|
-
requestItemsLegacy(ids: Array<string>): Promise<{
|
|
31
|
-
data: import("../../../../external/backend-api/index.js").ItemResponseModelBaseModel[] | undefined;
|
|
32
|
-
error: import("../../../../external/backend-api/index.js").ApiError | import("../../../../external/backend-api/index.js").CancelError | undefined;
|
|
33
|
-
asObservable: () => import("rxjs").Observable<import("../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>;
|
|
34
|
-
}>;
|
|
35
|
-
rootTreeItems(): Promise<import("rxjs").Observable<import("../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>>;
|
|
36
|
-
treeItemsOf(parentId: string | null): Promise<import("rxjs").Observable<import("../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>>;
|
|
37
|
-
itemsLegacy(ids: Array<string>): Promise<import("rxjs").Observable<import("../../../../external/backend-api/index.js").EntityTreeItemResponseModel[]>>;
|
|
38
8
|
createScaffold(parentId: string | null): Promise<{
|
|
39
9
|
data: RelationTypeResponseModel;
|
|
40
10
|
}>;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UMB_RELATION_TYPE_TREE_STORE_CONTEXT } from '../tree/index.js';
|
|
2
2
|
import { UmbRelationTypeServerDataSource } from './sources/relation-type.server.data.js';
|
|
3
3
|
import { UMB_RELATION_TYPE_STORE_CONTEXT_TOKEN } from './relation-type.store.js';
|
|
4
|
-
import { UmbRelationTypeTreeServerDataSource } from './sources/relation-type.tree.server.data.js';
|
|
5
4
|
import { UmbBaseController } from '../../../../libs/controller-api/index.js';
|
|
6
5
|
import { UMB_NOTIFICATION_CONTEXT_TOKEN } from '../../../core/notification/index.js';
|
|
7
6
|
export class UmbRelationTypeRepository extends UmbBaseController {
|
|
8
7
|
#init;
|
|
9
|
-
#treeSource;
|
|
10
8
|
#treeStore;
|
|
11
9
|
#detailDataSource;
|
|
12
10
|
#detailStore;
|
|
@@ -14,10 +12,9 @@ export class UmbRelationTypeRepository extends UmbBaseController {
|
|
|
14
12
|
constructor(host) {
|
|
15
13
|
super(host);
|
|
16
14
|
// TODO: figure out how spin up get the correct data source
|
|
17
|
-
this.#treeSource = new UmbRelationTypeTreeServerDataSource(this._host);
|
|
18
15
|
this.#detailDataSource = new UmbRelationTypeServerDataSource(this._host);
|
|
19
16
|
this.#init = Promise.all([
|
|
20
|
-
this.consumeContext(
|
|
17
|
+
this.consumeContext(UMB_RELATION_TYPE_TREE_STORE_CONTEXT, (instance) => {
|
|
21
18
|
this.#treeStore = instance;
|
|
22
19
|
}).asPromise(),
|
|
23
20
|
this.consumeContext(UMB_RELATION_TYPE_STORE_CONTEXT_TOKEN, (instance) => {
|
|
@@ -30,49 +27,6 @@ export class UmbRelationTypeRepository extends UmbBaseController {
|
|
|
30
27
|
}
|
|
31
28
|
// TODO: Trash
|
|
32
29
|
// TODO: Move
|
|
33
|
-
// TREE:
|
|
34
|
-
async requestTreeRoot() {
|
|
35
|
-
await this.#init;
|
|
36
|
-
const data = {
|
|
37
|
-
id: null,
|
|
38
|
-
type: 'relation-type-root',
|
|
39
|
-
name: 'Relation Types',
|
|
40
|
-
icon: 'icon-folder',
|
|
41
|
-
hasChildren: true,
|
|
42
|
-
};
|
|
43
|
-
return { data };
|
|
44
|
-
}
|
|
45
|
-
async requestRootTreeItems() {
|
|
46
|
-
await this.#init;
|
|
47
|
-
const { data, error } = await this.#treeSource.getRootItems();
|
|
48
|
-
if (data) {
|
|
49
|
-
this.#treeStore?.appendItems(data.items);
|
|
50
|
-
}
|
|
51
|
-
return { data, error, asObservable: () => this.#treeStore.rootItems };
|
|
52
|
-
}
|
|
53
|
-
//TODO RelationTypes can't have children. But this method is required by the tree interface.
|
|
54
|
-
async requestTreeItemsOf(parentId) {
|
|
55
|
-
return { data: undefined, error: { title: 'Not implemented', message: 'Not implemented' } };
|
|
56
|
-
}
|
|
57
|
-
async requestItemsLegacy(ids) {
|
|
58
|
-
if (!ids)
|
|
59
|
-
throw new Error('Ids are missing');
|
|
60
|
-
await this.#init;
|
|
61
|
-
const { data, error } = await this.#treeSource.getItems(ids);
|
|
62
|
-
return { data, error, asObservable: () => this.#treeStore.items(ids) };
|
|
63
|
-
}
|
|
64
|
-
async rootTreeItems() {
|
|
65
|
-
await this.#init;
|
|
66
|
-
return this.#treeStore.rootItems;
|
|
67
|
-
}
|
|
68
|
-
async treeItemsOf(parentId) {
|
|
69
|
-
await this.#init;
|
|
70
|
-
return this.#treeStore.childrenOf(parentId);
|
|
71
|
-
}
|
|
72
|
-
async itemsLegacy(ids) {
|
|
73
|
-
await this.#init;
|
|
74
|
-
return this.#treeStore.items(ids);
|
|
75
|
-
}
|
|
76
30
|
// DETAILS:
|
|
77
31
|
async createScaffold(parentId) {
|
|
78
32
|
if (parentId === undefined)
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { UmbRelationTypeTreeRepository } from './relation-type-tree.repository.js';
|
|
2
|
+
export { UMB_RELATION_TYPE_TREE_REPOSITORY_ALIAS, UMB_RELATION_TYPE_TREE_STORE_ALIAS, UMB_RELATION_TYPE_TREE_ALIAS, } from './manifests.js';
|
|
3
|
+
export { UMB_RELATION_TYPE_TREE_STORE_CONTEXT } from './relation-type-tree.store.js';
|
|
4
|
+
export { type UmbRelationTypeTreeStore } from './relation-type-tree.store.js';
|
|
5
|
+
export * from './types.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { UmbRelationTypeTreeRepository } from './relation-type-tree.repository.js';
|
|
2
|
+
export { UMB_RELATION_TYPE_TREE_REPOSITORY_ALIAS, UMB_RELATION_TYPE_TREE_STORE_ALIAS, UMB_RELATION_TYPE_TREE_ALIAS, } from './manifests.js';
|
|
3
|
+
export { UMB_RELATION_TYPE_TREE_STORE_CONTEXT } from './relation-type-tree.store.js';
|
|
4
|
+
export * from './types.js';
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import type { ManifestTree, ManifestTreeItem } from '../../../core/extension-registry/index.js';
|
|
2
|
-
export declare const
|
|
1
|
+
import type { ManifestRepository, ManifestTree, ManifestTreeItem, ManifestTreeStore } from '../../../core/extension-registry/index.js';
|
|
2
|
+
export declare const UMB_RELATION_TYPE_TREE_REPOSITORY_ALIAS = "Umb.Repository.RelationType.Tree";
|
|
3
|
+
export declare const UMB_RELATION_TYPE_TREE_STORE_ALIAS = "Umb.Store.RelationType.Tree";
|
|
4
|
+
export declare const UMB_RELATION_TYPE_TREE_ALIAS = "Umb.Tree.RelationType";
|
|
5
|
+
export declare const manifests: (ManifestTree | ManifestTreeItem | ManifestTreeStore | ManifestRepository<import("../../../../libs/extension-api/types.js").UmbApi>)[];
|
|
@@ -1,19 +1,36 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UMB_RELATION_TYPE_ENTITY_TYPE, UMB_RELATION_TYPE_ROOT_ENTITY_TYPE } from '../entities.js';
|
|
2
|
+
import { UmbRelationTypeTreeRepository } from './relation-type-tree.repository.js';
|
|
3
|
+
import { UmbRelationTypeTreeStore } from './relation-type-tree.store.js';
|
|
4
|
+
export const UMB_RELATION_TYPE_TREE_REPOSITORY_ALIAS = 'Umb.Repository.RelationType.Tree';
|
|
5
|
+
export const UMB_RELATION_TYPE_TREE_STORE_ALIAS = 'Umb.Store.RelationType.Tree';
|
|
6
|
+
export const UMB_RELATION_TYPE_TREE_ALIAS = 'Umb.Tree.RelationType';
|
|
7
|
+
const treeRepository = {
|
|
8
|
+
type: 'repository',
|
|
9
|
+
alias: UMB_RELATION_TYPE_TREE_REPOSITORY_ALIAS,
|
|
10
|
+
name: 'Relation Type Tree Repository',
|
|
11
|
+
api: UmbRelationTypeTreeRepository,
|
|
12
|
+
};
|
|
13
|
+
const treeStore = {
|
|
14
|
+
type: 'treeStore',
|
|
15
|
+
alias: UMB_RELATION_TYPE_TREE_STORE_ALIAS,
|
|
16
|
+
name: 'Relation Type Tree Store',
|
|
17
|
+
api: UmbRelationTypeTreeStore,
|
|
18
|
+
};
|
|
2
19
|
const tree = {
|
|
3
20
|
type: 'tree',
|
|
4
|
-
alias:
|
|
5
|
-
name: 'Relation
|
|
21
|
+
alias: UMB_RELATION_TYPE_TREE_ALIAS,
|
|
22
|
+
name: 'Relation Type Tree',
|
|
6
23
|
meta: {
|
|
7
|
-
repositoryAlias:
|
|
24
|
+
repositoryAlias: UMB_RELATION_TYPE_TREE_REPOSITORY_ALIAS,
|
|
8
25
|
},
|
|
9
26
|
};
|
|
10
27
|
const treeItem = {
|
|
11
28
|
type: 'treeItem',
|
|
12
29
|
kind: 'entity',
|
|
13
30
|
alias: 'Umb.TreeItem.RelationType',
|
|
14
|
-
name: '
|
|
31
|
+
name: 'RelationType Tree Item',
|
|
15
32
|
meta: {
|
|
16
|
-
entityTypes: [
|
|
33
|
+
entityTypes: [UMB_RELATION_TYPE_ROOT_ENTITY_TYPE, UMB_RELATION_TYPE_ENTITY_TYPE],
|
|
17
34
|
},
|
|
18
35
|
};
|
|
19
|
-
export const manifests = [tree, treeItem];
|
|
36
|
+
export const manifests = [treeRepository, treeStore, tree, treeItem];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { UmbRelationTypeTreeItemModel, UmbRelationTypeTreeRootModel } from './types.js';
|
|
2
|
+
import { UmbTreeRepositoryBase } from '../../../core/tree/index.js';
|
|
3
|
+
import { type UmbControllerHost } from '../../../../libs/controller-api/index.js';
|
|
4
|
+
import { UmbApi } from '../../../../libs/extension-api/index.js';
|
|
5
|
+
export declare class UmbRelationTypeTreeRepository extends UmbTreeRepositoryBase<UmbRelationTypeTreeItemModel, UmbRelationTypeTreeRootModel> implements UmbApi {
|
|
6
|
+
constructor(host: UmbControllerHost);
|
|
7
|
+
requestTreeRoot(): Promise<{
|
|
8
|
+
data: {
|
|
9
|
+
id: null;
|
|
10
|
+
type: string;
|
|
11
|
+
name: string;
|
|
12
|
+
icon: string;
|
|
13
|
+
hasChildren: boolean;
|
|
14
|
+
};
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { UMB_RELATION_TYPE_ROOT_ENTITY_TYPE } from '../entities.js';
|
|
2
|
+
import { UmbRelationTypeTreeServerDataSource } from './relation-type-tree.server.data-source.js';
|
|
3
|
+
import { UMB_RELATION_TYPE_TREE_STORE_CONTEXT } from './relation-type-tree.store.js';
|
|
4
|
+
import { UmbTreeRepositoryBase } from '../../../core/tree/index.js';
|
|
5
|
+
export class UmbRelationTypeTreeRepository extends UmbTreeRepositoryBase {
|
|
6
|
+
constructor(host) {
|
|
7
|
+
super(host, UmbRelationTypeTreeServerDataSource, UMB_RELATION_TYPE_TREE_STORE_CONTEXT);
|
|
8
|
+
}
|
|
9
|
+
async requestTreeRoot() {
|
|
10
|
+
const data = {
|
|
11
|
+
id: null,
|
|
12
|
+
type: UMB_RELATION_TYPE_ROOT_ENTITY_TYPE,
|
|
13
|
+
name: 'Relation Types',
|
|
14
|
+
icon: 'icon-trash',
|
|
15
|
+
hasChildren: true,
|
|
16
|
+
};
|
|
17
|
+
return { data };
|
|
18
|
+
}
|
|
19
|
+
}
|
package/dist-cms/packages/settings/relation-types/tree/relation-type-tree.server.data-source.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { UmbTreeDataSource } from '../../../core/tree/index.js';
|
|
2
|
+
import { EntityTreeItemResponseModel } from '../../../../external/backend-api/index.js';
|
|
3
|
+
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* A data source for the Relation Type tree that fetches data from the server
|
|
6
|
+
* @export
|
|
7
|
+
* @class UmbRelationTypeTreeServerDataSource
|
|
8
|
+
* @implements {UmbTreeDataSource}
|
|
9
|
+
*/
|
|
10
|
+
export declare class UmbRelationTypeTreeServerDataSource implements UmbTreeDataSource<EntityTreeItemResponseModel> {
|
|
11
|
+
#private;
|
|
12
|
+
/**
|
|
13
|
+
* Creates an instance of UmbRelationTypeTreeServerDataSource.
|
|
14
|
+
* @param {UmbControllerHost} host
|
|
15
|
+
* @memberof UmbRelationTypeTreeServerDataSource
|
|
16
|
+
*/
|
|
17
|
+
constructor(host: UmbControllerHost);
|
|
18
|
+
/**
|
|
19
|
+
* Fetches the root items for the tree from the server
|
|
20
|
+
* @return {*}
|
|
21
|
+
* @memberof UmbRelationTypeTreeServerDataSource
|
|
22
|
+
*/
|
|
23
|
+
getRootItems(): Promise<import("../../../core/repository/index.js").DataSourceResponse<import("../../../../external/backend-api/index.js").PagedEntityTreeItemResponseModel>>;
|
|
24
|
+
/**
|
|
25
|
+
* Fetches the children of a given parent id from the server
|
|
26
|
+
* @param {(string)} parentId
|
|
27
|
+
* @return {*}
|
|
28
|
+
* @memberof UmbRelationTypeTreeServerDataSource
|
|
29
|
+
*/
|
|
30
|
+
getChildrenOf(parentId: string | null): Promise<any>;
|
|
31
|
+
getItems(unique: Array<string>): Promise<any>;
|
|
32
|
+
}
|
package/dist-cms/packages/settings/relation-types/tree/relation-type-tree.server.data-source.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { RelationTypeResource } from '../../../../external/backend-api/index.js';
|
|
2
|
+
import { tryExecuteAndNotify } from '../../../../shared/resources/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* A data source for the Relation Type tree that fetches data from the server
|
|
5
|
+
* @export
|
|
6
|
+
* @class UmbRelationTypeTreeServerDataSource
|
|
7
|
+
* @implements {UmbTreeDataSource}
|
|
8
|
+
*/
|
|
9
|
+
export class UmbRelationTypeTreeServerDataSource {
|
|
10
|
+
#host;
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of UmbRelationTypeTreeServerDataSource.
|
|
13
|
+
* @param {UmbControllerHost} host
|
|
14
|
+
* @memberof UmbRelationTypeTreeServerDataSource
|
|
15
|
+
*/
|
|
16
|
+
constructor(host) {
|
|
17
|
+
this.#host = host;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Fetches the root items for the tree from the server
|
|
21
|
+
* @return {*}
|
|
22
|
+
* @memberof UmbRelationTypeTreeServerDataSource
|
|
23
|
+
*/
|
|
24
|
+
async getRootItems() {
|
|
25
|
+
return tryExecuteAndNotify(this.#host, RelationTypeResource.getTreeRelationTypeRoot({}));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Fetches the children of a given parent id from the server
|
|
29
|
+
* @param {(string)} parentId
|
|
30
|
+
* @return {*}
|
|
31
|
+
* @memberof UmbRelationTypeTreeServerDataSource
|
|
32
|
+
*/
|
|
33
|
+
async getChildrenOf(parentId) {
|
|
34
|
+
/* TODO: should we make getRootItems() internal
|
|
35
|
+
so it only is a server concern that there are two endpoints? */
|
|
36
|
+
if (parentId === null) {
|
|
37
|
+
return this.getRootItems();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw new Error('Not supported for the relation type tree');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// TODO: remove when interface is cleaned up
|
|
44
|
+
async getItems(unique) {
|
|
45
|
+
throw new Error('Dot not use this method. Use the item source instead');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -5,7 +5,7 @@ import { UmbEntityTreeStore } from '../../../core/tree/index.js';
|
|
|
5
5
|
* @export
|
|
6
6
|
* @class UmbRelationTypeTreeStore
|
|
7
7
|
* @extends {UmbStoreBase}
|
|
8
|
-
* @description - Tree Data Store for
|
|
8
|
+
* @description - Tree Data Store for Relation Type Items
|
|
9
9
|
*/
|
|
10
10
|
export declare class UmbRelationTypeTreeStore extends UmbEntityTreeStore {
|
|
11
11
|
/**
|
|
@@ -15,4 +15,4 @@ export declare class UmbRelationTypeTreeStore extends UmbEntityTreeStore {
|
|
|
15
15
|
*/
|
|
16
16
|
constructor(host: UmbControllerHostElement);
|
|
17
17
|
}
|
|
18
|
-
export declare const
|
|
18
|
+
export declare const UMB_RELATION_TYPE_TREE_STORE_CONTEXT: UmbContextToken<UmbRelationTypeTreeStore, UmbRelationTypeTreeStore>;
|
|
@@ -4,9 +4,8 @@ import { UmbEntityTreeStore } from '../../../core/tree/index.js';
|
|
|
4
4
|
* @export
|
|
5
5
|
* @class UmbRelationTypeTreeStore
|
|
6
6
|
* @extends {UmbStoreBase}
|
|
7
|
-
* @description - Tree Data Store for
|
|
7
|
+
* @description - Tree Data Store for Relation Type Items
|
|
8
8
|
*/
|
|
9
|
-
// TODO: consider if tree store could be turned into a general EntityTreeStore class?
|
|
10
9
|
export class UmbRelationTypeTreeStore extends UmbEntityTreeStore {
|
|
11
10
|
/**
|
|
12
11
|
* Creates an instance of UmbRelationTypeTreeStore.
|
|
@@ -14,7 +13,7 @@ export class UmbRelationTypeTreeStore extends UmbEntityTreeStore {
|
|
|
14
13
|
* @memberof UmbRelationTypeTreeStore
|
|
15
14
|
*/
|
|
16
15
|
constructor(host) {
|
|
17
|
-
super(host,
|
|
16
|
+
super(host, UMB_RELATION_TYPE_TREE_STORE_CONTEXT.toString());
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
|
-
export const
|
|
19
|
+
export const UMB_RELATION_TYPE_TREE_STORE_CONTEXT = new UmbContextToken('UmbRelationTypeTreeStore');
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { EntityTreeItemResponseModel } from '../../../../external/backend-api/index.js';
|
|
2
|
+
import type { UmbEntityTreeItemModel, UmbEntityTreeRootModel } from '../../../core/tree/index.js';
|
|
3
|
+
export type UmbRelationTypeTreeItemModel = EntityTreeItemResponseModel & UmbEntityTreeItemModel;
|
|
4
|
+
export type UmbRelationTypeTreeRootModel = EntityTreeItemResponseModel & UmbEntityTreeRootModel;
|