@openui5/sap.ui.mdc 1.112.2 → 1.114.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/ui/mdc/.library +1 -1
  4. package/src/sap/ui/mdc/ActionToolbar.js +5 -4
  5. package/src/sap/ui/mdc/BaseDelegate.js +49 -15
  6. package/src/sap/ui/mdc/Chart.js +167 -147
  7. package/src/sap/ui/mdc/ChartDelegate.js +525 -481
  8. package/src/sap/ui/mdc/Control.js +3 -2
  9. package/src/sap/ui/mdc/DefaultTypeMap.js +72 -0
  10. package/src/sap/ui/mdc/Element.js +3 -2
  11. package/src/sap/ui/mdc/Field.js +53 -17
  12. package/src/sap/ui/mdc/FilterBar.js +24 -11
  13. package/src/sap/ui/mdc/FilterBarDelegate.js +40 -55
  14. package/src/sap/ui/mdc/FilterField.js +17 -8
  15. package/src/sap/ui/mdc/Link.js +69 -55
  16. package/src/sap/ui/mdc/LinkDelegate.js +26 -30
  17. package/src/sap/ui/mdc/MultiValueField.js +42 -4
  18. package/src/sap/ui/mdc/Table.js +276 -178
  19. package/src/sap/ui/mdc/TableDelegate.js +187 -16
  20. package/src/sap/ui/mdc/ValueHelp.js +13 -14
  21. package/src/sap/ui/mdc/ValueHelpDelegate.js +12 -7
  22. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +4 -9
  23. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +194 -197
  24. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -4
  25. package/src/sap/ui/mdc/chart/ChartToolbar.js +1 -1
  26. package/src/sap/ui/mdc/chart/ChartTypeButton.js +42 -56
  27. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +3 -3
  28. package/src/sap/ui/mdc/chart/DrillStackHandler.js +60 -69
  29. package/src/sap/ui/mdc/chart/Item.js +13 -13
  30. package/src/sap/ui/mdc/chart/PropertyHelper.js +7 -7
  31. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +24 -15
  32. package/src/sap/ui/mdc/condition/Condition.js +21 -15
  33. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  34. package/src/sap/ui/mdc/condition/ConditionModel.js +6 -149
  35. package/src/sap/ui/mdc/condition/ConditionModelPropertyBinding.js +5 -3
  36. package/src/sap/ui/mdc/condition/FilterConverter.js +2 -22
  37. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +910 -22
  38. package/src/sap/ui/mdc/condition/Operator.js +78 -42
  39. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +3 -2
  40. package/src/sap/ui/mdc/condition/RangeOperator.js +104 -104
  41. package/src/sap/ui/mdc/enum/ConditionValidated.js +4 -1
  42. package/src/sap/ui/mdc/enum/ContentMode.js +1 -1
  43. package/src/sap/ui/mdc/enum/EditMode.js +7 -7
  44. package/src/sap/ui/mdc/enum/FieldDisplay.js +3 -3
  45. package/src/sap/ui/mdc/enum/LinkType.js +46 -0
  46. package/src/sap/ui/mdc/enum/OperatorOverwrite.js +34 -0
  47. package/src/sap/ui/mdc/field/ConditionType.js +30 -30
  48. package/src/sap/ui/mdc/field/ConditionsType.js +5 -5
  49. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  50. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +22 -10
  51. package/src/sap/ui/mdc/field/FieldBase.js +128 -40
  52. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +17 -28
  53. package/src/sap/ui/mdc/field/FieldInfoBase.js +29 -14
  54. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  55. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  56. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  57. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +9 -29
  58. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -2
  59. package/src/sap/ui/mdc/field/TokenDisplay.js +2 -2
  60. package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -2
  61. package/src/sap/ui/mdc/field/content/ContentFactory.js +1 -1
  62. package/src/sap/ui/mdc/field/content/DateContent.js +43 -37
  63. package/src/sap/ui/mdc/field/content/LinkContent.js +8 -4
  64. package/src/sap/ui/mdc/field/content/UnitContent.js +11 -2
  65. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +33 -62
  66. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +31 -14
  67. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +6 -7
  68. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +2 -4
  69. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +0 -2
  70. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +13 -17
  71. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +1 -1
  72. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  73. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +16 -10
  74. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +0 -21
  75. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  76. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +0 -18
  77. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +0 -15
  78. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  79. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  80. package/src/sap/ui/mdc/flexibility/GroupFlex.js +2 -22
  81. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
  82. package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -21
  83. package/src/sap/ui/mdc/flexibility/Util.js +11 -9
  84. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +1 -1
  85. package/src/sap/ui/mdc/library.js +209 -48
  86. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  87. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  88. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  89. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  90. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  91. package/src/sap/ui/mdc/link/Factory.js +1 -1
  92. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  93. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  94. package/src/sap/ui/mdc/link/Panel.js +1 -1
  95. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  96. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  97. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  98. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  99. package/src/sap/ui/mdc/messagebundle.properties +11 -2
  100. package/src/sap/ui/mdc/messagebundle_ar.properties +20 -15
  101. package/src/sap/ui/mdc/messagebundle_bg.properties +6 -1
  102. package/src/sap/ui/mdc/messagebundle_ca.properties +5 -0
  103. package/src/sap/ui/mdc/messagebundle_cs.properties +5 -0
  104. package/src/sap/ui/mdc/messagebundle_cy.properties +5 -0
  105. package/src/sap/ui/mdc/messagebundle_da.properties +6 -1
  106. package/src/sap/ui/mdc/messagebundle_de.properties +7 -2
  107. package/src/sap/ui/mdc/messagebundle_el.properties +5 -0
  108. package/src/sap/ui/mdc/messagebundle_en.properties +5 -0
  109. package/src/sap/ui/mdc/messagebundle_en_GB.properties +5 -0
  110. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +4 -1
  111. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +4 -1
  112. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +6 -1
  113. package/src/sap/ui/mdc/messagebundle_es.properties +5 -0
  114. package/src/sap/ui/mdc/messagebundle_es_MX.properties +5 -0
  115. package/src/sap/ui/mdc/messagebundle_et.properties +5 -0
  116. package/src/sap/ui/mdc/messagebundle_fi.properties +5 -0
  117. package/src/sap/ui/mdc/messagebundle_fr.properties +5 -0
  118. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +5 -0
  119. package/src/sap/ui/mdc/messagebundle_hi.properties +5 -0
  120. package/src/sap/ui/mdc/messagebundle_hr.properties +5 -0
  121. package/src/sap/ui/mdc/messagebundle_hu.properties +5 -0
  122. package/src/sap/ui/mdc/messagebundle_id.properties +5 -0
  123. package/src/sap/ui/mdc/messagebundle_it.properties +5 -0
  124. package/src/sap/ui/mdc/messagebundle_iw.properties +5 -0
  125. package/src/sap/ui/mdc/messagebundle_ja.properties +5 -0
  126. package/src/sap/ui/mdc/messagebundle_kk.properties +5 -0
  127. package/src/sap/ui/mdc/messagebundle_ko.properties +5 -0
  128. package/src/sap/ui/mdc/messagebundle_lt.properties +5 -0
  129. package/src/sap/ui/mdc/messagebundle_lv.properties +5 -0
  130. package/src/sap/ui/mdc/messagebundle_ms.properties +6 -1
  131. package/src/sap/ui/mdc/messagebundle_nl.properties +5 -0
  132. package/src/sap/ui/mdc/messagebundle_no.properties +6 -1
  133. package/src/sap/ui/mdc/messagebundle_pl.properties +5 -0
  134. package/src/sap/ui/mdc/messagebundle_pt.properties +5 -0
  135. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +5 -0
  136. package/src/sap/ui/mdc/messagebundle_ro.properties +5 -0
  137. package/src/sap/ui/mdc/messagebundle_ru.properties +5 -0
  138. package/src/sap/ui/mdc/messagebundle_sh.properties +5 -0
  139. package/src/sap/ui/mdc/messagebundle_sk.properties +5 -0
  140. package/src/sap/ui/mdc/messagebundle_sl.properties +5 -0
  141. package/src/sap/ui/mdc/messagebundle_sv.properties +5 -0
  142. package/src/sap/ui/mdc/messagebundle_th.properties +11 -6
  143. package/src/sap/ui/mdc/messagebundle_tr.properties +5 -0
  144. package/src/sap/ui/mdc/messagebundle_uk.properties +7 -2
  145. package/src/sap/ui/mdc/messagebundle_vi.properties +5 -0
  146. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +5 -0
  147. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +5 -0
  148. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  149. package/src/sap/ui/mdc/mixin/DelegateMixin.js +11 -4
  150. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  151. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  152. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  153. package/src/sap/ui/mdc/odata/TypeMap.js +81 -0
  154. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +7 -2
  155. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +7 -8
  156. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +166 -19
  157. package/src/sap/ui/mdc/odata/v4/TypeMap.js +40 -0
  158. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +8 -8
  159. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +22 -50
  160. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  161. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  162. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +4 -0
  163. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +12 -24
  164. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +1 -1
  165. package/src/sap/ui/mdc/table/Column.js +0 -8
  166. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  167. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  168. package/src/sap/ui/mdc/table/GridTableType.js +20 -100
  169. package/src/sap/ui/mdc/table/PropertyHelper.js +49 -1
  170. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  171. package/src/sap/ui/mdc/table/ResponsiveTableType.js +18 -73
  172. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  173. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  174. package/src/sap/ui/mdc/table/TableSettings.js +37 -131
  175. package/src/sap/ui/mdc/table/TableTypeBase.js +46 -5
  176. package/src/sap/ui/mdc/table/TreeTableType.js +11 -28
  177. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  178. package/src/sap/ui/mdc/table/menu/Item.js +1 -1
  179. package/src/sap/ui/mdc/table/menu/ItemContainer.js +4 -0
  180. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +12 -7
  181. package/src/sap/ui/mdc/table/utils/Personalization.js +236 -0
  182. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +3 -3
  183. package/src/sap/ui/mdc/util/DateUtil.js +10 -6
  184. package/src/sap/ui/mdc/util/FilterUtil.js +3 -0
  185. package/src/sap/ui/mdc/util/InfoBar.js +2 -3
  186. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  187. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  188. package/src/sap/ui/mdc/util/TypeMap.js +177 -0
  189. package/src/sap/ui/mdc/util/TypeUtilFactory.js +183 -0
  190. package/src/sap/ui/mdc/valuehelp/Dialog.js +6 -5
  191. package/src/sap/ui/mdc/valuehelp/Popover.js +3 -2
  192. package/src/sap/ui/mdc/valuehelp/base/Container.js +20 -2
  193. package/src/sap/ui/mdc/valuehelp/base/Content.js +6 -3
  194. package/src/sap/ui/mdc/{field → valuehelp/base}/DefineConditionPanel.js +51 -43
  195. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  196. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +12 -36
  197. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +5 -2
  198. package/src/sap/ui/mdc/valuehelp/content/Bool.js +9 -9
  199. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +21 -4
  200. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +5 -4
  201. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +63 -0
  202. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +4 -2
  203. package/src/sap/ui/mdc/valuehelp/content/MTable.js +8 -7
  204. package/test/sap/ui/mdc/testutils/opa/chart/AssertionsViz.js +4 -4
  205. package/test/sap/ui/mdc/testutils/opa/filterfield/Actions.js +3 -1
  206. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +39 -66
  207. package/test/sap/ui/mdc/testutils/opa/valueHelp/doWait.js +1 -1
  208. package/src/sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime.js +0 -21
