@openui5/sap.ui.mdc 1.110.0 → 1.111.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 (202) hide show
  1. package/package.json +4 -4
  2. package/src/sap/ui/mdc/.library +1 -1
  3. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  4. package/src/sap/ui/mdc/AggregationBaseDelegate.js +20 -2
  5. package/src/sap/ui/mdc/Chart.js +121 -3
  6. package/src/sap/ui/mdc/ChartRenderer.js +9 -6
  7. package/src/sap/ui/mdc/Control.js +1 -1
  8. package/src/sap/ui/mdc/Element.js +1 -1
  9. package/src/sap/ui/mdc/Field.js +2 -2
  10. package/src/sap/ui/mdc/FilterBar.js +1 -1
  11. package/src/sap/ui/mdc/FilterBarDelegate.js +96 -4
  12. package/src/sap/ui/mdc/FilterField.js +2 -2
  13. package/src/sap/ui/mdc/Link.js +9 -2
  14. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  15. package/src/sap/ui/mdc/Table.js +136 -74
  16. package/src/sap/ui/mdc/ValueHelp.js +7 -40
  17. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  18. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
  19. package/src/sap/ui/mdc/chart/ChartImplementationContainerRenderer.js +1 -1
  20. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  21. package/src/sap/ui/mdc/chart/ChartSettings.js +7 -3
  22. package/src/sap/ui/mdc/chart/ChartToolbar.js +37 -6
  23. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  24. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  25. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  26. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  27. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  28. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +2 -2
  29. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  30. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
  31. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  32. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +3 -0
  33. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +3 -1
  34. package/src/sap/ui/mdc/enum/FilterBarValidationStatus.js +56 -0
  35. package/src/sap/ui/mdc/enum/ReasonMode.js +53 -0
  36. package/src/sap/ui/mdc/field/ConditionType.js +19 -33
  37. package/src/sap/ui/mdc/field/ConditionsType.js +1 -3
  38. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  39. package/src/sap/ui/mdc/field/DefineConditionPanel.js +2 -4
  40. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -3
  41. package/src/sap/ui/mdc/field/FieldBase.js +60 -100
  42. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +28 -69
  43. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  44. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  45. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  46. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  47. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  48. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  49. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  50. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  51. package/src/sap/ui/mdc/field/content/ContentFactory.js +66 -9
  52. package/src/sap/ui/mdc/field/content/DateContent.js +3 -2
  53. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +172 -112
  54. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  55. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +18 -3
  56. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +2 -2
  57. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +16 -4
  58. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  59. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +14 -3
  60. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +17 -5
  61. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  62. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  63. package/src/sap/ui/mdc/flexibility/GroupFlex.js +9 -3
  64. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +71 -8
  65. package/src/sap/ui/mdc/flexibility/SortFlex.js +10 -4
  66. package/src/sap/ui/mdc/flexibility/Util.js +5 -3
  67. package/src/sap/ui/mdc/flexibility/xConfigFlex.js +11 -3
  68. package/src/sap/ui/mdc/library.js +2 -18
  69. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  70. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  71. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  72. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  73. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  74. package/src/sap/ui/mdc/link/Factory.js +1 -1
  75. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  76. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  77. package/src/sap/ui/mdc/link/Panel.js +1 -1
  78. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  79. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  80. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  81. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  82. package/src/sap/ui/mdc/messagebundle.properties +7 -3
  83. package/src/sap/ui/mdc/messagebundle_ar.properties +5 -3
  84. package/src/sap/ui/mdc/messagebundle_bg.properties +5 -3
  85. package/src/sap/ui/mdc/messagebundle_ca.properties +5 -3
  86. package/src/sap/ui/mdc/messagebundle_cs.properties +5 -3
  87. package/src/sap/ui/mdc/messagebundle_cy.properties +5 -3
  88. package/src/sap/ui/mdc/messagebundle_da.properties +5 -3
  89. package/src/sap/ui/mdc/messagebundle_de.properties +5 -3
  90. package/src/sap/ui/mdc/messagebundle_el.properties +5 -3
  91. package/src/sap/ui/mdc/messagebundle_en.properties +5 -2
  92. package/src/sap/ui/mdc/messagebundle_en_GB.properties +5 -3
  93. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +5 -3
  94. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +12 -2
  95. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +5 -3
  96. package/src/sap/ui/mdc/messagebundle_es.properties +5 -3
  97. package/src/sap/ui/mdc/messagebundle_es_MX.properties +5 -3
  98. package/src/sap/ui/mdc/messagebundle_et.properties +5 -3
  99. package/src/sap/ui/mdc/messagebundle_fi.properties +5 -3
  100. package/src/sap/ui/mdc/messagebundle_fr.properties +6 -4
  101. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +5 -3
  102. package/src/sap/ui/mdc/messagebundle_hi.properties +5 -3
  103. package/src/sap/ui/mdc/messagebundle_hr.properties +5 -3
  104. package/src/sap/ui/mdc/messagebundle_hu.properties +5 -3
  105. package/src/sap/ui/mdc/messagebundle_id.properties +5 -3
  106. package/src/sap/ui/mdc/messagebundle_it.properties +5 -3
  107. package/src/sap/ui/mdc/messagebundle_iw.properties +5 -3
  108. package/src/sap/ui/mdc/messagebundle_ja.properties +5 -3
  109. package/src/sap/ui/mdc/messagebundle_kk.properties +5 -3
  110. package/src/sap/ui/mdc/messagebundle_ko.properties +4 -2
  111. package/src/sap/ui/mdc/messagebundle_lt.properties +5 -3
  112. package/src/sap/ui/mdc/messagebundle_lv.properties +5 -3
  113. package/src/sap/ui/mdc/messagebundle_ms.properties +5 -3
  114. package/src/sap/ui/mdc/messagebundle_nl.properties +5 -3
  115. package/src/sap/ui/mdc/messagebundle_no.properties +5 -3
  116. package/src/sap/ui/mdc/messagebundle_pl.properties +5 -3
  117. package/src/sap/ui/mdc/messagebundle_pt.properties +5 -3
  118. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +5 -3
  119. package/src/sap/ui/mdc/messagebundle_ro.properties +5 -3
  120. package/src/sap/ui/mdc/messagebundle_ru.properties +5 -3
  121. package/src/sap/ui/mdc/messagebundle_sh.properties +5 -3
  122. package/src/sap/ui/mdc/messagebundle_sk.properties +5 -3
  123. package/src/sap/ui/mdc/messagebundle_sl.properties +5 -3
  124. package/src/sap/ui/mdc/messagebundle_sv.properties +5 -3
  125. package/src/sap/ui/mdc/messagebundle_th.properties +5 -3
  126. package/src/sap/ui/mdc/messagebundle_tr.properties +5 -3
  127. package/src/sap/ui/mdc/messagebundle_uk.properties +5 -3
  128. package/src/sap/ui/mdc/messagebundle_vi.properties +5 -3
  129. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +5 -3
  130. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +5 -3
  131. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  132. package/src/sap/ui/mdc/mixin/DelegateMixin.js +12 -1
  133. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +29 -3
  134. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  135. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +96 -77
  136. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
  137. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +0 -32
  138. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +3 -0
  139. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +1 -1
  140. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +6 -5
  141. package/src/sap/ui/mdc/p13n/Engine.js +1 -1
  142. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  143. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  144. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +1 -1
  145. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  146. package/src/sap/ui/mdc/table/Column.js +5 -2
  147. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  148. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  149. package/src/sap/ui/mdc/table/GridTableType.js +1 -16
  150. package/src/sap/ui/mdc/table/PropertyHelper.js +50 -12
  151. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  152. package/src/sap/ui/mdc/table/ResponsiveTableType.js +1 -15
  153. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  154. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  155. package/src/sap/ui/mdc/table/TableSettings.js +14 -13
  156. package/src/sap/ui/mdc/table/TreeTableType.js +2 -19
  157. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +34 -2
  158. package/src/sap/ui/mdc/themes/base/FieldBase.less +12 -25
  159. package/src/sap/ui/mdc/util/FilterUtil.js +24 -1
  160. package/src/sap/ui/mdc/util/InfoBar.js +118 -0
  161. package/src/sap/ui/mdc/util/InfoBarRenderer.js +35 -0
  162. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  163. package/src/sap/ui/mdc/util/PropertyHelper.js +41 -41
  164. package/src/sap/ui/mdc/util/TypeUtil.js +3 -1
  165. package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
  166. package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
  167. package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -3
  168. package/src/sap/ui/mdc/valuehelp/base/Content.js +2 -4
  169. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  170. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +1 -1
  171. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -23
  172. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  173. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  174. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  175. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +19 -21
  176. package/src/sap/ui/mdc/valuehelp/content/MTable.js +1 -1
  177. package/test/sap/ui/mdc/testutils/opa/field/Actions.js +4 -2
  178. package/test/sap/ui/mdc/testutils/opa/filterfield/Actions.js +4 -2
  179. package/test/sap/ui/mdc/testutils/opa/filterfield/TestObjects.js +0 -11
  180. package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +16 -0
  181. package/test/sap/ui/mdc/testutils/opa/valueHelp/JSDoc.md +98 -9
  182. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +85 -0
  183. package/test/sap/ui/mdc/testutils/opa/valueHelp/doWait.js +2 -2
  184. package/src/sap/ui/mdc/enum/OutParameterMode.js +0 -39
  185. package/src/sap/ui/mdc/field/BoolFieldHelp.js +0 -437
  186. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +0 -325
  187. package/src/sap/ui/mdc/field/CustomFieldHelp.js +0 -101
  188. package/src/sap/ui/mdc/field/FieldHelpBase.js +0 -1517
  189. package/src/sap/ui/mdc/field/FieldHelpBaseDelegate.js +0 -55
  190. package/src/sap/ui/mdc/field/FieldValueHelp.js +0 -2834
  191. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +0 -525
  192. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +0 -171
  193. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +0 -359
  194. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +0 -416
  195. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +0 -977
  196. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +0 -329
  197. package/src/sap/ui/mdc/field/InParameter.js +0 -229
  198. package/src/sap/ui/mdc/field/ListFieldHelp.js +0 -620
  199. package/src/sap/ui/mdc/field/OutParameter.js +0 -75
  200. package/src/sap/ui/mdc/field/ValueHelpPanel.control.xml +0 -71
  201. package/src/sap/ui/mdc/field/ValueHelpPanel.js +0 -525
  202. package/src/sap/ui/mdc/odata/v4/FieldValueHelpDelegate.js +0 -125
