43 lines
1.5 KiB
Plaintext
43 lines
1.5 KiB
Plaintext
using { AdminService } from '@capire/bookstore';
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Genres Tree View
|
|
//
|
|
|
|
// Tell Fiori about the structure of the hierarchy
|
|
annotate AdminService.Genres with @Aggregation.RecursiveHierarchy #GenresHierarchy : {
|
|
ParentNavigationProperty : parent, // navigates to a node's parent
|
|
NodeProperty : ID, // identifies a node, usually the key
|
|
};
|
|
|
|
// Fiori expects the following to be defined explicitly, even though they're always the same
|
|
extend AdminService.Genres with @(
|
|
// The columns expected by Fiori to be present in hierarchy entities
|
|
Hierarchy.RecursiveHierarchy #GenresHierarchy : {
|
|
LimitedDescendantCount : LimitedDescendantCount,
|
|
DistanceFromRoot : DistanceFromRoot,
|
|
DrillState : DrillState,
|
|
LimitedRank : LimitedRank
|
|
},
|
|
// Disallow filtering on these properties from Fiori UIs
|
|
Capabilities.FilterRestrictions.NonFilterableProperties: [
|
|
'LimitedDescendantCount',
|
|
'DistanceFromRoot',
|
|
'DrillState',
|
|
'LimitedRank'
|
|
],
|
|
// Disallow sorting on these properties from Fiori UIs
|
|
Capabilities.SortRestrictions.NonSortableProperties : [
|
|
'LimitedDescendantCount',
|
|
'DistanceFromRoot',
|
|
'DrillState',
|
|
'LimitedRank'
|
|
],
|
|
) columns { // Ensure we can query these fields from database
|
|
null as LimitedDescendantCount : Int16,
|
|
null as DistanceFromRoot : Int16,
|
|
null as DrillState : String,
|
|
null as LimitedRank : Int16,
|
|
};
|