@@ -58,28 +58,31 @@ export abstract class UmbMenuTreeStructureWorkspaceContextBase extends UmbContex
58
58
}
59
59
60
60
const isNew = this . #workspaceContext?. getIsNew ( ) ;
61
- const uniqueObservable = isNew ? this . #workspaceContext?. parentUnique : this . #workspaceContext?. unique ;
62
- const entityTypeObservable = isNew ? this . #workspaceContext?. parentEntityType : this . #workspaceContext?. entityType ;
63
-
64
- const unique = ( await this . observe ( uniqueObservable , ( ) => { } ) ?. asPromise ( ) ) as string ;
65
- if ( ! unique ) throw new Error ( 'Unique is not available' ) ;
66
61
62
+ const entityTypeObservable = isNew ? this . #workspaceContext?. parentEntityType : this . #workspaceContext?. entityType ;
67
63
const entityType = ( await this . observe ( entityTypeObservable , ( ) => { } ) ?. asPromise ( ) ) as string ;
68
64
if ( ! entityType ) throw new Error ( 'Entity type is not available' ) ;
69
65
70
- const { data } = await treeRepository . requestTreeItemAncestors ( { treeItem : { unique, entityType } } ) ;
71
-
72
- if ( data ) {
73
- const ancestorItems = data . map ( ( treeItem ) => {
74
- return {
75
- unique : treeItem . unique ,
76
- entityType : treeItem . entityType ,
77
- name : treeItem . name ,
78
- isFolder : treeItem . isFolder ,
79
- } ;
80
- } ) ;
81
-
82
- structureItems . push ( ...ancestorItems ) ;
66
+ // If the entity type is different from the root entity type, then we can request the ancestors.
67
+ if ( entityType !== root ?. entityType ) {
68
+ const uniqueObservable = isNew ? this . #workspaceContext?. parentUnique : this . #workspaceContext?. unique ;
69
+ const unique = ( await this . observe ( uniqueObservable , ( ) => { } ) ?. asPromise ( ) ) as string ;
70
+ if ( ! unique ) throw new Error ( 'Unique is not available' ) ;
71
+
72
+ const { data } = await treeRepository . requestTreeItemAncestors ( { treeItem : { unique, entityType } } ) ;
73
+
74
+ if ( data ) {
75
+ const ancestorItems = data . map ( ( treeItem ) => {
76
+ return {
77
+ unique : treeItem . unique ,
78
+ entityType : treeItem . entityType ,
79
+ name : treeItem . name ,
80
+ isFolder : treeItem . isFolder ,
81
+ } ;
82
+ } ) ;
83
+
84
+ structureItems . push ( ...ancestorItems ) ;
85
+ }
83
86
}
84
87
85
88
const parent = structureItems [ structureItems . length - 2 ] ;
0 commit comments