@@ -58,28 +58,31 @@ export abstract class UmbMenuTreeStructureWorkspaceContextBase extends UmbContex
5858 }
5959
6060 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' ) ;
6661
62+ const entityTypeObservable = isNew ? this . #workspaceContext?. parentEntityType : this . #workspaceContext?. entityType ;
6763 const entityType = ( await this . observe ( entityTypeObservable , ( ) => { } ) ?. asPromise ( ) ) as string ;
6864 if ( ! entityType ) throw new Error ( 'Entity type is not available' ) ;
6965
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+ }
8386 }
8487
8588 const parent = structureItems [ structureItems . length - 2 ] ;
0 commit comments