@@ -72,6 +72,17 @@ sap.ui.define([
72
72
  var TextAlign = coreLibrary.TextAlign;
73
73
  var TextDirection = coreLibrary.TextDirection;
74
74
 
75
+ /**
76
+ * Modules for {@link sap.ui.mdc.Field Field} and {@link sap.ui.mdc.FilterField FilterField}
77
+ * @namespace
78
+ * @name sap.ui.mdc.field
79
+ * @since 1.58.0
80
+ * @private
81
+ * @experimental As of version 1.58
82
+ * @ui5-restricted sap.ui.mdc sap.fe
83
+ * @MDC_PUBLIC_CANDIDATE
84
+ */
85
+
75
86
  /**
76
87
  * Constructor for a new <code>FieldBase</code>.
77
88
  *
@@ -79,22 +90,29 @@ sap.ui.define([
79
90
  * @param {object} [mSettings] Initial settings for the new control
80
91
  *
81
92
  * @class
82
- * The <code>FieldBase</code> control is the basic control to be used within the {@link sap.ui.mdc.Field Field} and {@link sap.ui.mdc.FilterField FilterField} controls.
93
+ * The <code>FieldBase</code> control is the basic control to be used within the {@link sap.ui.mdc.Field Field}, {@link sap.ui.mdc.MultiValueField MultiValueField}
94
+ * and {@link sap.ui.mdc.FilterField FilterField} controls.
83
95
  * It must not be used stand-alone.
84
96
  *
85
97
  * @extends sap.ui.mdc.Control
86
- * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent
98
+ * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent
87
99
  *
88
100
  * @author SAP SE
89
- * @version 1.112.2
101
+ * @version 1.114.0
90
102
  *
91
103
  * @constructor
92
104
  * @alias sap.ui.mdc.field.FieldBase
93
105
  * @since 1.58.0
94
106
  * @abstract
95
107
  *
108
+ * @borrows sap.ui.core.Control#getAccessibilityInfo as #getAccessibilityInfo
109
+ * @borrows sap.ui.core.Element.prototype#enhanceAccessibilityState as #enhanceAccessibilityState
110
+ * @borrows sap.ui.core.ISemanticFormContent#getFormFormattedValue as #getFormFormattedValue
111
+ * @borrows sap.ui.core.ISemanticFormContent#getFormValueProperty as #getFormValueProperty
112
+ *
96
113
  * @private
97
- * @ui5-restricted sap.ui.mdc
114
+ * @ui5-restricted sap.fe
115
+ * @MDC_PUBLIC_CANDIDATE
98
116
  * @experimental As of version 1.58
99
117
  */
100
118
  var FieldBase = Control.extend("sap.ui.mdc.field.FieldBase", /* @lends sap.ui.mdc.field.FieldBase.prototype */ {
@@ -270,7 +288,7 @@ sap.ui.define([
270
288
  * <ul>
271
289
  * <li><code>$filters</code> as the name of the condition model</li>
272
290
  * <li><code>/conditions/</code> as a required static part of the binding</li>
273
- * <li><code>navPath#42;/</code> as the navigation property name</li>
291
+ * <li><code>navPath&#42;/</code> as the navigation property name</li>
274
292
  * <li><code>propertyPath</code> as the property name</li>
275
293
  * </ul>
276
294
  * Between <code>navPath</code> and <code>propertyPath</code>, <b>&#42;/</b> is required.
@@ -281,7 +299,8 @@ sap.ui.define([
281
299
  type: "object[]",
282
300
  group: "Data",
283
301
  defaultValue: [],
284
- byValue: true
302
+ byValue: true,
303
+ bindable: "bindable"
285
304
  },
286
305
 
287
306
  /**
@@ -352,6 +371,15 @@ sap.ui.define([
352
371
  defaultValue: {},
353
372
  byValue: true,
354
373
  visibility: "hidden"
374
+ },
375
+
376
+ /**
377
+ * Internal property to bind the operators to the internal <code>DynamicDateRange</code> (or other) control.
378
+ */
379
+ _operators: {
380
+ type: "string[]",
381
+ defaultValue: [],
382
+ visibility: "hidden"
355
383
  }
356
384
 
357
385
  },
@@ -359,6 +387,10 @@ sap.ui.define([
359
387
  /**
360
388
  * Optional content that can be rendered.
361
389
  *
390
+ * Per default, depending on <code>editMode</code>, <code>multipleLines</code> and used data type a content control is rendered. For simple string types a {@link sap.m.Text Text}
391
+ * control is rendered in display mode and a {@link sap.m.Input Input} control in edit mode. If a control is assigned in the <code>content</code> aggregation this will be
392
+ * rendered instead.
393
+ *
362
394
  * <b>Note:</b> Bind the value-holding property of the control to <code>'$field>/conditions'</code>
363
395
  * using {@link sap.ui.mdc.field.ConditionsType ConditionsType} as type.
364
396
  *
@@ -377,6 +409,9 @@ sap.ui.define([
377
409
  /**
378
410
  * Optional content to be rendered if the <code>editMode</code> property is not set to <code>Display</code>.
379
411
  *
412
+ * Per default, depending on <code>multipleLines</code> and used data type a content control is rendered in edit mode. For simple string types a {@link sap.m.Input Input}
413
+ * control is rendered in edit mode. If a control is assigned in the <code>contentEdit</code> aggregation this will be rendered instead.
414
+ *
380
415
  * <b>Note:</b> If a control is assigned to the <code>content</code> aggregation, this one is ignored.
381
416
  *
382
417
  * <b>Note:</b> Bind the value-holding property of the control to <code>'$field>/conditions'</code>
@@ -399,6 +434,9 @@ sap.ui.define([
399
434
  /**
400
435
  * Optional content to be rendered if the <code>editMode</code> property is set to <code>Display</code>.
401
436
  *
437
+ * Per default, depending on <code>multipleLines</code> and used data type a content control is rendered in display mode. For simple string types a {@link sap.m.Text Text}
438
+ * control is rendered in display mode. If a control is assigned in the <code>contentEdit</code> aggregation this will be rendered instead.
439
+ *
402
440
  * <b>Note:</b> If a control is assigned to the <code>content</code> aggregation, this one is ignored.
403
441
  *
404
442
  * <b>Note:</b> Bind the value-holding property of the control to <code>'$field>/conditions'</code>
@@ -429,6 +467,7 @@ sap.ui.define([
429
467
 
430
468
  /**
431
469
  * Optional <code>FieldInfo</code> used for detail information. This is only active in display mode.
470
+ * Especially {@link sap.ui.mdc.Link} can be used to activate link features.
432
471
  *
433
472
  * <b>Note:</b> If a special data type is defined or a content control is set, this is ignored.
434
473
  */
@@ -441,21 +480,40 @@ sap.ui.define([
441
480
  /**
442
481
  * Optional <code>FieldHelp</code>.
443
482
  *
444
- * This is an association that allows the usage of one <code>FieldHelp</code> instance for multiple fields.
483
+ * This is an association that allows the usage of one <code>ValueHelp</code> instance for multiple fields.
445
484
  *
446
- * <b>Note:</b> If the field is inside of a table, do not set the <code>FieldHelp</code> instance as <code>dependent</code>
485
+ * <b>Note:</b> If the field is inside of a table, do not set the <code>ValueHelp</code> instance as <code>dependent</code>
447
486
  * to the field. If you do, every field instance in every table row gets a clone of it.
448
- * Put the <code>FieldHelp</code> instance e.g. as dependent on the table or page.
487
+ * Put the <code>ValueHelp</code> instance e.g. as dependent on the table or page.
449
488
  * The <code>FieldHelp</code> instance must be somewhere in the control tree, otherwise there might
450
489
  * be rendering or update issues.
451
490
  *
452
- * <b>Note:</b> For <code>Boolean</code> fields, no <code>FieldHelp</code> should be added, but a default <code>FieldHelp</code> used instead.
491
+ * <b>Note:</b> For <code>Boolean</code> fields, no <code>ValueHelp</code> should be added, but a default <code>ValueHelp</code> used instead.
492
+ * @deprecated as of 1.114.0, replaced by {@link #setValueHelp valueHelp} association
453
493
  */
454
494
  fieldHelp: {
455
495
  type: "sap.ui.mdc.ValueHelp",
456
496
  multiple: false
457
497
  },
458
498
 
499
+ /**
500
+ * Optional <code>ValueHelp</code>.
501
+ *
502
+ * This is an association that allows the usage of one <code>ValueHelp</code> instance for multiple fields.
503
+ *
504
+ * <b>Note:</b> If the field is inside of a table, do not set the <code>ValueHelp</code> instance as <code>dependent</code>
505
+ * to the field. If you do, every field instance in every table row gets a clone of it.
506
+ * Put the <code>ValueHelp</code> instance e.g. as dependent on the table or page.
507
+ * The <code>ValueHelp</code> instance must be somewhere in the control tree, otherwise there might
508
+ * be rendering or update issues.
509
+ *
510
+ * <b>Note:</b> For <code>Boolean</code> fields, no <code>ValueHelp</code> should be added, but a default <code>ValueHelp</code> used instead.
511
+ */
512
+ valueHelp: {
513
+ type: "sap.ui.mdc.ValueHelp",
514
+ multiple: false
515
+ },
516
+
459
517
  /**
460
518
  * Association to controls / IDs that label this control (see WAI-ARIA attribute aria-labelledby).
461
519
  */
@@ -586,7 +644,7 @@ sap.ui.define([
586
644
  properties: ["display", "editMode", "dataType", "dataTypeFormatOptions", "dataTypeConstraints",
587
645
  "multipleLines", "maxConditions", "conditions", "delegate"],
588
646
  aggregations: ["fieldInfo", "content", "contentEdit", "contentDisplay"],
589
- associations: ["fieldHelp", "ariaLabelledBy"]
647
+ associations: ["fieldHelp", "valueHelp", "ariaLabelledBy"]
590
648
  });
591
649
 
592
650
  this.attachEvent("modelContextChange", this._handleModelContextChange, this);
@@ -631,8 +689,10 @@ sap.ui.define([
631
689
  var oFieldHelp = _getFieldHelp.call(this);
632
690
  if (oFieldHelp && !this._iFocusTimer && oFieldHelp.shouldOpenOnFocus() && !oFieldHelp.isOpen()) {
633
691
  this._iFocusTimer = setTimeout(function () {
634
- oFieldHelp.open(true);
635
- this._redirectFocus(oEvent, oFieldHelp);
692
+ if (!this.bIsDestroyed && !oFieldHelp.isOpen()) {
693
+ _handleValueHelpRequest.call(this, oEvent, true); // open typeahead
694
+ this._redirectFocus(oEvent, oFieldHelp);
695
+ }
636
696
  this._iFocusTimer = null;
637
697
  }.bind(this),300);
638
698
  }
@@ -853,7 +913,7 @@ sap.ui.define([
853
913
  var oFieldHelp = _getFieldHelp.call(this);
854
914
  if (oFieldHelp) {
855
915
  if (oFieldHelp.shouldOpenOnClick() && !oFieldHelp.isOpen()) {
856
- oFieldHelp.open(true);
916
+ _handleValueHelpRequest.call(this, oEvent, true); // open typeahead
857
917
  }
858
918
  this._redirectFocus(oEvent, oFieldHelp);
859
919
  }
@@ -1190,7 +1250,7 @@ sap.ui.define([
1190
1250
  this._getContentFactory().updateConditionType();
1191
1251
  }
1192
1252
 
1193
- if (oChanges.name === "fieldHelp" && oChanges.ids) {
1253
+ if ((oChanges.name === "fieldHelp" || oChanges.name === "valueHelp") && oChanges.ids) {
1194
1254
  _fieldHelpChanged.call(this, oChanges.ids, oChanges.mutation);
1195
1255
  this._getContentFactory().updateConditionType();
1196
1256
  }
@@ -1337,7 +1397,11 @@ sap.ui.define([
1337
1397
  };
1338
1398
 
1339
1399
  /*
1340
- * If Field is inside of a SemanticFormElement return formatted value in display mode
1400
+ * If Field is inside of a {@link sap.ui.layout.form.SemanticFormElement SemanticFormElement} return formatted value in display mode
1401
+ *
1402
+ * @returns {string} formatted value of the field
1403
+ * @private
1404
+ * @ui5-restricted sap.ui.layout.form.SemanticFormElement
1341
1405
  */
1342
1406
  FieldBase.prototype.getFormFormattedValue = function() {
1343
1407
 
@@ -1372,7 +1436,11 @@ sap.ui.define([
1372
1436
  };
1373
1437
 
1374
1438
  /*
1375
- * If Field is inside of a SemanticFormElement return value holding property (don't use "value" property of Field as conditions are updares async)
1439
+ * If Field is inside of a {@link sap.ui.layout.form.SemanticFormElement SemanticFormElement} return value holding property (don't use "value" property of Field as conditions are updated async)
1440
+ *
1441
+ * @returns {string} name of the value holding property
1442
+ * @private
1443
+ * @ui5-restricted sap.ui.layout.form.SemanticFormElement
1376
1444
  */
1377
1445
  FieldBase.prototype.getFormValueProperty = function() {
1378
1446
 
@@ -1409,7 +1477,7 @@ sap.ui.define([
1409
1477
 
1410
1478
  };
1411
1479
 
1412
- /**
1480
+ /*
1413
1481
  * @returns {object} Current accessibility state of the control.
1414
1482
  * @see sap.ui.core.Control#getAccessibilityInfo
1415
1483
  * @protected
@@ -1491,16 +1559,16 @@ sap.ui.define([
1491
1559
  }
1492
1560
 
1493
1561
  /**
1494
- * Assigns a <code>Label</code> control to the <code>Field</code> or </code>FilterField</code> controls.
1562
+ * Assigns a <code>Label</code> control to the {@link sap.ui.mdc.Field Field} or {@link sap.ui.mdc.FilterField FilterField} controls.
1495
1563
  *
1496
- * The text of the label is taken from the <code>Field</code> or </code>FilterField</code> controls.
1497
- * The <code>labelFor</code> association is set to the <code>Field</code> or </code>FilterField</code> control.
1564
+ * The text of the label is taken from the {@link sap.ui.mdc.Field Field} or {@link sap.ui.mdc.FilterField FilterField} controls.
1565
+ * The <code>labelFor</code> association is set to the {@link sap.ui.mdc.Field Field} or {@link sap.ui.mdc.FilterField FilterField} control.
1498
1566
  *
1499
1567
  * @param {sap.ui.core.Label} oLabel Label control
1500
1568
  * @returns {this} Reference to <code>this</code> to allow method chaining
1501
1569
  *
1502
1570
  * @private
1503
- * @ui5-restricted sap.fe
1571
+ * @ui5-restricted sap.ui.mdc sap.fe
1504
1572
  * @MDC_PUBLIC_CANDIDATE
1505
1573
  * @experimental As of version 1.62.0
1506
1574
  * @since 1.62.0 Disclaimer: this function is in a beta state - incompatible API changes may be done before its official public release. Use at your own discretion.
@@ -1756,7 +1824,7 @@ sap.ui.define([
1756
1824
  var oContentDisplay = this.getContentDisplay();
1757
1825
 
1758
1826
  this._getContentFactory()._setUsedConditionType(oContent, oContentEdit, oContentDisplay, sEditMode); // if external content use it's conditionType
1759
- _checkFieldHelpExist.call(this, this.getFieldHelp()); // as FieldHelp might be created after ID is assigned to Field
1827
+ _checkFieldHelpExist.call(this, this._getValueHelp()); // as ValueHelp might be created after ID is assigned to Field
1760
1828
  _setAriaAttributes.call(this, false);
1761
1829
 
1762
1830
 
@@ -1815,6 +1883,7 @@ sap.ui.define([
1815
1883
  var sId = _getIdForInternalControl.call(this);
1816
1884
  this._oCreateContentPromise = this._getContentFactory().createContent(oContentType, sContentMode, sId);
1817
1885
  this._oCreateContentPromise.then(function(aControls) {
1886
+ delete this._oCreateContentPromise; // after finished new creation request can be sync again (clear at the beginning as error might break function before end)
1818
1887
  for (var iIndex = 0; iIndex < aControls.length; iIndex++) {
1819
1888
  var oControl = aControls[iIndex];
1820
1889
  oControl.attachEvent("parseError", _handleParseError, this);
@@ -1830,7 +1899,9 @@ sap.ui.define([
1830
1899
  }
1831
1900
 
1832
1901
  _refreshLabel.call(this);
1833
- delete this._oCreateContentPromise; // after finished new creation request can be sync again
1902
+ }.bind(this)).catch(function(oException) {
1903
+ delete this._oCreateContentPromise; // clean up to not run into endless loop
1904
+ throw oException;
1834
1905
  }.bind(this));
1835
1906
  }
1836
1907
  }
@@ -2066,7 +2137,7 @@ sap.ui.define([
2066
2137
  function _useDefaultFieldHelp(oContentType, aOperators, sEditMode, iMaxConditions) {
2067
2138
 
2068
2139
  var oUseDefaultFieldHelp = oContentType.getUseDefaultFieldHelp();
2069
- if (oUseDefaultFieldHelp && !this.getFieldHelp() && sEditMode !== EditMode.Display) {
2140
+ if (oUseDefaultFieldHelp && !this._getValueHelp() && sEditMode !== EditMode.Display) {
2070
2141
  if ((iMaxConditions === 1 && oUseDefaultFieldHelp.single) || (iMaxConditions !== 1 && oUseDefaultFieldHelp.multi)) {
2071
2142
  if (aOperators.length === 1) {
2072
2143
  var bIsSingleValue = _isOnlyOneSingleValue.call(this, aOperators); // if operator not exists unse no field help
@@ -2487,9 +2558,16 @@ sap.ui.define([
2487
2558
 
2488
2559
  }
2489
2560
 
2561
+ // TODO: remove this function and replace by getValueHelp onde FieldHelp association is completetly removed.
2562
+ FieldBase.prototype._getValueHelp = function() {
2563
+
2564
+ return this.getValueHelp() || (this.getFieldHelp && this.getFieldHelp()); // as getFieldHelp not exist in legacy-free UI5
2565
+
2566
+ };
2567
+
2490
2568
  function _getFieldHelp() {
2491
2569
 
2492
- var sId = this.getFieldHelp();
2570
+ var sId = this._getValueHelp();
2493
2571
  var oFieldHelp;
2494
2572
 
2495
2573
  if (!sId && this._sDefaultFieldHelp) {
@@ -2533,7 +2611,7 @@ sap.ui.define([
2533
2611
 
2534
2612
  }
2535
2613
 
2536
- function _handleValueHelpRequest(oEvent) {
2614
+ function _handleValueHelpRequest(oEvent, bOpenAsTypeahed) { // if triggered by valueHelpRequest event alway open as dialog, if called from Tap or Focus as typeahead
2537
2615
 
2538
2616
  var oFieldHelp = _getFieldHelp.call(this);
2539
2617
 
@@ -2544,10 +2622,10 @@ sap.ui.define([
2544
2622
  oFieldHelp.setFilterValue(this._sFilterValue); // use types value for filtering, even if reopening FieldHelp
2545
2623
  var aConditions = this.getConditions();
2546
2624
  _setConditionsOnFieldHelp.call(this, aConditions, oFieldHelp);
2547
- oFieldHelp.toggleOpen(false);
2625
+ oFieldHelp.toggleOpen(!!bOpenAsTypeahed);
2548
2626
  if (!oFieldHelp.isFocusInHelp()) {
2549
2627
  // need to reset bValueHelpRequested in Input, otherwise on focusout no change event and navigation don't work
2550
- var oContent = oEvent.getSource();
2628
+ var oContent = oEvent.srcControl || oEvent.getSource(); // as, if called from Tap or other brwowser event getSource is not available
2551
2629
  if (oContent.bValueHelpRequested) {
2552
2630
  oContent.bValueHelpRequested = false; // TODO: need API
2553
2631
  }
@@ -3003,9 +3081,9 @@ sap.ui.define([
3003
3081
 
3004
3082
  // TODO: better API?
3005
3083
  /**
3006
- * Provides some internals of the field to be used in the value help.
3084
+ * Provides some internals of the field to be used in {@link sap.ui.mdc.field.ConditionsType ConditionsType} for format and parse the conditions.
3007
3085
  *
3008
- * @returns {object} formatOptions of the field
3086
+ * @returns {object} formatOptions of the field (see {@link sap.ui.mdc.field.ConditionsType ConditionsType})
3009
3087
  * @private
3010
3088
  */
3011
3089
  FieldBase.prototype._getFormatOptions = function() {
@@ -3020,7 +3098,7 @@ sap.ui.define([
3020
3098
  additionalType: this._getContentFactory().getUnitType(), // only set if unit or timezone
3021
3099
  compositeTypes: this._getContentFactory().getCompositeTypes(), // only set if CompositeType used
3022
3100
  display: this._getContentFactory().isMeasure() ? FieldDisplay.Value : this.getDisplay(),
3023
- fieldHelpID: this._getContentFactory().isMeasure() ? undefined : this.getFieldHelp() || this._sDefaultFieldHelp,
3101
+ valueHelpID: this._getContentFactory().isMeasure() ? undefined : this._getValueHelp() || this._sDefaultFieldHelp,
3024
3102
  operators: this._getOperators(),
3025
3103
  hideOperator: this._getContentFactory().getHideOperator(),
3026
3104
  maxConditions: this.getMaxConditions(),
@@ -3085,6 +3163,12 @@ sap.ui.define([
3085
3163
 
3086
3164
  };
3087
3165
 
3166
+ /**
3167
+ * Provides some internals of the unit part of the field to be used in {@link sap.ui.mdc.field.ConditionsType ConditionsType} for format and parse the conditions.
3168
+ *
3169
+ * @returns {object} formatOptions of the field (see {@link sap.ui.mdc.field.ConditionsType ConditionsType})
3170
+ * @private
3171
+ */
3088
3172
  FieldBase.prototype._getUnitFormatOptions = function() {
3089
3173
 
3090
3174
  if (!this._asyncParsingCall) { //as variable to have the same function after each update of formatOptions. Otherwise it would be a change on FormatOption in ValueHelpPanel every time
@@ -3097,7 +3181,7 @@ sap.ui.define([
3097
3181
  additionalType: this._getContentFactory().retrieveDataType(), // use type of measure for currentValue
3098
3182
  compositeTypes: this._getContentFactory().getCompositeTypes(),
3099
3183
  display: this.getDisplay(),
3100
- fieldHelpID: this.getFieldHelp() || this._sDefaultFieldHelp,
3184
+ valueHelpID: this._getValueHelp() || this._sDefaultFieldHelp,
3101
3185
  operators: ["EQ"],
3102
3186
  hideOperator: true, // TODO: no operator for units
3103
3187
  maxConditions: 1, // TODO: only one unit allowed
@@ -3218,19 +3302,23 @@ sap.ui.define([
3218
3302
  FieldBase.prototype._getOperators = function() {
3219
3303
 
3220
3304
  var regexp = new RegExp("^\\*(.*)\\*|\\$search$");
3305
+ var aOperators;
3221
3306
  if (regexp.test(this.getFieldPath()) && this.getMaxConditions() === 1) {
3222
3307
  // for SearchField use Contains operator
3223
- return ["Contains"];
3224
- }
3308
+ aOperators = ["Contains"];
3309
+ } else {
3310
+ // get default operators for type
3311
+ var sBaseType = this.getBaseType(); // TODO what if delegate not loaded
3225
3312
 
3226
- // get default operators for type
3227
- var sBaseType = this.getBaseType(); // TODO what if delegate not loaded
3313
+ if (sBaseType === BaseType.Unit) {
3314
+ sBaseType = BaseType.Numeric;
3315
+ }
3228
3316
 
3229
- if (sBaseType === BaseType.Unit) {
3230
- sBaseType = BaseType.Numeric;
3317
+ aOperators = FilterOperatorUtil.getOperatorsForType(sBaseType);
3231
3318
  }
3232
3319
 
3233
- return FilterOperatorUtil.getOperatorsForType(sBaseType);
3320
+ this.setProperty("_operators", aOperators, true);
3321
+ return aOperators;
3234
3322
 
3235
3323
  };
3236
3324
 
@@ -9,9 +9,9 @@
9
9
  // ---------------------------------------------------------------------------------------
10
10
 
11
11
  sap.ui.define([
12
- 'sap/ui/mdc/BaseDelegate', 'sap/ui/mdc/odata/TypeUtil'/* TODO: FieldBase & Field currently expect odata types in default delegate! */, 'sap/ui/model/FormatException', 'sap/ui/mdc/condition/Condition', 'sap/ui/mdc/enum/ConditionValidated'
12
+ 'sap/ui/mdc/BaseDelegate', 'sap/ui/mdc/odata/TypeMap', 'sap/ui/model/FormatException', 'sap/ui/mdc/condition/Condition', 'sap/ui/mdc/enum/ConditionValidated'
13
13
  ], function(
14
- BaseDelegate, TypeUtil, FormatException, Condition, ConditionValidated
14
+ BaseDelegate, ODataTypeMap, FormatException, Condition, ConditionValidated
15
15
  ) {
16
16
  "use strict";
17
17
 
@@ -31,6 +31,10 @@ sap.ui.define([
31
31
  */
32
32
  var FieldBaseDelegate = Object.assign({}, BaseDelegate);
33
33
 
34
+ FieldBaseDelegate.getTypeMap = function () {
35
+ return ODataTypeMap;
36
+ };
37
+
34
38
  /**
35
39
  * Provides the possibility to convey custom data in conditions.
36
40
  * This enables an application to enhance conditions with data relevant for combined key or outparameter scenarios.
@@ -51,7 +55,8 @@ sap.ui.define([
51
55
  /**
52
56
  * Enables applications to control condition updates based on <code>value</code> / <code>additionalvalue</code> property changes.
53
57
  *
54
- * <b>Note:</b> Use with care! Custom implementations of this method may lead to intransparency as a field's condition may then differ from the state of the <code>value</code> / <code>additionalvalue</code> properties. Please also avoid expensive operations!
58
+ * <b>Note:</b> Use with care! Custom implementations of this method may lead to intransparency as a field's condition may then differ from the state of the <code>value</code> / <code>additionalvalue</code> properties.
59
+ * Please also avoid expensive operations, as this can delay the rendering of the output!
55
60
  *
56
61
  * @param {object} oPayload Payload for delegate
57
62
  * @param {sap.ui.core.Control} [oControl] Instance of the calling control
@@ -162,30 +167,20 @@ sap.ui.define([
162
167
  };
163
168
 
164
169
  /**
165
- * Determines the key, description, and the in and out parameters of a user input.
170
+ * Determines the key, description, and payload of a user input.
166
171
  *
167
172
  * If this needs to be determined asynchronously, a <code>Promise</code> is returned.
168
173
  *
169
- * The result needs to be an object containing the following properties: description, key, and in and out parameters.
170
- * <ul>
171
- * <li><code>key</code>: Key of the item </li>
172
- * <li><code>description</code>: Description of the item </li>
173
- * <li><code>inParameters</code>: Object with in parameters and the corresponding value </li>
174
- * <li><code>outParameters</code>: Object with out parameters and the corresponding value </li>
175
- * </ul>
176
- *
177
- * If the item cannot be determined, a corresponding <code>ParseException<code> is thrown.
178
- *
179
174
  * @param {object} oPayload Payload for delegate
180
- * @param {sap.ui.mdc.ValueHelp} oValueHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
175
+ * @param {sap.ui.mdc.ValueHelp} oValueHelp Field help assigned to the {@link sap.ui.mdc.Field Field} or {@link sap.ui.mdc.FilterField FilterField} control
181
176
  * @param {object} [oConfig] Configuration
182
177
  * @param {any} oConfig.value Value as entered by user
183
178
  * @param {any} oConfig.parsedValue Value parsed by data type to fit the data type of the key
184
- * @param {sap.ui.model.Context} oConfig.bindingContext <code>BindingContext</code> of the checked field. Inside a table the <code>FieldHelp</code> element might be connected to a different row.
179
+ * @param {sap.ui.model.Context} oConfig.bindingContext <code>BindingContext</code> of the checked field. Inside a table the <code>ValueHelp</code> element might be connected to a different row.
185
180
  * @param {boolean} oConfig.checkKey If set, it should be checked if there is an item with the given key. This is set to <code>false</code> if the value cannot be a valid key because of type validation.
186
181
  * @param {boolean} oConfig.checkDescription If set, it should be checked if there is an item with the given description. This is set to <code>false</code> if only the key is used in the field.
187
182
  * @param {sap.ui.core.Control} oConfig.control Instance if the calling control
188
- * @returns {object|Promise} Object containing description, key, in and out parameters. If it is not available right now (must be requested), a <code>Promise</code> is returned.
183
+ * @returns {sap.ui.mdc.valuehelp.ValueHelpItem|Promise<sap.ui.mdc.valuehelp.ValueHelpItem>} Object containing description, key, and payload. If it is not available right now (must be requested), a <code>Promise</code> is returned.
189
184
  * @throws {sap.ui.model.ParseException} if item cannot be determined
190
185
  * @since: 1.78.0
191
186
  * @private
@@ -203,21 +198,19 @@ sap.ui.define([
203
198
  /**
204
199
  * Determines the description for a given key.
205
200
  *
206
- * This function is called while formatting the output of a <code>Field</code> or <code>FilterField</code> control
201
+ * This function is called while formatting the output of a {@link sap.ui.mdc.Field Field} or {@link sap.ui.mdc.FilterField FilterField} control
207
202
  * in case a description is to be displayed but only a key is given.
208
203
  *
209
204
  * If this needs to be determined asynchronously, a <code>Promise</code> is returned.
210
205
  *
211
206
  * As the key might change (uppercase), an object with key and description can be returned.
212
207
  *
213
- * If the description cannot be determined, a corresponding <code>FormatException<code> is thrown.
214
- *
215
208
  * @param {object} oPayload Payload for delegate
216
- * @param {sap.ui.mdc.ValueHelp} oValueHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
209
+ * @param {sap.ui.mdc.ValueHelp} oValueHelp Field help assigned to the {@link sap.ui.mdc.Field Field} or {@link sap.ui.mdc.FilterField FilterField} control
217
210
  * @param {any} vKey Key
218
- * @param {object} oInParameters In parameters for the key (as a key must not be unique.)
219
- * @param {object} oOutParameters Out parameters for the key (as a key must not be unique.)
220
- * @param {sap.ui.model.Context} oBindingContext <code>BindingContext</code> of the checked field. Inside a table the <code>FieldHelp</code> element might be connected to a different row.
211
+ * @param {object} oInParameters In parameters for the key (as a key must not be unique.) (Only filled in conditions of old variants.)
212
+ * @param {object} oOutParameters Out parameters for the key (as a key must not be unique.) (Only filled in conditions of old variants.)
213
+ * @param {sap.ui.model.Context} oBindingContext <code>BindingContext</code> of the checked field. Inside a table the <code>ValueHelp</code> element might be connected to a different row.
221
214
  * @param {sap.ui.mdc.condition.ConditionModel} [oConditionModel] <code>ConditionModel</code>, if bound to one - NOT LONGER USED
222
215
  * @param {string} [sConditionModelName] Name of the <code>ConditionModel</code>, if bound to one - NOT LONGER USED
223
216
  * @param {object} oConditionPayload Additional context information for this key
@@ -264,9 +257,5 @@ sap.ui.define([
264
257
 
265
258
  };
266
259
 
267
- FieldBaseDelegate.getTypeUtil = function (oPayload) {
268
- return TypeUtil;
269
- };
270
-
271
260
  return FieldBaseDelegate;
272
261
  });
@@ -23,16 +23,19 @@ sap.ui.define([
23
23
  /**
24
24
  * Constructor for a new <code>FieldInfoBase</code>.
25
25
  *
26
+ * This is the basis for link-features. If the link is pressed a popover might be opened.
27
+ *
26
28
  * @param {string} [sId] ID for the new control, generated automatically if no ID is given
27
29
  * @param {object} [mSettings] Initial settings for the new control
28
30
  * @class A <code>FieldInfoBase</code> element is a base class that shows any kind of information related to the <code>Field</code> control, for example, navigation targets or contact details.
29
31
  * @extends sap.ui.mdc.Element
30
- * @version 1.112.2
32
+ * @version 1.114.0
31
33
  * @constructor
32
34
  * @private
33
35
  * @since 1.54.0
34
36
  * @experimental As of version 1.54
35
- * @ui5-restricted sap.ui.mdc
37
+ * @ui5-restricted sap.ui.mdc, sap.fe
38
+ * @MDC_PUBLIC_CANDIDATE
36
39
  * @alias sap.ui.mdc.field.FieldInfoBase
37
40
  */
38
41
  var FieldInfoBase = Element.extend("sap.ui.mdc.field.FieldInfoBase", /** @lends sap.ui.mdc.field.FieldInfoBase.prototype */
@@ -55,28 +58,35 @@ sap.ui.define([
55
58
  // ----------------------- Field API --------------------------------------------
56
59
 
57
60
  /**
58
- * Returns <code>true</code> as a promise result if the control created by <code>Field</code> can be triggered.
59
- * @returns {Promise} Promise
61
+ * Returns <code>true</code> as a <code>Promise</code> result if the control created by <code>Field</code> can be triggered.
62
+ * @returns {Promise<boolean>} <code>Promise</code> resolving into <code>true</code> if <code>FieldInfo</code> is clickable
60
63
  * @protected
64
+ * @ui5-restricted sap.ui.mdc, sap.fe
65
+ * @MDC_PUBLIC_CANDIDATE
61
66
  */
62
67
  FieldInfoBase.prototype.isTriggerable = function() {
63
68
  throw new Error("sap.ui.mdc.field.FieldInfoBase: method isTriggerable must be redefined");
64
69
  };
65
70
 
66
71
  /**
67
- * Returns as a promise result href which defines the target navigation of the <code>Link</code> control created by <code>Field</code>.
68
- * If direct navigation is used, href is returned. If the information panel contains more content than only one link, <code>undefined</code> is returned.
69
- * @returns {Promise<string|undefined>} Result of promise is href with values {string | undefined}
72
+ * Returns href as a <code>Promise</code> that defines the target navigation of the <code>Link</code> control created by <code>Field</code>.
73
+ * If direct navigation is used, href is returned. If the information panel contains more content than only one link, <code>null</code> is returned.
74
+ * @returns {Promise<string|null>} Result of <code>Promise</code> is href with values {string | null}
70
75
  * @protected
76
+ * @ui5-restricted sap.ui.mdc, sap.fe
77
+ * @MDC_PUBLIC_CANDIDATE
71
78
  */
72
79
  FieldInfoBase.prototype.getTriggerHref = function() {
73
80
  throw new Error("sap.ui.mdc.field.FieldInfoBase: method getTriggerHref must be redefined");
74
81
  };
75
82
 
76
83
  /**
77
- * Returns a promise resolving in an object containing the <code>href</code> and <code>target</code> of a direct navigation link
78
- * Returns a promise resolving in null if there is no direct link
79
- * @returns {Promise} {Object | null}
84
+ * Returns a <code>Promise</code> resolving into an {@link sap.ui.mdc.link.DirectLinkObject} containing the <code>href</code> and <code>target</code> of a direct navigation link.
85
+ * Returns a <code>Promise</code> resolving into null if there is no direct link.
86
+ * @returns {Promise<sap.ui.mdc.link.DirectLinkObject|null>} <code>Promise</code> resolving into <code>null</code> or a {@link sap.ui.mdc.link.DirectLinkObject}
87
+ * @protected
88
+ * @ui5-restricted sap.ui.mdc, sap.fe
89
+ * @MDC_PUBLIC_CANDIDATE
80
90
  */
81
91
  FieldInfoBase.prototype.getDirectLinkHrefAndTarget = function() {
82
92
  throw new Error("sap.ui.mdc.field.FieldInfoBase: method getDirectLinkHrefAndTarget must be redefined");
@@ -86,8 +96,10 @@ sap.ui.define([
86
96
  * Opens the info panel in the control created by <code>Field</code>.
87
97
  * @param {sap.ui.core.Control} oControl Optional control reference to which the popover is
88
98
  * attached. By default the parent is used as reference.
89
- * @returns {Promise} Promise which is resolved once the popover has been created
99
+ * @returns {Promise} <code>Promise</code> that is resolved once the popover has been created
90
100
  * @protected
101
+ * @ui5-restricted sap.ui.mdc, sap.fe
102
+ * @MDC_PUBLIC_CANDIDATE
91
103
  */
92
104
  FieldInfoBase.prototype.open = function(oControl) {
93
105
  oControl = oControl ? oControl : this.getParent();
@@ -118,8 +130,11 @@ sap.ui.define([
118
130
 
119
131
  /**
120
132
  * Returns the content of the popover.
121
- * @returns {Promise} Promise with a popover content of type sap.ui.Control as result
133
+ * @param {Function} [fnGetAutoClosedControl] Function returning the <code>Popover</code> control that is created in <code>createPopover</code>
134
+ * @returns {Promise<sap.ui.Control>} <code>Promise</code> with a popover content of type sap.ui.Control as result
122
135
  * @protected
136
+ * @ui5-restricted sap.ui.mdc, sap.fe
137
+ * @MDC_PUBLIC_CANDIDATE
123
138
  */
124
139
  FieldInfoBase.prototype.getContent = function(fnGetAutoClosedControl) {
125
140
  throw new Error("sap.ui.mdc.field.FieldInfoBase: method getContent must be redefined");
@@ -127,7 +142,7 @@ sap.ui.define([
127
142
 
128
143
  /**
129
144
  * Checks if there is a direct navigation or if there is a popover to be opened.
130
- * @returns {Promise} Resolves a Boolean value
145
+ * @returns {Promise<boolean>} Resolves a Boolean value
131
146
  * @protected
132
147
  */
133
148
  FieldInfoBase.prototype.checkDirectNavigation = function() {
@@ -149,7 +164,7 @@ sap.ui.define([
149
164
 
150
165
  /**
151
166
  * Creates a default popover instance.
152
- * @returns {Promise} Promise with a popover as result
167
+ * @returns {Promise} <code>Promise</code> with a popover as result
153
168
  * @private
154
169
  */
155
170
  FieldInfoBase.prototype.createPopover = function() {
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @param {object} [mSettings] Initial settings for the new control
24
24
  * @class The <code>FieldInput</code> control is used to render an input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
25
25
  * @extends sap.m.Input
26
- * @version 1.112.2
26
+ * @version 1.114.0
27
27
  * @constructor
28
28
  * @abstract
29
29
  * @private
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @class Functions uses in <code>FieldInputRenderer</code> and <code>FieldMultiInputRenderer</code> to adjust aria attributes.
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.112.2
19
+ * @version 1.114.0
20
20
  * @since 1.86.0
21
21
  * @alias sap.ui.mdc.field.FieldInputRenderUtil
22
22
  *
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @param {object} [mSettings] Initial settings for the new control
24
24
  * @class The <code>FieldMultiInput</code> control is used to render a multi-input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
25
25
  * @extends sap.m.MultiInput
26
- * @version 1.112.2
26
+ * @version 1.114.0
27
27
  * @constructor
28
28
  * @abstract
29
29
  * @private