-
Notifications
You must be signed in to change notification settings - Fork 77
/
Copy pathvalue-helps.cds
141 lines (132 loc) · 5.25 KB
/
value-helps.cds
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
using { sap.fe.featureShowcase as schema } from '../../db/schema';
//
// annotations for value helps
// Search-Term: #ValueHelps
//
annotate schema.RootEntities with{
uom @Common.ValueListWithFixedValues; //Instead of dialog box, the value help is a dropdown
criticality_code @(Common : {
ValueListWithFixedValues: true,
ValueList : {
Label : '{i18n>criticality}',
CollectionPath : 'Criticality',
Parameters : [
{
$Type : 'Common.ValueListParameterInOut',
ValueListProperty : 'code',
LocalDataProperty : criticality_code
}
]
}
});
//To have a Value help when editing and to show the name instead of the UUID
contact @(Common : {
Text : contact.name,
TextArrangement : #TextOnly,
ValueList : {
Label : '{i18n>customer}', //Title of the value help dialog
CollectionPath : 'Contacts', //Entities of the value help. Refers to an entity name from the CAP service
Parameters : [
{
$Type : 'Common.ValueListParameterInOut',
ValueListProperty : 'ID', //Binding between ID and contact_ID, that everything works
LocalDataProperty : contact_ID
},
{
$Type : 'Common.ValueListParameterDisplayOnly', //Displays additional information from the entity set of the value help
ValueListProperty : 'country_code',
},
{
$Type : 'Common.ValueListParameterDisplayOnly',
ValueListProperty : 'city',
}
]
}
});
association2one @(Common : {
ValueListWithFixedValues: true,
ValueList : {
Label : '{i18n>ChildEntity2}',
CollectionPath : 'ChildEntities2',
Parameters : [
{
$Type : 'Common.ValueListParameterInOut',
ValueListProperty : 'ID',
LocalDataProperty : association2one_ID
},
{
$Type : 'Common.ValueListParameterDisplayOnly',
ValueListProperty : 'stringProperty',
},
{
$Type : 'Common.ValueListParameterDisplayOnly',
ValueListProperty : 'integerProperty',
},
{
$Type : 'Common.ValueListParameterDisplayOnly',
ValueListProperty : 'decimalProperty',
},
{
$Type : 'Common.ValueListParameterDisplayOnly',
ValueListProperty : 'country_code',
}
]
}
});
//Search-Term: #DependentFilter
region @(Common : {
Text : region.name,
TextArrangement : #TextFirst,
ValueListWithFixedValues: true,
ValueList : {
Label : '{i18n>Region}',
CollectionPath : 'Regions',
Parameters : [
{
$Type : 'Common.ValueListParameterInOut',
ValueListProperty : 'code',
LocalDataProperty : region_code
},
{
$Type : 'Common.ValueListParameterOut',
ValueListProperty : 'name',
LocalDataProperty : region.name,
},
//To only show the connected values
{
$Type : 'Common.ValueListParameterFilterOnly',
ValueListProperty : 'country_code',
},
{
$Type : 'Common.ValueListParameterIn', //Input parameter used for filtering
LocalDataProperty : country_code,
ValueListProperty : 'country_code',
},
]
}
});
};
annotate schema.AssignedRegions with {
//Search-Term: #MultiValueWithDependentFilter
region @(Common : {
Text : region.name,
TextArrangement : #TextFirst,
ValueListWithFixedValues: true,
ValueList : {
Label : '{i18n>Region}',
CollectionPath : 'Regions',
Parameters : [
{
$Type : 'Common.ValueListParameterInOut',
ValueListProperty : 'code',
LocalDataProperty : region_code
},
{
$Type : 'Common.ValueListParameterIn', //Input parameter used for filtering
LocalDataProperty : root.country_code,
ValueListProperty : 'country_code',
},
]
}
});
}