forked from SAP-samples/fiori-elements-feature-showcase
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvalue-helps.cds
More file actions
161 lines (152 loc) · 6.01 KB
/
value-helps.cds
File metadata and controls
161 lines (152 loc) · 6.01 KB
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
using { sap.fe.showcase 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,
// Search-Term: #RadioButtons | Render Value help with radio buttons
ValueListWithFixedValues.@Common.ValueListShowValuesImmediately,
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>contact}', //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>Order}',
CollectionPath : 'Orders',
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
},
//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',
},
]
}
});
regionWithConstantValueHelp @(Common : {
Text : regionWithConstantValueHelp.name,
TextArrangement : #TextFirst,
ValueListWithFixedValues: true,
ValueList : {
Label : '{i18n>region}',
CollectionPath : 'Regions',
Parameters : [
{
$Type : 'Common.ValueListParameterInOut',
ValueListProperty : 'code',
LocalDataProperty : region_code
},
//To only show regions for Germany
//Search-Term: #ConstantFilter
{
$Type : 'Common.ValueListParameterConstant',
ValueListProperty : 'country_code',
Constant : 'DE',
},
]
}
});
};
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',
},
]
}
});
}