@@ -69,39 +69,6 @@ sap.ui.define([
69
69
  return oNextCondition;
70
70
  };
71
71
 
72
- /**
73
- * Maps the Edm type names to real type names
74
- *
75
- * If a real type has already been defined, this type is returned.
76
- *
77
- * @param {object} oPayload Payload for delegate
78
- * @param {string} sType Given EDM type
79
- * @returns {string} Data type name
80
- * @private
81
- * @deprecated please use sap.ui.mdc.util.TypeUtil.getDataTypeClass instead
82
- */
83
- FieldBaseDelegate.getDataTypeClass = function(oPayload, sType) {
84
- return TypeUtil.getDataTypeClassName(sType);
85
- };
86
-
87
- /**
88
- * To know what control is rendered the <code>Field</code> or </code>FilterField</code>
89
- * needs to know if the type represents a date, a number or something else in a normalized way.
90
- *
91
- * As default <code>string</code> is returned.
92
- *
93
- * @param {object} oPayload Payload for delegate
94
- * @param {string} sType Given type
95
- * @param {object} oFormatOptions Used <code>FormatOptions</code>
96
- * @param {object} oConstraints Used <code>Constraints</code>
97
- * @returns {sap.ui.mdc.condition.BaseType} output <code>Date</code>, <code>DateTime</code> or <code>Time</code>...
98
- * @private
99
- * @deprecated please use sap.ui.mdc.util.TypeUtil.getBaseType instead
100
- */
101
- FieldBaseDelegate.getBaseType = function(oPayload, sType, oFormatOptions, oConstraints) {
102
- return TypeUtil.getBaseType(sType, oFormatOptions, oConstraints);
103
- };
104
-
105
72
  /**
106
73
  * If the <code>Field</code> control is used, the used data type might come from the binding.
107
74
  * In V4-unit or currency case it might need to be formatted once.
@@ -157,15 +124,15 @@ sap.ui.define([
157
124
  * checked to determine the key and description.
158
125
  *
159
126
  * @param {object} oPayload Payload for delegate
160
- * @param {sap.ui.mdc.field.FieldHelpBase} oFieldHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
127
+ * @param {sap.ui.mdc.ValueHelp} oValueHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
161
128
  * @returns {boolean} If <code>true</code>, the input is checked
162
129
  * @private
163
130
  * @ui5-restricted sap.ui.mdc.field.FieldBase
164
131
  * @since: 1.78.0
165
132
  */
166
- FieldBaseDelegate.isInputValidationEnabled = function(oPayload, oFieldHelp) {
133
+ FieldBaseDelegate.isInputValidationEnabled = function(oPayload, oValueHelp) {
167
134
 
168
- if (oFieldHelp && oFieldHelp.isValidationSupported()) {
135
+ if (oValueHelp && oValueHelp.isValidationSupported()) {
169
136
  return true;
170
137
  } else {
171
138
  return false;
@@ -178,16 +145,16 @@ sap.ui.define([
178
145
  * is not found in the field help or custom logic is accepted.
179
146
  *
180
147
  * @param {object} oPayload Payload for delegate
181
- * @param {sap.ui.mdc.field.FieldHelpBase} oFieldHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
148
+ * @param {sap.ui.mdc.ValueHelp} oValueHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
182
149
  * @returns {boolean} If <code>true</code>, invalid input is accepted
183
150
  * @private
184
151
  * @ui5-restricted sap.ui.mdc.field.FieldBase
185
152
  * @since: 1.78.0
186
153
  */
187
- FieldBaseDelegate.isInvalidInputAllowed = function(oPayload, oFieldHelp) {
154
+ FieldBaseDelegate.isInvalidInputAllowed = function(oPayload, oValueHelp) {
188
155
 
189
- if (oFieldHelp) {
190
- return !oFieldHelp.getValidateInput();
156
+ if (oValueHelp) {
157
+ return !oValueHelp.getValidateInput();
191
158
  } else {
192
159
  return true;
193
160
  }
@@ -210,15 +177,13 @@ sap.ui.define([
210
177
  * If the item cannot be determined, a corresponding <code>ParseException<code> is thrown.
211
178
  *
212
179
  * @param {object} oPayload Payload for delegate
213
- * @param {sap.ui.mdc.field.FieldHelpBase} oFieldHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
180
+ * @param {sap.ui.mdc.ValueHelp} oValueHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
214
181
  * @param {object} [oConfig] Configuration
215
182
  * @param {any} oConfig.value Value as entered by user
216
183
  * @param {any} oConfig.parsedValue Value parsed by data type to fit the data type of the key
217
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.
218
185
  * @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.
219
186
  * @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.
220
- * @param {sap.ui.mdc.condition.ConditionModel} [oConfig.conditionModel] <code>ConditionModel</code>, if bound to one
221
- * @param {string} [oConfig.conditionModelName] Name of the <code>ConditionModel</code>, if bound to one
222
187
  * @param {sap.ui.core.Control} oConfig.control Instance if the calling control
223
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.
224
189
  * @throws {sap.ui.model.ParseException} if item cannot be determined
@@ -227,10 +192,10 @@ sap.ui.define([
227
192
  * @ui5-restricted sap.fe
228
193
  * @MDC_PUBLIC_CANDIDATE
229
194
  */
230
- FieldBaseDelegate.getItemForValue = function(oPayload, oFieldHelp, oConfig) {
195
+ FieldBaseDelegate.getItemForValue = function(oPayload, oValueHelp, oConfig) {
231
196
 
232
- if (oFieldHelp) {
233
- return oFieldHelp.getItemForValue(oConfig);
197
+ if (oValueHelp) {
198
+ return oValueHelp.getItemForValue(oConfig);
234
199
  }
235
200
 
236
201
  };
@@ -248,13 +213,13 @@ sap.ui.define([
248
213
  * If the description cannot be determined, a corresponding <code>FormatException<code> is thrown.
249
214
  *
250
215
  * @param {object} oPayload Payload for delegate
251
- * @param {sap.ui.mdc.field.FieldHelpBase} oFieldHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
216
+ * @param {sap.ui.mdc.ValueHelp} oValueHelp Field help assigned to the <code>Field</code> or <code>FilterField</code> control
252
217
  * @param {any} vKey Key
253
218
  * @param {object} oInParameters In parameters for the key (as a key must not be unique.)
254
219
  * @param {object} oOutParameters Out parameters for the key (as a key must not be unique.)
255
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.
256
- * @param {sap.ui.mdc.condition.ConditionModel} [oConditionModel] <code>ConditionModel</code>, if bound to one
257
- * @param {string} [sConditionModelName] Name of the <code>ConditionModel</code>, if bound to one
221
+ * @param {sap.ui.mdc.condition.ConditionModel} [oConditionModel] <code>ConditionModel</code>, if bound to one - NOT LONGER USED
222
+ * @param {string} [sConditionModelName] Name of the <code>ConditionModel</code>, if bound to one - NOT LONGER USED
258
223
  * @param {object} oConditionPayload Additional context information for this key
259
224
  * @param {sap.ui.core.Control} [oControl] Instance if the calling control
260
225
  * @param {sap.ui.model.Type} oType Type of the value
@@ -265,26 +230,20 @@ sap.ui.define([
265
230
  * @ui5-restricted sap.fe
266
231
  * @MDC_PUBLIC_CANDIDATE
267
232
  */
268
- FieldBaseDelegate.getDescription = function(oPayload, oFieldHelp, vKey, oInParameters, oOutParameters, oBindingContext, oConditionModel, sConditionModelName, oConditionPayload, oControl, oType) {
269
- if (oFieldHelp && oFieldHelp.isA("sap.ui.mdc.ValueHelp")) {
270
- var oConfig = {
271
- value: vKey,
272
- parsedValue: vKey,
273
- dataType: oType,
274
- context: {inParameters: oInParameters, outParameters: oOutParameters, payload: oConditionPayload},
275
- bindingContext: oBindingContext,
276
- conditionModel: oConditionModel,
277
- conditionModelName: sConditionModelName,
278
- checkKey: true,
279
- checkDescription: false,
280
- caseSensitive: true, // case sensitive as used to get description for known key
281
- exception: FormatException,
282
- control: oControl
283
- };
284
- return oFieldHelp.getItemForValue(oConfig);
285
- } else if (oFieldHelp) {
286
- return oFieldHelp.getTextForKey(vKey, oInParameters, oOutParameters, oBindingContext, oConditionModel, sConditionModelName);
287
- }
233
+ FieldBaseDelegate.getDescription = function(oPayload, oValueHelp, vKey, oInParameters, oOutParameters, oBindingContext, oConditionModel, sConditionModelName, oConditionPayload, oControl, oType) {
234
+ var oConfig = {
235
+ value: vKey,
236
+ parsedValue: vKey,
237
+ dataType: oType,
238
+ context: {inParameters: oInParameters, outParameters: oOutParameters, payload: oConditionPayload},
239
+ bindingContext: oBindingContext,
240
+ checkKey: true,
241
+ checkDescription: false,
242
+ caseSensitive: true, // case sensitive as used to get description for known key
243
+ exception: FormatException,
244
+ control: oControl
245
+ };
246
+ return oValueHelp && oValueHelp.getItemForValue(oConfig);
288
247
 
289
248
  };
290
249
 
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @param {object} [mSettings] Initial settings for the new control
28
28
  * @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
29
  * @extends sap.ui.mdc.Element
30
- * @version 1.110.0
30
+ * @version 1.111.0
31
31
  * @constructor
32
32
  * @private
33
33
  * @since 1.54.0
@@ -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.110.0
26
+ * @version 1.111.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.110.0
19
+ * @version 1.111.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.110.0
26
+ * @version 1.111.0
27
27
  * @constructor
28
28
  * @abstract
29
29
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.core.ListItem
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.110.0
26
+ * @version 1.111.0
27
27
  *
28
28
  * @private
29
29
  * @ui5-restricted sap.fe
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @param {object} [mSettings] Initial settings for the new control
21
21
  * @class Base type for <code>MultiValueFieldItem</code> control.
22
22
  * @extends sap.ui.core.Element
23
- * @version 1.110.0
23
+ * @version 1.111.0
24
24
  * @constructor
25
25
  * @abstract
26
26
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @param {object} [mSettings] Initial settings for the new control
24
24
  * @class The <code>TokenDisplay</code> control is used to render a field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
25
25
  * @extends sap.m.Token
26
- * @version 1.110.0
26
+ * @version 1.111.0
27
27
  * @constructor
28
28
  * @abstract
29
29
  * @private
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @param {object} [mSettings] Initial settings for the new control
29
29
  * @class The <code>TokenizerDisplay</code> control is used to render a Tokenizer inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
30
30
  * @extends sap.m.Tokenizer
31
- * @version 1.110.0
31
+ * @version 1.111.0
32
32
  * @constructor
33
33
  * @abstract
34
34
  * @private
@@ -38,6 +38,7 @@ sap.ui.define([
38
38
  library: "sap.ui.mdc"
39
39
  },
40
40
  constructor: function(sId, mSettings) {
41
+ this.init();
41
42
  this._oField = mSettings ? mSettings.field : null;
42
43
  this._fnHandleTokenUpdate = mSettings ? mSettings.handleTokenUpdate : null;
43
44
  this._fnHandleContentChange = mSettings ? mSettings.handleContentChange : null;
@@ -61,9 +62,10 @@ sap.ui.define([
61
62
  };
62
63
 
63
64
  ContentFactory.prototype.init = function() {
64
- this._oContentTypeClass;
65
- this._sOperator;
65
+ this._oContentTypeClass = undefined;
66
+ this._sOperator = undefined;
66
67
  this._bNoFormatting = false;
68
+ this._bHideOperator = false;
67
69
  };
68
70
 
69
71
  ContentFactory.prototype.exit = function() {
@@ -93,7 +95,7 @@ sap.ui.define([
93
95
  * @param {sap.ui.mdc.field.content.DefaultContent} oContentType The content type object
94
96
  * @param {sap.ui.mdc.enum.ContentMode} sContentMode A given content mode
95
97
  * @param {string} sId ID of the {@link sap.ui.mdc.field.FieldBase}
96
- * @returns {sap.ui.core.Control[]} Array containing the created controls
98
+ * @returns {Promise<sap.ui.core.Control[]>} Array containing the created controls
97
99
  */
98
100
  ContentFactory.prototype.createContent = function(oContentType, sContentMode, sId) {
99
101
  var aControlNames = oContentType.getControlNames(sContentMode, this._sOperator);
@@ -108,10 +110,19 @@ sap.ui.define([
108
110
  return Promise.resolve([]);
109
111
  }
110
112
 
113
+ if (!this.getDataType()) {
114
+ // DataType instance not already set, make sure to load module before creating control and corresponding ConditionType (In Field case Instance is set in Binding.)
115
+ var sDataType = this.getField().getDataType();
116
+ if (sDataType) {
117
+ sDataType = this.getField().getTypeUtil().getDataTypeClassName(sDataType); // map EDM-Types
118
+ aControlNames.push(sDataType.replaceAll(".", "/"));
119
+ }
120
+ }
121
+
111
122
  try {
112
123
  oLoadModulesPromise = loadModules(aControlNames)
113
124
  .catch(function(oError) {
114
- throw new Error("loadModules promise rejected in sap.ui.mdc.field.content.ContentFactory:createContent function call - could not load controls " + JSON.stringify(aControlNames));
125
+ throw new Error("loadModules promise rejected in sap.ui.mdc.field.content.ContentFactory:createContent function call - could not load data type " + JSON.stringify(aControlNames));
115
126
  })
116
127
  .then(function(aControls) {
117
128
  if (this.getField() && !this.getField()._bIsBeingDestroyed) {
@@ -315,7 +326,7 @@ sap.ui.define([
315
326
  this._oContentConditionTypes = oContentConditionTypes;
316
327
  };
317
328
 
318
- ContentFactory.prototype._setUsedConditionType = function(oContent, sEditMode) {
329
+ ContentFactory.prototype._setUsedConditionType = function(oContent, oContentEdit, oContentDisplay, sEditMode) {
319
330
 
320
331
  // remove external types
321
332
  if (this._oConditionType && !this._oConditionType._bCreatedByField) {
@@ -334,12 +345,12 @@ sap.ui.define([
334
345
  oConditionType = this._oContentConditionTypes.content.oConditionType;
335
346
  oConditionsType = this._oContentConditionTypes.content.oConditionsType;
336
347
  }
337
- } else if (sEditMode === EditMode.Display && this.getField().getContentDisplay()) {
348
+ } else if (sEditMode === EditMode.Display && oContentDisplay) {
338
349
  if (this._oContentConditionTypes.contentDisplay) {
339
350
  oConditionType = this._oContentConditionTypes.contentDisplay.oConditionType;
340
351
  oConditionsType = this._oContentConditionTypes.contentDisplay.oConditionsType;
341
352
  }
342
- } else if (sEditMode !== EditMode.Display && this.getField().getContentEdit()) {
353
+ } else if (sEditMode !== EditMode.Display && oContentEdit) {
343
354
  if (this._oContentConditionTypes.contentEdit) {
344
355
  oConditionType = this._oContentConditionTypes.contentEdit.oConditionType;
345
356
  oConditionsType = this._oContentConditionTypes.contentEdit.oConditionsType;
@@ -359,7 +370,35 @@ sap.ui.define([
359
370
  this._oConditionsType = oConditionsType;
360
371
  }
361
372
 
362
- this.updateConditionType();
373
+ if (oConditionType || oConditionsType) {
374
+ // as data type module might not be loaded, load it now
375
+ if (!this.getDataType()) {
376
+ // DataType instance not already set, make sure to load module before creating control and corresponding ConditionType (In Field case Instance is set in Binding.)
377
+ var sDataType = this.getField().getDataType();
378
+ if (sDataType) {
379
+ sDataType = this.getField().getTypeUtil().getDataTypeClassName(sDataType); // map EDM-Types
380
+ sDataType = sDataType.replaceAll(".", "/");
381
+ try {
382
+ loadModules([sDataType])
383
+ .catch(function(oError) {
384
+ throw new Error("loadModules promise rejected in sap.ui.mdc.field.content.ContentFactory:_setUsedConditionType function call - could not load controls " + sDataType);
385
+ })
386
+ .then(function(aModules) {
387
+ if (this.getField() && !this.getField()._bIsBeingDestroyed) {
388
+ this.updateConditionType();
389
+ }
390
+ }.bind(this))
391
+ .unwrap();
392
+ } catch (oError) {
393
+ throw new Error("Error in sap.ui.mdc.field.content.ContentFactory:_setUsedConditionType function call ErrorMessage: '" + oError.message + "'");
394
+ }
395
+ }
396
+ } else {
397
+ this.updateConditionType();
398
+ }
399
+
400
+ }
401
+
363
402
  };
364
403
 
365
404
  ContentFactory.prototype.getDataType = function() {
@@ -370,7 +409,25 @@ sap.ui.define([
370
409
  this._oDataType = oDataType;
371
410
  };
372
411
 
373
- ContentFactory.prototype.retrieveDataType = function() {
412
+ ContentFactory.prototype.checkDataTypeChanged = function(sDataType) {
413
+ sDataType = this.getField().getTypeUtil().getDataTypeClassName(sDataType); // map EDM-Types
414
+
415
+ try {
416
+ // check data-type after we can be sure it's loaded to perform depending actions later
417
+ return loadModules([sDataType.replaceAll(".", "/")])
418
+ .catch(function(oError) {
419
+ throw new Error("loadModules promise rejected in sap.ui.mdc.field.content.ContentFactory:checkDataTypeChanged function call - could not load data type " + sDataType);
420
+ })
421
+ .then(function(aModules) {
422
+ // TODO: also compare FormatOptions and Constraints
423
+ return !this._oDataType || this._oDataType.getMetadata().getName() !== sDataType;
424
+ }.bind(this));
425
+ } catch (oError) {
426
+ throw new Error("Error in sap.ui.mdc.field.content.ContentFactory:checkDataTypeChanged function call ErrorMessage: '" + oError.message + "'");
427
+ }
428
+ };
429
+
430
+ ContentFactory.prototype.retrieveDataType = function() { // make sure that data type module is loaded before
374
431
  if (!this._oDataType) {
375
432
  var sDataType = this.getField().getDataType();
376
433
  if (typeof sDataType === "string") {
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  return [null];
42
42
  },
43
43
  getEdit: function() {
44
- return ["sap/m/DynamicDateRange", "sap/ui/mdc/condition/OperatorDynamicDateOption", "sap/ui/mdc/field/DynamicDateRangeConditionsType", "sap/m/StandardDynamicDateRangeKeys", "sap/m/DynamicDateUtil", "sap/m/DynamicDateFormat"];
44
+ return ["sap/m/DynamicDateRange", "sap/ui/mdc/condition/OperatorDynamicDateOption", "sap/ui/mdc/field/DynamicDateRangeConditionsType", "sap/m/library", "sap/m/DynamicDateUtil", "sap/m/DynamicDateFormat"];
45
45
  },
46
46
  getEditOperator: function() {
47
47
  return {
@@ -186,9 +186,10 @@ sap.ui.define([
186
186
  var DynamicDateRange = aControlClasses[0];
187
187
  var OperatorDynamicDateOption = aControlClasses[1];
188
188
  var DynamicDateRangeConditionsType = aControlClasses[2];
189
+ var mLibrary = aControlClasses[3];
189
190
 
190
191
  if (!StandardDynamicDateRangeKeys || !DynamicDateUtil || !DynamicDateFormat) {
191
- StandardDynamicDateRangeKeys = aControlClasses[3];
192
+ StandardDynamicDateRangeKeys = mLibrary.StandardDynamicDateRangeKeys;
192
193
  DynamicDateUtil = aControlClasses[4];
193
194
  DynamicDateFormat = aControlClasses[5];
194
195
  }