Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add term UI.UserInteraction #61

Draft
wants to merge 100 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
e40b835
Update UI.xml
HeikoTheissen Oct 7, 2020
ff3fa69
Update UI.xml
HeikoTheissen Oct 7, 2020
adfb6b4
auto-refreshed
HeikoTheissen Oct 7, 2020
ea68f0c
Update UI.xml
HeikoTheissen Oct 8, 2020
e851f08
auto-refreshed
HeikoTheissen Oct 8, 2020
855876a
Update vocabularies/UI.xml
HeikoTheissen Dec 9, 2020
d52ab81
auto-refreshed
HeikoTheissen Dec 9, 2020
cda25ca
Update UI.xml
HeikoTheissen Dec 9, 2020
71af81b
auto-refreshed
HeikoTheissen Dec 9, 2020
6549b26
Create com.sap.vocabularies.UI.v1.UserInteraction-sample.xml
HeikoTheissen Dec 9, 2020
84c3df8
Update com.sap.vocabularies.UI.v1.UserInteraction-sample.xml
HeikoTheissen Dec 9, 2020
bd3a5eb
Merge branch 'master' into UI.UserInteraction
ralfhandl Dec 9, 2020
53695b4
Merge branch 'master' into UI.UserInteraction
ralfhandl Dec 9, 2020
3ab2a7f
Update UI.xml
HeikoTheissen Dec 9, 2020
bf02b7e
auto-refreshed
HeikoTheissen Dec 9, 2020
8b3ff09
Update com.sap.vocabularies.UI.v1.UserInteraction-sample.xml
HeikoTheissen Dec 9, 2020
398ce9c
Update UI.xml
HeikoTheissen Dec 9, 2020
1cad142
auto-refreshed
HeikoTheissen Dec 9, 2020
fa83b9a
Update com.sap.vocabularies.UI.v1.UserInteraction-sample.xml
HeikoTheissen Dec 9, 2020
f0262e2
Re-use Common.ValueListParameterOut type
HeikoTheissen Dec 9, 2020
e3e74b7
auto-refreshed
HeikoTheissen Dec 9, 2020
6dd2d61
Update UI.xml
HeikoTheissen Dec 9, 2020
a43816b
auto-refreshed
HeikoTheissen Dec 9, 2020
801d482
Update UI.xml
HeikoTheissen Dec 9, 2020
b584586
auto-refreshed
HeikoTheissen Dec 9, 2020
3e51d37
Update UI.xml
HeikoTheissen Dec 9, 2020
3558583
auto-refreshed
HeikoTheissen Dec 9, 2020
04f7ac7
Update com.sap.vocabularies.UI.v1.UserInteraction-sample.xml
HeikoTheissen Dec 9, 2020
e0adb8c
Update UI.xml
HeikoTheissen Feb 12, 2021
ca3b8a0
auto-refreshed
HeikoTheissen Feb 12, 2021
c25e19b
Update com.sap.vocabularies.UI.v1.UserInteraction-sample.xml
HeikoTheissen Feb 12, 2021
66a0f8d
Merge remote-tracking branch 'origin/master' into UI.UserInteraction
HeikoTheissen Feb 27, 2021
2fab035
Update nodejs.yml
ralfhandl Feb 8, 2021
07c3e09
moved example
HeikoTheissen Feb 27, 2021
f25f3ed
typo
HeikoTheissen May 26, 2021
a8258de
Merge remote-tracking branch 'origin/master' into UI.UserInteraction
HeikoTheissen May 26, 2021
c7ce8fc
minor rephrasing
HeikoTheissen May 26, 2021
33cee04
Derived types instead of enumerated values for interaction method
HeikoTheissen May 26, 2021
0a1e0ae
Redo lost changes
HeikoTheissen May 26, 2021
d0bef64
More detail for ChooseMultiple
HeikoTheissen May 27, 2021
54b0341
removed AppliesViaContainer
HeikoTheissen May 29, 2021
3536738
Allow user interaction via odata.navigationLink
HeikoTheissen Jun 1, 2021
30ae3e2
Merge remote-tracking branch 'origin/master' into UI.UserInteraction
HeikoTheissen Jun 1, 2021
1f58244
Avoid JSON-specific @ prefix
HeikoTheissen Jun 1, 2021
6912e47
Instance annotation suggested by @uhlmannm
HeikoTheissen Jun 2, 2021
31108f6
Rephrasing
HeikoTheissen Jun 2, 2021
a454bbd
revert userInteraction instance annotation
HeikoTheissen Jun 2, 2021
a6f99fa
markdown error
HeikoTheissen Jun 2, 2021
c8282bc
format of innererror
HeikoTheissen Jun 2, 2021
2e55feb
Readability
HeikoTheissen Jun 2, 2021
20a5303
rephrasing
HeikoTheissen Jun 2, 2021
bd6b0d9
new vocabulary for Edm.Untyped annotation
HeikoTheissen Jun 2, 2021
8f40118
rephrasing
HeikoTheissen Jun 2, 2021
0912f97
ConflictResponse -> ErrorResponse
HeikoTheissen Jun 2, 2021
71a3266
ErrorResponse -> Common_401
HeikoTheissen Jun 2, 2021
cd02062
README.md
HeikoTheissen Jun 7, 2021
41ff3c6
userInteraction -> callback
HeikoTheissen Jun 7, 2021
5a1120e
rephrasing
HeikoTheissen Jun 7, 2021
89d63a1
typos
HeikoTheissen Jun 9, 2021
8ed1c65
Merge remote-tracking branch 'origin/master' into UI.UserInteraction
HeikoTheissen Jun 21, 2021
87a8947
Merge remote-tracking branch 'origin/master' into UI.UserInteraction
HeikoTheissen Jul 6, 2021
857751f
Merge remote-tracking branch 'origin/master' into UI.UserInteraction
HeikoTheissen Jul 7, 2021
7f80597
touch README.md
HeikoTheissen Jul 7, 2021
cc82be0
touch README.md again
HeikoTheissen Jul 7, 2021
46caf20
Update README.md
ralfhandl Jul 7, 2021
a381de1
avoid "immediate"
HeikoTheissen Jul 7, 2021
c4f99b8
dummy
HeikoTheissen Jul 8, 2021
c4a6da9
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Jul 9, 2021
70bf3d6
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Jul 14, 2021
004b2a9
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Aug 6, 2021
809bd40
master -> main
HeikoTheissen Aug 12, 2021
13dde90
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Sep 28, 2021
bf333c0
Detailed example
HeikoTheissen Sep 28, 2021
e976d4e
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Dec 8, 2021
d3e915c
Detailed example
HeikoTheissen Jan 4, 2022
a2cefce
nullability
HeikoTheissen Jan 4, 2022
4f924de
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Jan 4, 2022
b765f5a
clicks -> triggers
HeikoTheissen Jan 4, 2022
3b3cc97
rephrasing
HeikoTheissen Jan 4, 2022
0039844
rephrasing
HeikoTheissen Jan 5, 2022
17df8da
rephrasing
HeikoTheissen Jan 5, 2022
0f87507
Avoid Collection(Edm.PrimitiveType)
HeikoTheissen Jan 20, 2022
d56e10d
DataField.Value does not allowed mixed-type collections
HeikoTheissen Jun 9, 2022
b88c1a2
+Edm.Double
HeikoTheissen Jun 9, 2022
c36cfa8
+Edm.Byte, +Edm.String
HeikoTheissen Jun 9, 2022
f5c6626
Merge remote-tracking branch 'origin/ODATA-1498' into UI.UserInteraction
HeikoTheissen Jun 10, 2022
334f46e
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Jul 26, 2022
acf4910
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Sep 6, 2022
138cc5d
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Apr 13, 2023
103b85c
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Apr 28, 2023
b2f5854
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Dec 12, 2023
c88dbcf
Remedial action via action
HeikoTheissen Dec 13, 2023
4d2a927
jsonc
HeikoTheissen Dec 13, 2023
3467120
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Dec 13, 2023
fda2d8b
Corrected example
HeikoTheissen Dec 13, 2023
eadfe5e
UI.UserInteractionResolveConflict
HeikoTheissen Dec 13, 2023
8c34ac5
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Jul 29, 2024
ad404e0
Mandatory vs. optional user interactions
HeikoTheissen Jan 14, 2025
d58d6cb
Merge remote-tracking branch 'origin/main' into UI.UserInteraction
HeikoTheissen Jan 14, 2025
2925e36
Optional user interaction
HeikoTheissen Jan 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Optional user interaction
HeikoTheissen committed Jan 14, 2025
commit 2925e365fb6783ad6a61e92884989f339bf997ae
15 changes: 4 additions & 11 deletions vocabularies/UI.json
Original file line number Diff line number Diff line change
@@ -1828,7 +1828,7 @@
"$Kind": "Term",
"$Type": "UI.UserInteractionType",
"$AppliesTo": ["NavigationProperty"],
"@Core.Description": "When the annotated navigation property or its `odata.navigationLink` occurs in a response,\n the UI shall use the addressed entity or collection to interact with the user\n and optionally repeat the corresponding request with the additional information obtained from the user",
"@Core.Description": "When the annotated navigation property or its `odata.navigationLink` occurs in a response,\n the UI shall use the addressed entity or collection to interact with the user\n and then repeat the corresponding request with the additional information obtained from the user",
"@Core.LongDescription": "If the response is an [error response](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_ErrorResponse),\n the annotated navigation property MAY occur in a [`Common.callback`](Common.md#callback) instance annotation.\n A navigation property thus annotated may be interpreted as not belonging to the object model\n but containing auxiliary information that is not always needed. See also [this example](../examples/UI.UserInteraction-sample.md)."
},
"UserInteractionSimple": {
@@ -1869,27 +1869,20 @@
"@Core.LongDescription": "This property is handled like [`Common.ValueListType/Parameters`](Common.md#ValueListType), as if the target of the annotated navigation property was a value list,\n but one that was sent by the server rather than requested by the user.\n If `UI.UserInteraction/Parameters/LocalDataProperty` points to a parameter of an action that was not invoked by the request,\n the UI shall invoke that action instead of repeating the request."
}
},
"UserInteractionMandatory": {
"$Kind": "ComplexType",
"$Abstract": true,
"$BaseType": "UI.UserInteractionType",
"@Core.Description": "The user interaction is mandatory for the corresponding request to be executed",
"@Core.LongDescription": "After the user action, the request is repeated with the additional information obtained from the user.\n If the user action is aborted, the request has had no effect."
},
"UserInteractionChooseSingle": {
"$Kind": "ComplexType",
"$BaseType": "UI.UserInteractionMandatory",
"$BaseType": "UI.UserInteractionType",
"@Core.Description": "The user shall choose a single entry from the collection and its properties shall be inserted into the repeated request"
},
"UserInteractionChooseMultiple": {
"$Kind": "ComplexType",
"$BaseType": "UI.UserInteractionMandatory",
"$BaseType": "UI.UserInteractionType",
"@Core.Description": "The user shall choose zero or more entries from the collection and a collection of their properties shall be inserted into the repeated request",
"@Core.LongDescription": "The properties referenced by `UI.UserInteraction/Parameters/LocalDataProperty` belong to a collection\n that contains one instance per chosen entry."
},
"UserInteractionResolveConflict": {
"$Kind": "ComplexType",
"$BaseType": "UI.UserInteractionMandatory",
"$BaseType": "UI.UserInteractionChooseMultiple",
"@Core.Description": "The user shall resolve a conflict between the entries in the collection and the entire collection shall be inserted into the repeated request"
},
"UserInteractionConfirm": {
38 changes: 12 additions & 26 deletions vocabularies/UI.md
Original file line number Diff line number Diff line change
@@ -79,9 +79,9 @@ Term|Type|Description
[Recommendations](UI.xml#L1949) *([Experimental](Common.md#Experimental))*|ComplexType|<a name="Recommendations"></a>Recommendations for an entity<br>This complex-typed annotation contains structural properties corresponding via name equality to non-key structural primitive properties of the entity type for which recommendations are available. The type of such a property is a collection of a informal specialization of [`PropertyRecommendationType`](#PropertyRecommendationType). (The specializiations are called "informal" because they may omit the property `RecommendedFieldDescription`.)<br>Clients retrieve the recommendations with a GET request that includes this annotation in a `$select` clause. The recommendations MAY be computed asynchronously, see [this diagram](../docs/recommendations.md).
[ExcludeFromNavigationContext](UI.xml#L1995)|[Tag](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Core.V1.md#Tag)|<a name="ExcludeFromNavigationContext"></a>The contents of this property must not be propagated to the app-to-app navigation context
[DoNotCheckScaleOfMeasuredQuantity](UI.xml#L1999) *([Experimental](Common.md#Experimental))*|Boolean|<a name="DoNotCheckScaleOfMeasuredQuantity"></a>Do not check the number of fractional digits of the annotated measured quantity<br>The annotated property contains a measured quantity, and the user may enter more fractional digits than defined for the corresponding unit of measure.<br>This switches off the validation of user input with respect to decimals.
[UserInteraction](UI.xml#L2009)|[UserInteractionType](#UserInteractionType)|<a name="UserInteraction"></a>When the annotated navigation property or its `odata.navigationLink` occurs in a response, the UI shall use the addressed entity or collection to interact with the user and optionally repeat the corresponding request with the additional information obtained from the user<br>If the response is an [error response](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_ErrorResponse), the annotated navigation property MAY occur in a [`Common.callback`](Common.md#callback) instance annotation. A navigation property thus annotated may be interpreted as not belonging to the object model but containing auxiliary information that is not always needed. See also [this example](../examples/UI.UserInteraction-sample.md).
[UserInteraction](UI.xml#L2009)|[UserInteractionType](#UserInteractionType)|<a name="UserInteraction"></a>When the annotated navigation property or its `odata.navigationLink` occurs in a response, the UI shall use the addressed entity or collection to interact with the user and then repeat the corresponding request with the additional information obtained from the user<br>If the response is an [error response](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_ErrorResponse), the annotated navigation property MAY occur in a [`Common.callback`](Common.md#callback) instance annotation. A navigation property thus annotated may be interpreted as not belonging to the object model but containing auxiliary information that is not always needed. See also [this example](../examples/UI.UserInteraction-sample.md).
[UserInteractionSimple](UI.xml#L2022)|\[Untyped\]<br>Allowed Derived Types:<ul><li>Binary</li><li>Boolean</li><li>Byte</li><li>Date</li><li>DateTimeOffset</li><li>Decimal</li><li>Double</li><li>Duration</li><li>Guid</li><li>Int16</li><li>Int32</li><li>Int64</li><li>SByte</li><li>Single</li><li>String</li><li>TimeOfDay</li></ul>|<a name="UserInteractionSimple"></a>When this instance annotation occurs in a response, the UI shall let the user choose from the collection and then repeat the corresponding request with the annotated property set to the chosen value<br>If the response is an [error response](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_ErrorResponse), the instance annotation MAY occur in a [`Common.callback`](Common.md#callback) instance annotation.
[LeadingEntitySet](UI.xml#L2089) *([Experimental](Common.md#Experimental))*|String|<a name="LeadingEntitySet"></a>The referenced entity set is the preferred starting point for UIs using this service
[LeadingEntitySet](UI.xml#L2082) *([Experimental](Common.md#Experimental))*|String|<a name="LeadingEntitySet"></a>The referenced entity set is the preferred starting point for UIs using this service

<a name="HeaderInfoType"></a>
## [HeaderInfoType](UI.xml#L68)
@@ -1194,69 +1194,55 @@ Property|Type|Description
Derived types can add more properties that govern the user interaction and the repeating of the request

**Derived Types:**
- *[UserInteractionMandatory](#UserInteractionMandatory)*
- [UserInteractionChooseSingle](#UserInteractionChooseSingle)
- [UserInteractionChooseMultiple](#UserInteractionChooseMultiple)
- [UserInteractionChooseSingle](#UserInteractionChooseSingle)
- [UserInteractionChooseMultiple](#UserInteractionChooseMultiple)
- [UserInteractionResolveConflict](#UserInteractionResolveConflict)
- [UserInteractionConfirm](#UserInteractionConfirm)

Property|Type|Description
:-------|:---|:----------
[Parameters](UI.xml#L2055)|\[[ValueListParameterOut](Common.md#ValueListParameterOut)\]|Instructions how to fill properties with the additional information obtained from the user<br>This property is handled like [`Common.ValueListType/Parameters`](Common.md#ValueListType), as if the target of the annotated navigation property was a value list, but one that was sent by the server rather than requested by the user. If `UI.UserInteraction/Parameters/LocalDataProperty` points to a parameter of an action that was not invoked by the request, the UI shall invoke that action instead of repeating the request.

<a name="UserInteractionMandatory"></a>
## [*UserInteractionMandatory*](UI.xml#L2065): [UserInteractionType](#UserInteractionType)
The user interaction is mandatory for the corresponding request to be executed

After the user action, the request is repeated with the additional information obtained from the user.
If the user action is aborted, the request has had no effect.

**Derived Types:**
- [UserInteractionChooseSingle](#UserInteractionChooseSingle)
- [UserInteractionChooseMultiple](#UserInteractionChooseMultiple)
- [UserInteractionResolveConflict](#UserInteractionResolveConflict)

Property|Type|Description
:-------|:---|:----------
[*Parameters*](UI.xml#L2055)|\[[ValueListParameterOut](Common.md#ValueListParameterOut)\]|Instructions how to fill properties with the additional information obtained from the user<br>This property is handled like [`Common.ValueListType/Parameters`](Common.md#ValueListType), as if the target of the annotated navigation property was a value list, but one that was sent by the server rather than requested by the user. If `UI.UserInteraction/Parameters/LocalDataProperty` points to a parameter of an action that was not invoked by the request, the UI shall invoke that action instead of repeating the request.

<a name="UserInteractionChooseSingle"></a>
## [UserInteractionChooseSingle](UI.xml#L2072): [UserInteractionMandatory](#UserInteractionMandatory)
## [UserInteractionChooseSingle](UI.xml#L2065): [UserInteractionType](#UserInteractionType)
The user shall choose a single entry from the collection and its properties shall be inserted into the repeated request

Property|Type|Description
:-------|:---|:----------
[*Parameters*](UI.xml#L2055)|\[[ValueListParameterOut](Common.md#ValueListParameterOut)\]|Instructions how to fill properties with the additional information obtained from the user<br>This property is handled like [`Common.ValueListType/Parameters`](Common.md#ValueListType), as if the target of the annotated navigation property was a value list, but one that was sent by the server rather than requested by the user. If `UI.UserInteraction/Parameters/LocalDataProperty` points to a parameter of an action that was not invoked by the request, the UI shall invoke that action instead of repeating the request.

<a name="UserInteractionChooseMultiple"></a>
## [UserInteractionChooseMultiple](UI.xml#L2075): [UserInteractionMandatory](#UserInteractionMandatory)
## [UserInteractionChooseMultiple](UI.xml#L2068): [UserInteractionType](#UserInteractionType)
The user shall choose zero or more entries from the collection and a collection of their properties shall be inserted into the repeated request

The properties referenced by `UI.UserInteraction/Parameters/LocalDataProperty` belong to a collection
that contains one instance per chosen entry.

**Derived Types:**
- [UserInteractionResolveConflict](#UserInteractionResolveConflict)

Property|Type|Description
:-------|:---|:----------
[*Parameters*](UI.xml#L2055)|\[[ValueListParameterOut](Common.md#ValueListParameterOut)\]|Instructions how to fill properties with the additional information obtained from the user<br>This property is handled like [`Common.ValueListType/Parameters`](Common.md#ValueListType), as if the target of the annotated navigation property was a value list, but one that was sent by the server rather than requested by the user. If `UI.UserInteraction/Parameters/LocalDataProperty` points to a parameter of an action that was not invoked by the request, the UI shall invoke that action instead of repeating the request.

<a name="UserInteractionResolveConflict"></a>
## [UserInteractionResolveConflict](UI.xml#L2082): [UserInteractionMandatory](#UserInteractionMandatory)
## [UserInteractionResolveConflict](UI.xml#L2075): [UserInteractionChooseMultiple](#UserInteractionChooseMultiple)
The user shall resolve a conflict between the entries in the collection and the entire collection shall be inserted into the repeated request

Property|Type|Description
:-------|:---|:----------
[*Parameters*](UI.xml#L2055)|\[[ValueListParameterOut](Common.md#ValueListParameterOut)\]|Instructions how to fill properties with the additional information obtained from the user<br>This property is handled like [`Common.ValueListType/Parameters`](Common.md#ValueListType), as if the target of the annotated navigation property was a value list, but one that was sent by the server rather than requested by the user. If `UI.UserInteraction/Parameters/LocalDataProperty` points to a parameter of an action that was not invoked by the request, the UI shall invoke that action instead of repeating the request.

<a name="UserInteractionConfirm"></a>
## [UserInteractionConfirm](UI.xml#L2085): [UserInteractionType](#UserInteractionType)
## [UserInteractionConfirm](UI.xml#L2078): [UserInteractionType](#UserInteractionType)
The entity or collection is a preview of the effects of the request and the user shall confirm whether to repeat the request in "effective" mode

Property|Type|Description
:-------|:---|:----------
[*Parameters*](UI.xml#L2055)|\[[ValueListParameterOut](Common.md#ValueListParameterOut)\]|Instructions how to fill properties with the additional information obtained from the user<br>This property is handled like [`Common.ValueListType/Parameters`](Common.md#ValueListType), as if the target of the annotated navigation property was a value list, but one that was sent by the server rather than requested by the user. If `UI.UserInteraction/Parameters/LocalDataProperty` points to a parameter of an action that was not invoked by the request, the UI shall invoke that action instead of repeating the request.

<a name="ActionName"></a>
## [ActionName](UI.xml#L2094)
## [ActionName](UI.xml#L2087)
**Type:** String

Name of an Action, Function, ActionImport, or FunctionImport in scope
15 changes: 4 additions & 11 deletions vocabularies/UI.xml
Original file line number Diff line number Diff line change
@@ -2010,7 +2010,7 @@ This switches off the validation of user input with respect to decimals.</String
<Annotation Term="Core.Description">
<String>When the annotated navigation property or its `odata.navigationLink` occurs in a response,
the UI shall use the addressed entity or collection to interact with the user
and optionally repeat the corresponding request with the additional information obtained from the user</String>
and then repeat the corresponding request with the additional information obtained from the user</String>
</Annotation>
<Annotation Term="Core.LongDescription">
<String>If the response is an [error response](https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_ErrorResponse),
@@ -2062,24 +2062,17 @@ This switches off the validation of user input with respect to decimals.</String
</Annotation>
</Property>
</ComplexType>
<ComplexType Name="UserInteractionMandatory" BaseType="UI.UserInteractionType" Abstract="true">
<Annotation Term="Core.Description" String="The user interaction is mandatory for the corresponding request to be executed" />
<Annotation Term="Core.LongDescription">
<String>After the user action, the request is repeated with the additional information obtained from the user.
If the user action is aborted, the request has had no effect.</String>
</Annotation>
</ComplexType>
<ComplexType Name="UserInteractionChooseSingle" BaseType="UI.UserInteractionMandatory">
<ComplexType Name="UserInteractionChooseSingle" BaseType="UI.UserInteractionType">
<Annotation Term="Core.Description" String="The user shall choose a single entry from the collection and its properties shall be inserted into the repeated request"/>
</ComplexType>
<ComplexType Name="UserInteractionChooseMultiple" BaseType="UI.UserInteractionMandatory">
<ComplexType Name="UserInteractionChooseMultiple" BaseType="UI.UserInteractionType">
<Annotation Term="Core.Description" String="The user shall choose zero or more entries from the collection and a collection of their properties shall be inserted into the repeated request"/>
<Annotation Term="Core.LongDescription">
<String>The properties referenced by `UI.UserInteraction/Parameters/LocalDataProperty` belong to a collection
that contains one instance per chosen entry.</String>
</Annotation>
</ComplexType>
<ComplexType Name="UserInteractionResolveConflict" BaseType="UI.UserInteractionMandatory">
<ComplexType Name="UserInteractionResolveConflict" BaseType="UI.UserInteractionChooseMultiple">
<Annotation Term="Core.Description" String="The user shall resolve a conflict between the entries in the collection and the entire collection shall be inserted into the repeated request"/>
</ComplexType>
<ComplexType Name="UserInteractionConfirm" BaseType="UI.UserInteractionType">