@openui5/sap.ui.mdc 1.134.0 → 1.136.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 (302) hide show
  1. package/REUSE.toml +649 -0
  2. package/THIRDPARTY.txt +23 -23
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +2 -2
  5. package/src/sap/ui/mdc/ActionToolbar.js +2 -2
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +1 -1
  7. package/src/sap/ui/mdc/BaseDelegate.js +1 -1
  8. package/src/sap/ui/mdc/Chart.js +2 -2
  9. package/src/sap/ui/mdc/ChartDelegate.js +1 -1
  10. package/src/sap/ui/mdc/ChartRenderer.js +1 -1
  11. package/src/sap/ui/mdc/Control.js +2 -2
  12. package/src/sap/ui/mdc/DefaultTypeMap.js +2 -2
  13. package/src/sap/ui/mdc/Element.js +2 -2
  14. package/src/sap/ui/mdc/Field.js +3 -3
  15. package/src/sap/ui/mdc/FilterBar.js +2 -2
  16. package/src/sap/ui/mdc/FilterBarDelegate.js +1 -1
  17. package/src/sap/ui/mdc/FilterField.js +3 -3
  18. package/src/sap/ui/mdc/Link.js +2 -2
  19. package/src/sap/ui/mdc/LinkDelegate.js +1 -1
  20. package/src/sap/ui/mdc/MultiValueField.js +2 -2
  21. package/src/sap/ui/mdc/Table.js +54 -8
  22. package/src/sap/ui/mdc/TableDelegate.js +1 -1
  23. package/src/sap/ui/mdc/ValueHelp.js +105 -28
  24. package/src/sap/ui/mdc/ValueHelpDelegate.js +88 -19
  25. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +10 -2
  26. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
  27. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +2 -2
  28. package/src/sap/ui/mdc/chart/ChartImplementationContainerRenderer.js +1 -1
  29. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +2 -2
  30. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +1 -1
  31. package/src/sap/ui/mdc/chart/Item.js +1 -1
  32. package/src/sap/ui/mdc/chart/PropertyHelper.js +2 -2
  33. package/src/sap/ui/mdc/chart/SelectionButton.js +1 -1
  34. package/src/sap/ui/mdc/chart/SelectionButtonDisplay.js +1 -1
  35. package/src/sap/ui/mdc/chart/SelectionButtonItem.js +1 -1
  36. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +1 -1
  37. package/src/sap/ui/mdc/chart/ToolbarControlFactory.js +3 -3
  38. package/src/sap/ui/mdc/chart/Util.js +1 -1
  39. package/src/sap/ui/mdc/condition/Condition.js +2 -2
  40. package/src/sap/ui/mdc/condition/ConditionConverter.js +2 -2
  41. package/src/sap/ui/mdc/condition/ConditionModel.js +2 -2
  42. package/src/sap/ui/mdc/condition/ConditionModelPropertyBinding.js +1 -1
  43. package/src/sap/ui/mdc/condition/ConditionValidateException.js +1 -1
  44. package/src/sap/ui/mdc/condition/FilterConverter.js +91 -57
  45. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +41 -4
  46. package/src/sap/ui/mdc/condition/Operator.js +18 -13
  47. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +2 -2
  48. package/src/sap/ui/mdc/condition/RangeOperator.js +2 -2
  49. package/src/sap/ui/mdc/designtime/Util.js +1 -1
  50. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +1 -1
  51. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +1 -1
  52. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +22 -18
  53. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +1 -1
  54. package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +1 -1
  55. package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +1 -1
  56. package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +1 -1
  57. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +12 -9
  58. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +1 -1
  59. package/src/sap/ui/mdc/designtime/library.designtime.js +1 -1
  60. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +11 -8
  61. package/src/sap/ui/mdc/enum/ActionToolbarActionAlignment.js +1 -1
  62. package/src/sap/ui/mdc/enum/BaseType.js +1 -1
  63. package/src/sap/ui/mdc/enum/ConditionValidated.js +1 -1
  64. package/src/sap/ui/mdc/enum/ContentMode.js +1 -1
  65. package/src/sap/ui/mdc/enum/EditMode.js +1 -1
  66. package/src/sap/ui/mdc/enum/FieldDisplay.js +1 -1
  67. package/src/sap/ui/mdc/enum/FilterBarValidationStatus.js +1 -1
  68. package/src/sap/ui/mdc/enum/LinkType.js +1 -1
  69. package/src/sap/ui/mdc/enum/OperatorOverwrite.js +1 -1
  70. package/src/sap/ui/mdc/enum/OperatorValueType.js +1 -1
  71. package/src/sap/ui/mdc/enum/ProcessingStrategy.js +1 -1
  72. package/src/sap/ui/mdc/enum/PropagationReason.js +1 -1
  73. package/src/sap/ui/mdc/enum/ReasonMode.js +1 -1
  74. package/src/sap/ui/mdc/enum/SelectType.js +1 -1
  75. package/src/sap/ui/mdc/enums/ActionToolbarActionAlignment.js +1 -1
  76. package/src/sap/ui/mdc/enums/BaseType.js +1 -1
  77. package/src/sap/ui/mdc/enums/ChartItemRoleType.js +1 -1
  78. package/src/sap/ui/mdc/enums/ChartItemType.js +1 -1
  79. package/src/sap/ui/mdc/enums/ChartP13nMode.js +1 -1
  80. package/src/sap/ui/mdc/enums/ChartToolbarActionType.js +1 -1
  81. package/src/sap/ui/mdc/enums/ConditionValidated.js +1 -1
  82. package/src/sap/ui/mdc/enums/ContentMode.js +1 -1
  83. package/src/sap/ui/mdc/enums/FieldDisplay.js +1 -1
  84. package/src/sap/ui/mdc/enums/FieldEditMode.js +1 -1
  85. package/src/sap/ui/mdc/enums/FilterBarP13nMode.js +1 -1
  86. package/src/sap/ui/mdc/enums/FilterBarValidationStatus.js +1 -1
  87. package/src/sap/ui/mdc/enums/LinkType.js +1 -1
  88. package/src/sap/ui/mdc/enums/OperatorName.js +1 -1
  89. package/src/sap/ui/mdc/enums/OperatorOverwrite.js +1 -1
  90. package/src/sap/ui/mdc/enums/OperatorValueType.js +1 -1
  91. package/src/sap/ui/mdc/enums/ProcessingStrategy.js +1 -1
  92. package/src/sap/ui/mdc/enums/ReasonMode.js +1 -1
  93. package/src/sap/ui/mdc/enums/RequestShowContainerReason.js +62 -0
  94. package/src/sap/ui/mdc/enums/TableGrowingMode.js +1 -1
  95. package/src/sap/ui/mdc/enums/TableMultiSelectMode.js +1 -1
  96. package/src/sap/ui/mdc/enums/TableP13nMode.js +1 -1
  97. package/src/sap/ui/mdc/enums/TableRowActionType.js +1 -1
  98. package/src/sap/ui/mdc/enums/TableRowCountMode.js +1 -1
  99. package/src/sap/ui/mdc/enums/TableSelectionMode.js +1 -1
  100. package/src/sap/ui/mdc/enums/TableType.js +1 -1
  101. package/src/sap/ui/mdc/enums/ValueHelpPropagationReason.js +1 -1
  102. package/src/sap/ui/mdc/enums/ValueHelpSelectionType.js +1 -1
  103. package/src/sap/ui/mdc/field/ConditionType.js +2 -2
  104. package/src/sap/ui/mdc/field/ConditionTypeMixin.js +2 -2
  105. package/src/sap/ui/mdc/field/ConditionsType.js +2 -2
  106. package/src/sap/ui/mdc/field/CustomFieldInfo.js +2 -2
  107. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +2 -2
  108. package/src/sap/ui/mdc/field/FieldBase.js +104 -47
  109. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
  110. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +1 -1
  111. package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -2
  112. package/src/sap/ui/mdc/field/FieldInput.js +44 -4
  113. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +2 -2
  114. package/src/sap/ui/mdc/field/FieldInputRenderer.js +1 -1
  115. package/src/sap/ui/mdc/field/FieldMultiInput.js +48 -4
  116. package/src/sap/ui/mdc/field/FieldMultiInputRenderer.js +1 -1
  117. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +2 -2
  118. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +1 -1
  119. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +2 -2
  120. package/src/sap/ui/mdc/field/TokenDisplay.js +2 -2
  121. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +1 -1
  122. package/src/sap/ui/mdc/field/TokenizerDisplay.js +43 -3
  123. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +1 -1
  124. package/src/sap/ui/mdc/field/content/BooleanContent.js +1 -1
  125. package/src/sap/ui/mdc/field/content/ContentFactory.js +2 -2
  126. package/src/sap/ui/mdc/field/content/DateContent.js +1 -1
  127. package/src/sap/ui/mdc/field/content/DateTimeContent.js +1 -1
  128. package/src/sap/ui/mdc/field/content/DefaultContent.js +1 -1
  129. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  130. package/src/sap/ui/mdc/field/content/SearchContent.js +1 -1
  131. package/src/sap/ui/mdc/field/content/TimeContent.js +1 -1
  132. package/src/sap/ui/mdc/field/content/UnitContent.js +1 -1
  133. package/src/sap/ui/mdc/field/splitValue.js +1 -1
  134. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +2 -2
  135. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  136. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
  137. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +2 -2
  138. package/src/sap/ui/mdc/filterbar/PropertyInfoValidator.js +1 -1
  139. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +1 -1
  140. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +1 -1
  141. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +2 -2
  142. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +1 -1
  143. package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +1 -1
  144. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +1 -1
  145. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +1 -1
  146. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +1 -1
  147. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +2 -2
  148. package/src/sap/ui/mdc/filterbar/vh/FilterBarDelegate.js +1 -1
  149. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
  150. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +1 -1
  151. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +1 -1
  152. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +1 -1
  153. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +2 -2
  154. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +1 -1
  155. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +1 -1
  156. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
  157. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +1 -1
  158. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +2 -2
  159. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +2 -2
  160. package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
  161. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
  162. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +1 -1
  163. package/src/sap/ui/mdc/flexibility/PanelItem.flexibility.js +1 -1
  164. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +1 -1
  165. package/src/sap/ui/mdc/flexibility/SortFlex.js +1 -1
  166. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +5 -1
  167. package/src/sap/ui/mdc/flexibility/Util.js +1 -1
  168. package/src/sap/ui/mdc/flexibility/actiontoolbar/CombineAction.js +2 -2
  169. package/src/sap/ui/mdc/flexibility/actiontoolbar/SplitAction.js +2 -2
  170. package/src/sap/ui/mdc/flexibility/helpers/addKeyOrName.js +1 -1
  171. package/src/sap/ui/mdc/flexibility/xConfigFlex.js +1 -1
  172. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +1 -1
  173. package/src/sap/ui/mdc/i18n/interaction.xml +43 -0
  174. package/src/sap/ui/mdc/library.js +8 -4
  175. package/src/sap/ui/mdc/library.support.js +1 -1
  176. package/src/sap/ui/mdc/link/Factory.js +2 -2
  177. package/src/sap/ui/mdc/link/LinkItem.js +2 -2
  178. package/src/sap/ui/mdc/link/Log.js +1 -1
  179. package/src/sap/ui/mdc/link/Panel.js +2 -2
  180. package/src/sap/ui/mdc/link/PanelItem.js +2 -2
  181. package/src/sap/ui/mdc/link/PanelRenderer.js +1 -1
  182. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +2 -2
  183. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +2 -2
  184. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +2 -2
  185. package/src/sap/ui/mdc/messagebundle_bg.properties +14 -14
  186. package/src/sap/ui/mdc/messagebundle_de.properties +1 -1
  187. package/src/sap/ui/mdc/messagebundle_es.properties +1 -1
  188. package/src/sap/ui/mdc/messagebundle_sl.properties +3 -3
  189. package/src/sap/ui/mdc/messagebundle_th.properties +8 -8
  190. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +2 -2
  191. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
  192. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +2 -2
  193. package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -2
  194. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +2 -2
  195. package/src/sap/ui/mdc/mixin/delegate/FilterIntegrationDefault.js +1 -1
  196. package/src/sap/ui/mdc/odata/TypeMap.js +2 -2
  197. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
  198. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +1 -1
  199. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +1 -1
  200. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +52 -29
  201. package/src/sap/ui/mdc/odata/v4/TypeMap.js +2 -2
  202. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +1 -1
  203. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
  204. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
  205. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +3 -3
  206. package/src/sap/ui/mdc/p13n/P13nBuilder.js +1 -1
  207. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +1 -1
  208. package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
  209. package/src/sap/ui/mdc/p13n/StateUtil.js +1 -1
  210. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +2 -2
  211. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +1 -1
  212. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -1
  213. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +1 -1
  214. package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -1
  215. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +4 -4
  216. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
  217. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +1 -1
  218. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +1 -1
  219. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +1 -1
  220. package/src/sap/ui/mdc/p13n/subcontroller/ChartTypeController.js +1 -1
  221. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +1 -1
  222. package/src/sap/ui/mdc/p13n/subcontroller/ColumnFreezeController.js +161 -0
  223. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +1 -1
  224. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +1 -1
  225. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +1 -1
  226. package/src/sap/ui/mdc/p13n/subcontroller/SelectionController.js +1 -1
  227. package/src/sap/ui/mdc/p13n/subcontroller/ShowDetailsController.js +2 -2
  228. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +1 -1
  229. package/src/sap/ui/mdc/rules/Table.support.js +1 -1
  230. package/src/sap/ui/mdc/table/Column.js +20 -6
  231. package/src/sap/ui/mdc/table/ColumnSettings.js +2 -2
  232. package/src/sap/ui/mdc/table/CreationRow.js +2 -2
  233. package/src/sap/ui/mdc/table/DragDropConfig.js +2 -2
  234. package/src/sap/ui/mdc/table/GridTableType.js +64 -2
  235. package/src/sap/ui/mdc/table/PropertyHelper.js +18 -4
  236. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +2 -2
  237. package/src/sap/ui/mdc/table/ResponsiveTableType.js +12 -6
  238. package/src/sap/ui/mdc/table/RowActionItem.js +2 -2
  239. package/src/sap/ui/mdc/table/RowSettings.js +2 -2
  240. package/src/sap/ui/mdc/table/TableSettings.js +1 -1
  241. package/src/sap/ui/mdc/table/TableTypeBase.js +1 -1
  242. package/src/sap/ui/mdc/table/TreeTableType.js +1 -1
  243. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +114 -47
  244. package/src/sap/ui/mdc/table/menu/GroupHeaderRowContextMenu.js +1 -1
  245. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +1 -1
  246. package/src/sap/ui/mdc/table/utils/Personalization.js +20 -2
  247. package/src/sap/ui/mdc/themes/base/AdaptFiltersPanel.less +13 -8
  248. package/src/sap/ui/mdc/themes/base/AdaptationFilterBar.less +7 -2
  249. package/src/sap/ui/mdc/themes/base/FieldBase.less +11 -5
  250. package/src/sap/ui/mdc/themes/base/FilterBar.less +5 -3
  251. package/src/sap/ui/mdc/themes/base/GroupView.less +37 -32
  252. package/src/sap/ui/mdc/themes/base/InfoPanel.less +28 -22
  253. package/src/sap/ui/mdc/themes/base/ListView.less +20 -15
  254. package/src/sap/ui/mdc/themes/base/PersonalizationDialog.less +6 -13
  255. package/src/sap/ui/mdc/themes/base/QueryPanel.less +5 -4
  256. package/src/sap/ui/mdc/themes/base/Table.less +6 -0
  257. package/src/sap/ui/mdc/themes/base/TokenDisplay.less +27 -29
  258. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +18 -22
  259. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +31 -27
  260. package/src/sap/ui/mdc/themes/base/library.source.less +1 -3
  261. package/src/sap/ui/mdc/ushell/LinkDelegate.js +23 -23
  262. package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +2 -2
  263. package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +2 -2
  264. package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +2 -2
  265. package/src/sap/ui/mdc/util/Common.js +1 -1
  266. package/src/sap/ui/mdc/util/DateUtil.js +1 -1
  267. package/src/sap/ui/mdc/util/DensityHelper.js +1 -1
  268. package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
  269. package/src/sap/ui/mdc/util/IdentifierUtil.js +1 -1
  270. package/src/sap/ui/mdc/util/InfoBar.js +2 -2
  271. package/src/sap/ui/mdc/util/InfoBarRenderer.js +1 -1
  272. package/src/sap/ui/mdc/util/PromiseCache.js +2 -2
  273. package/src/sap/ui/mdc/util/PropertyHelper.js +38 -10
  274. package/src/sap/ui/mdc/util/PropertyHelperUtil.js +2 -2
  275. package/src/sap/ui/mdc/util/TypeMap.js +1 -1
  276. package/src/sap/ui/mdc/util/TypeUtil.js +1 -1
  277. package/src/sap/ui/mdc/util/loadModules.js +1 -1
  278. package/src/sap/ui/mdc/valuehelp/CollectiveSearchSelect.js +1 -1
  279. package/src/sap/ui/mdc/valuehelp/Dialog.js +36 -17
  280. package/src/sap/ui/mdc/valuehelp/FilterBar.js +2 -2
  281. package/src/sap/ui/mdc/valuehelp/FilterBarDelegate.js +1 -1
  282. package/src/sap/ui/mdc/valuehelp/FilterContainer.js +1 -1
  283. package/src/sap/ui/mdc/valuehelp/Popover.js +73 -24
  284. package/src/sap/ui/mdc/valuehelp/base/Container.js +6 -20
  285. package/src/sap/ui/mdc/valuehelp/base/Content.js +13 -25
  286. package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +4 -3
  287. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -2
  288. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +6 -6
  289. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -2
  290. package/src/sap/ui/mdc/valuehelp/content/Bool.js +12 -2
  291. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +12 -2
  292. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +68 -34
  293. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +2 -2
  294. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +8 -4
  295. package/src/sap/ui/mdc/valuehelp/content/MTable.js +165 -92
  296. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +206 -1
  297. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +2 -1
  298. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +44 -0
  299. package/ui5.yaml +1 -1
  300. package/.reuse/dep5 +0 -471
  301. package/src/sap/ui/mdc/themes/base/SelectionDialog.less +0 -5
  302. package/src/sap/ui/mdc/themes/base/Wrapper.less +0 -17
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -35,7 +35,8 @@ sap.ui.define([
35
35
  'sap/ui/model/base/ManagedObjectModel',
36
36
  'sap/ui/base/ManagedObjectObserver',
37
37
  'sap/ui/events/KeyCodes',
38
- 'sap/ui/Device'
38
+ 'sap/ui/Device',
39
+ 'sap/ui/mdc/enums/RequestShowContainerReason'
39
40
  ], (
40
41
  Element,
41
42
  Library,
@@ -68,7 +69,8 @@ sap.ui.define([
68
69
  ManagedObjectModel,
69
70
  ManagedObjectObserver,
70
71
  KeyCodes,
71
- Device
72
+ Device,
73
+ RequestShowContainerReason
72
74
  ) => {
73
75
  "use strict";
74
76
 
@@ -99,7 +101,7 @@ sap.ui.define([
99
101
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent, sap.ui.core.ILabelable
100
102
  *
101
103
  * @author SAP SE
102
- * @version 1.134.0
104
+ * @version 1.136.0
103
105
  *
104
106
  * @constructor
105
107
  * @alias sap.ui.mdc.field.FieldBase
@@ -664,7 +666,7 @@ sap.ui.define([
664
666
  handleTokenUpdate: _handleTokenUpdate.bind(this),
665
667
  handleContentChange: _handleContentChange.bind(this),
666
668
  handleContentLiveChange: _handleContentLiveChange.bind(this),
667
- handleValueHelpRequest: _handleValueHelpRequest.bind(this),
669
+ handleValueHelpRequest: _handleContentValueHelpRequest.bind(this),
668
670
  handleEnter: _handleEnter.bind(this),
669
671
  handleContentPress: _handleContentPress.bind(this)
670
672
  });
@@ -676,7 +678,7 @@ sap.ui.define([
676
678
  const oValueHelp = _getValueHelp.call(this);
677
679
  const oSuggestControl = this.getControlForSuggestion();
678
680
  if (this.getEditMode() === FieldEditMode.Editable && oValueHelp && !this._iFocusTimer && !oValueHelp.isOpen() && containsOrEquals(oSuggestControl.getDomRef(), oEvent.target)) {
679
- oValueHelp.shouldOpenOnFocus().then((bShouldOpen) => {
681
+ oValueHelp.requestShowTypeahead(RequestShowContainerReason.Focus).then((bShouldOpen) => {
680
682
  if (bShouldOpen) {
681
683
  this._iFocusTimer = setTimeout(() => {
682
684
  if (!this.isFieldDestroyed() && !oValueHelp.isOpen() && _isFocused.call(this)) {
@@ -887,7 +889,7 @@ sap.ui.define([
887
889
  this._handleNavigate(oEvent, 9999); // iStep are relative and can not be set to the last item
888
890
  };
889
891
 
890
- FieldBase.prototype._handleNavigate = function(oEvent, iStep) {
892
+ FieldBase.prototype._handleNavigate = async function(oEvent, iStep) {
891
893
 
892
894
  if (this.getEditMode() === FieldEditMode.Editable) {
893
895
  const oValueHelp = _getValueHelp.call(this);
@@ -899,10 +901,18 @@ sap.ui.define([
899
901
  // if only type-ahead but no real value help, only navigate if open
900
902
  const oContent = this.getControlForSuggestion();
901
903
  const bFocusInField = oContent.hasStyleClass("sapMFocus");
904
+ const bOpen = oValueHelp.isOpen();
902
905
  oEvent.preventDefault();
903
906
  oEvent.stopPropagation();
904
- oValueHelp.setFilterValue(this._sFilterValue); // to be sure to filter for typed value
905
- oValueHelp.navigate(oValueHelp.isOpen() && bFocusInField && iStep === 1 ? 0 : iStep); // on first navigation just initial selected item should be navigated
907
+ if (!bOpen) {
908
+ oValueHelp.setFilterValue(this._sFilterValue); // to be sure to filter for typed value (only update if not already opened)
909
+ const bShowTypeahead = await oValueHelp.requestShowTypeahead(RequestShowContainerReason.Navigate);
910
+ if (!this.isFieldDestroyed() && !oValueHelp.isOpen() && bShowTypeahead) {
911
+ await _handleValueHelpRequest.call(this, oEvent, true);
912
+ }
913
+
914
+ }
915
+ oValueHelp.navigate(bOpen && bFocusInField && iStep === 1 ? 0 : iStep); // on first navigation just initial selected item should be navigated
906
916
  }
907
917
  }
908
918
  }
@@ -942,12 +952,7 @@ sap.ui.define([
942
952
  }
943
953
  };
944
954
 
945
- FieldBase.prototype.ontap = function(oEvent) {
946
-
947
- if (oEvent.isMarked("tokenTap")) {
948
- return; // only open if taped into input area (MultiInput case)
949
- }
950
-
955
+ FieldBase.prototype._requestShowTypeahead = function(oEvent, sReason) {
951
956
  // in "Select"-case the suggestion help should open on click into field
952
957
  const oValueHelp = _getValueHelp.call(this);
953
958
  const oSuggestControl = this.getControlForSuggestion();
@@ -957,7 +962,7 @@ sap.ui.define([
957
962
  }
958
963
  const bTapBeforeFocus = !_isFocused.call(this); // on thone the Focus event is triggered async after the Tap event
959
964
  if (!oValueHelp.isOpen()) {
960
- oValueHelp.shouldOpenOnClick().then((bShouldOpen) => {
965
+ oValueHelp.requestShowTypeahead(sReason).then((bShouldOpen) => {
961
966
  if (bShouldOpen && !this.isFieldDestroyed() && (bTapBeforeFocus || _isFocused.call(this)) && !oValueHelp.isOpen()) {
962
967
  if (bTapBeforeFocus) {
963
968
  oSuggestControl.focus(); // if focus not already set (on phone) set it now before the popover opens
@@ -968,7 +973,19 @@ sap.ui.define([
968
973
  }
969
974
  this._redirectFocus(oEvent, oValueHelp);
970
975
  }
976
+ };
971
977
 
978
+ FieldBase.prototype.onkeyup = function(oEvent) {
979
+ if (oEvent.keyCode === KeyCodes.TAB) {
980
+ this._requestShowTypeahead(oEvent, RequestShowContainerReason.Tab);
981
+ }
982
+ };
983
+
984
+ FieldBase.prototype.ontap = function(oEvent) {
985
+ if (oEvent.isMarked("tokenTap") || oEvent.getMark("tokenizerMoreIndicatorTap") || oEvent.srcControl.isA("sap.ui.core.Icon")) {
986
+ return; // only open if taped into input area (MultiInput case) and not at ValueHelp-Icon
987
+ }
988
+ this._requestShowTypeahead(oEvent, RequestShowContainerReason.Tap);
972
989
  };
973
990
 
974
991
  FieldBase.prototype.clone = function(sIdSuffix, aLocalIds) {
@@ -1752,7 +1769,7 @@ sap.ui.define([
1752
1769
  if (sRoleDescription) {
1753
1770
  oAttributes.aria["roledescription"] = sRoleDescription;
1754
1771
  }
1755
- oAttributes.aria["haspopup"] = oAriaAttributes.ariaHasPopup;
1772
+ oAttributes.aria["haspopup"] = "dialog";// always dialog, like in Input, ComboBox etc. //oAriaAttributes.ariaHasPopup;
1756
1773
  oAttributes["autocomplete"] = "off";
1757
1774
  if (bOpen) {
1758
1775
  if (oAriaAttributes.role) {
@@ -1806,6 +1823,7 @@ sap.ui.define([
1806
1823
  const aLabels = LabelEnablement.getReferencingLabels(this);
1807
1824
  for (let i = 0; i < aLabels.length; i++) {
1808
1825
  const oLabel = Element.getElementById(aLabels[i]);
1826
+ oLabel.setLabelFor(oLabel.getLabelFor()); // to force Label to refresh the mapping
1809
1827
  oLabel.invalidate();
1810
1828
  }
1811
1829
 
@@ -1952,7 +1970,7 @@ sap.ui.define([
1952
1970
  }
1953
1971
  if (oContent.getMetadata().getAllEvents().valueHelpRequest) {
1954
1972
  // content has valueHelpRequest event -> attach handler
1955
- oContent.attachEvent("valueHelpRequest", _handleValueHelpRequest, this);
1973
+ oContent.attachEvent("valueHelpRequest", _handleContentValueHelpRequest, this);
1956
1974
  }
1957
1975
  if (oContent.getMetadata().getAllEvents().tokenUpdate) {
1958
1976
  // content has tokenUpdate event -> attach handler
@@ -1965,6 +1983,7 @@ sap.ui.define([
1965
1983
 
1966
1984
  }
1967
1985
 
1986
+
1968
1987
  function _detachContentHandlers(oContent) {
1969
1988
 
1970
1989
  if (oContent.getMetadata().getAllEvents().change) {
@@ -1981,7 +2000,7 @@ sap.ui.define([
1981
2000
  }
1982
2001
  if (oContent.getMetadata().getAllEvents().valueHelpRequest) {
1983
2002
  // oldContent has valueHelpRequest event -> detach handler
1984
- oContent.detachEvent("valueHelpRequest", _handleValueHelpRequest, this);
2003
+ oContent.detachEvent("valueHelpRequest", _handleContentValueHelpRequest, this);
1985
2004
  }
1986
2005
  if (oContent.getMetadata().getAllEvents().tokenUpdate) {
1987
2006
  // content has tokenUpdate event -> deattach handler
@@ -2549,6 +2568,9 @@ sap.ui.define([
2549
2568
  oValueHelp.setHighlightId();
2550
2569
  this._oNavigateCondition = undefined; // navigation item is not longer valid
2551
2570
  this.getContentFactory().updateConditionType();
2571
+ if (this.getMaxConditionsForHelp() === 1) {
2572
+ oValueHelp.setConditions([]); // remove navigation from ValueHelp
2573
+ }
2552
2574
  }
2553
2575
 
2554
2576
  if ("previousValue" in oEvent.getParameters()) {
@@ -2561,10 +2583,10 @@ sap.ui.define([
2561
2583
 
2562
2584
  if (oValueHelp && (!this.getContentFactory().isMeasure() || oSource.getShowValueHelp())) {
2563
2585
  if (bEscPressed) {
2586
+ _setConditionsOnValueHelp.call(this, this.getConditions(), oValueHelp); // reset conditions
2564
2587
  // close ValueHelp if escape pressed and not repoen it for last typed characters
2565
2588
  if (oValueHelp.isOpen()) {
2566
2589
  oValueHelp.close();
2567
- _setConditionsOnValueHelp.call(this, this.getConditions(), oValueHelp); // reset conditions
2568
2590
  _clearLiveChangeTimer.call(this);
2569
2591
  this._sFilterValue = "";
2570
2592
  }
@@ -2642,23 +2664,18 @@ sap.ui.define([
2642
2664
  }.bind(this);
2643
2665
 
2644
2666
  if (this._bConnected && this.getCurrentContent()[0]) {
2645
- oValueHelp.isTypeaheadSupported().then((bTypeahead) => {
2667
+ oValueHelp.requestShowTypeahead(RequestShowContainerReason.Typing).then((bTypeahead) => {
2646
2668
  return !!bTypeahead && _handleTypeahead();
2647
2669
  });
2648
2670
  delete this._vLiveChangeValue;
2649
2671
  }
2650
2672
  }, 300, { leading: false, trailing: true });
2651
2673
  }
2652
- const vOpenByTyping = oValueHelp.isTypeaheadSupported(); // trigger determination of search functionality
2653
- if (vOpenByTyping instanceof Promise) {
2654
- vOpenByTyping.then((bOpenByTyping) => {
2655
- // trigger open after Promise resolved
2656
- if (_isFocused.call(this) && this._fnLiveChangeTimer) { // if destroyed this._fnLiveChangeTimer is removed
2657
- this._fnLiveChangeTimer(); // if resolved while initial debounce-time frame, it will not triggered twice
2658
- }
2659
- this._bOpenByTyping = bOpenByTyping;
2660
- });
2661
- }
2674
+ oValueHelp.requestShowTypeahead(RequestShowContainerReason.Typing).then((bOpenByTyping) => { // keeping this for compatibility, as it allows service handling before the debounce interval
2675
+ if (_isFocused.call(this) && this._fnLiveChangeTimer) { // if destroyed this._fnLiveChangeTimer is removed
2676
+ this._fnLiveChangeTimer(); // if resolved while initial debounce-time frame, it will not triggered twice
2677
+ }
2678
+ });
2662
2679
  this._fnLiveChangeTimer();
2663
2680
  }
2664
2681
  }
@@ -2788,6 +2805,12 @@ sap.ui.define([
2788
2805
 
2789
2806
  }
2790
2807
 
2808
+ async function _handleContentValueHelpRequest(oEvent) {
2809
+ if (await _getValueHelp.call(this)?.requestShowValueHelp()) {
2810
+ _handleValueHelpRequest.call(this, oEvent, false);
2811
+ }
2812
+ }
2813
+
2791
2814
  // TODO: remove this function and replace by getValueHelp once ValueHelp association is completetly removed.
2792
2815
  FieldBase.prototype._getValueHelp = function() {
2793
2816
 
@@ -2865,19 +2888,43 @@ sap.ui.define([
2865
2888
  this._oValueHelpRequestPromise = _waitForFormatting.call(this);
2866
2889
  await this._oValueHelpRequestPromise;
2867
2890
  if (!this.isFieldDestroyed()) {
2868
- oValueHelp.setFilterValue(this._sFilterValue); // use types value for filtering, even if reopening ValueHelp
2869
- const aConditions = this.getConditions();
2870
- _setConditionsOnValueHelp.call(this, aConditions, oValueHelp);
2871
- oValueHelp.toggleOpen(!!bOpenAsTypeahed);
2872
- const bIsFocusInHelp = oValueHelp.isFocusInHelp();
2873
- this._bFocusOnValueHelp = !!oEvent.getSource && !bIsFocusInHelp; // show focus on dropdown if opened via F4 (set it only after really opened)
2874
- const oContent = oEvent.srcControl || oEvent.getSource(); // as, if called from Tap or other browser event getSource is not available
2875
- if (!bIsFocusInHelp) {
2876
- // need to reset bValueHelpRequested in Input, otherwise on focusout no change event and navigation don't work
2877
- if (oContent.bValueHelpRequested) {
2878
- oContent.bValueHelpRequested = false; // TODO: need API
2891
+ if (!oValueHelp.isOpen()) { // when closing clean up after close
2892
+ const bFromKeyboard = oEvent.getParameter?.("fromKeyboard");
2893
+ const bIsFocusInHelp = oValueHelp.isFocusInHelp();
2894
+ const iMaxConditions = this.getMaxConditionsForHelp();
2895
+ const oContent = oEvent.srcControl || oEvent.getSource(); // as, if called from Tap or other browser event getSource is not available
2896
+
2897
+ oValueHelp.setFilterValue(this._sFilterValue); // use typed value for filtering, even if reopening ValueHelp
2898
+ let aConditions;
2899
+ if (this._oNavigateCondition && iMaxConditions === 1) {
2900
+ aConditions = [this._oNavigateCondition]; // if navigated in closed state before, use navigated condition, In typeahed reopen with last suggested condition
2901
+ } else if (this._bDirty && iMaxConditions === 1) {
2902
+ aConditions = []; // if changed via typing (e.g. cleared) let typeahead do the work if needed
2903
+ } else {
2904
+ aConditions = this.getConditions();
2905
+ }
2906
+
2907
+ if (bFromKeyboard && this._sFilterValue && !bIsFocusInHelp) {
2908
+ this._sFilterValue = ""; // if dropdown manulally opened via F4 clear typeahed value
2909
+ const sDomValue = oContent.getDOMValue?.();
2910
+ if (oContent.selectText && sDomValue) {
2911
+ oContent.selectText(0, sDomValue.length); // highligh whole text
2912
+ }
2913
+ }
2914
+
2915
+ _setConditionsOnValueHelp.call(this, aConditions, oValueHelp);
2916
+
2917
+ this._bFocusOnValueHelp = bFromKeyboard && !bIsFocusInHelp; // show focus on dropdown if opened via F4 (set it only after really opened)
2918
+ if (!bIsFocusInHelp) {
2919
+ // need to reset bValueHelpRequested in Input, otherwise on focusout no change event and navigation don't work
2920
+ if (oContent.bValueHelpRequested) {
2921
+ oContent.bValueHelpRequested = false; // TODO: need API
2922
+ }
2879
2923
  }
2880
2924
  }
2925
+
2926
+ oValueHelp.toggleOpen(!!bOpenAsTypeahed);
2927
+
2881
2928
  this._oValueHelpRequestPromise = undefined;
2882
2929
  }
2883
2930
  }
@@ -3076,8 +3123,9 @@ sap.ui.define([
3076
3123
  }
3077
3124
 
3078
3125
  this._oNavigateCondition = _createNavigateCondition.call(this, oCondition, sItemId);
3079
- if (this._oNavigateCondition) {
3126
+ if (this._oNavigateCondition && this.getMaxConditionsForHelp() === 1) {
3080
3127
  [vKey, sValue] = this._oNavigateCondition.values;
3128
+ oValueHelp.setConditions([oCondition]); // in single selection, the navigated condition should be selected one (use condition returned from valuehelp to prevent unneccessry update if not changed)
3081
3129
  }
3082
3130
 
3083
3131
  this._bPreventGetDescription = true; // if no description in navigated condition, no description exist. Don't try to read one
@@ -3121,6 +3169,10 @@ sap.ui.define([
3121
3169
  oContent._doSelect();
3122
3170
  }
3123
3171
  }
3172
+
3173
+ if (oValueHelp.isOpen() && oContent.hasStyleClass("sapMFocus")) { // happens if navigated back from "show All items"-button
3174
+ _setVisualFocusToValueHelp(oContent, oValueHelp);
3175
+ }
3124
3176
  }
3125
3177
 
3126
3178
  this._bPreventGetDescription = false; // back to default
@@ -3154,6 +3206,7 @@ sap.ui.define([
3154
3206
  if (sOutput) { // only if something returned
3155
3207
  const oValueHelp = _getValueHelp.call(this);
3156
3208
  if (oValueHelp?.isOpen()) {
3209
+ _setVisualFocusToField(oContent, oValueHelp); // remove focus from dropdown
3157
3210
  oValueHelp.setHighlightId(!this._bPreventAutocomplete && sItemId);
3158
3211
  }
3159
3212
 
@@ -3280,8 +3333,10 @@ sap.ui.define([
3280
3333
 
3281
3334
  // sync conditions with ValueHelp as we cannot e sure that it still is in sync
3282
3335
  const oValueHelp = oEvent.getSource();
3283
- const aConditions = this.getConditions();
3284
- _setConditionsOnValueHelp.call(this, aConditions, oValueHelp);
3336
+ if (!this._oNavigateCondition) { // if navigated keep state to allow closed navigation
3337
+ const aConditions = this.getConditions();
3338
+ _setConditionsOnValueHelp.call(this, aConditions, oValueHelp);
3339
+ }
3285
3340
 
3286
3341
  if (_isFocused.call(this)) { // restore focus visualization
3287
3342
  _setVisualFocusToField(oContent, oValueHelp);
@@ -3306,8 +3361,10 @@ sap.ui.define([
3306
3361
  sItemId = oEvent.getParameter("itemId");
3307
3362
  }
3308
3363
 
3309
- // to focus selected item, typeahead match, or fist item (if none selected)
3310
- oValueHelp.navigate(0);
3364
+ if (!this._sFilterValue && !this._oNavigateCondition && (this._bDirty || this.getConditions().length === 0)) {
3365
+ // to focus first item (if none selected)
3366
+ oValueHelp.navigate(0);
3367
+ }
3311
3368
  }
3312
3369
  _setAriaAttributes.call(this, true, sItemId);
3313
3370
  _setShowValueStateMessage.call(this, false);// close ValueState message on opening, because opened is sometimes very delayed what would lead to strange effect
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * 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.
32
32
  * This is the basis for link-features. If the link is pressed a popover might be opened.
33
33
  * @extends sap.ui.mdc.Element
34
- * @version 1.134.0
34
+ * @version 1.136.0
35
35
  * @constructor
36
36
  * @since 1.54.0
37
37
  * @public
@@ -1,14 +1,17 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- 'sap/m/Input', 'sap/ui/mdc/field/FieldInputRenderer'
8
+ 'sap/m/Input',
9
+ 'sap/ui/mdc/field/FieldInputRenderer',
10
+ 'sap/ui/base/ManagedObjectObserver'
9
11
  ], (
10
12
  Input,
11
- FieldInputRenderer
13
+ FieldInputRenderer,
14
+ ManagedObjectObserver
12
15
  ) => {
13
16
  "use strict";
14
17
 
@@ -21,7 +24,7 @@ sap.ui.define([
21
24
  * The <code>FieldInput</code> control is used to render an input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
22
25
  * It enhances the {@link sap.m.Input Input} control to add ARIA attributes and other {@link sap.ui.mdc.field.FieldBase FieldBase}-specific logic.
23
26
  * @extends sap.m.Input
24
- * @version 1.134.0
27
+ * @version 1.136.0
25
28
  * @constructor
26
29
  * @abstract
27
30
  * @private
@@ -49,6 +52,43 @@ sap.ui.define([
49
52
  renderer: FieldInputRenderer
50
53
  });
51
54
 
55
+ FieldInput.prototype.init = function() {
56
+
57
+ Input.prototype.init.apply(this, arguments);
58
+
59
+ this._oObserver = new ManagedObjectObserver(_observeChanges.bind(this));
60
+
61
+ this._oObserver.observe(this, {
62
+ properties: ["ariaAttributes"]
63
+ });
64
+
65
+ };
66
+
67
+ FieldInput.prototype.exit = function() {
68
+
69
+ Input.prototype.exit.apply(this, arguments);
70
+
71
+ this._oObserver.disconnect();
72
+ this._oObserver = undefined;
73
+
74
+ };
75
+
76
+ function _observeChanges(oChanges) {
77
+
78
+ if (oChanges.name === "ariaAttributes") {
79
+ // set aria-activedescendant directly to prevent anouncement of old one
80
+ if (oChanges.current.aria?.activedescendant !== oChanges.old.aria?.activedescendant) {
81
+ const oDomRef = this.getFocusDomRef();
82
+ if (!oChanges.current.aria?.activedescendant) {
83
+ oDomRef.removeAttribute("aria-activedescendant");
84
+ } else {
85
+ oDomRef.setAttribute("aria-activedescendant", oChanges.current.aria.activedescendant);
86
+ }
87
+ }
88
+ }
89
+
90
+ }
91
+
52
92
  return FieldInput;
53
93
 
54
94
  });
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -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.134.0
19
+ * @version 1.136.0
20
20
  * @since 1.86.0
21
21
  * @alias sap.ui.mdc.field.FieldInputRenderUtil
22
22
  *
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,21 +1,24 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
8
  'sap/ui/core/Element',
9
9
  'sap/m/MultiInput',
10
+ 'sap/m/Tokenizer',
10
11
  'sap/ui/mdc/field/FieldMultiInputRenderer',
11
12
  'sap/ui/Device',
12
- 'sap/m/Tokenizer'
13
+ 'sap/ui/base/ManagedObjectObserver'
13
14
  ], (
14
15
  Element,
15
16
  MultiInput,
17
+ Tokenizer,
16
18
  FieldMultiInputRenderer,
17
19
  Device,
18
- Tokenizer
20
+ ManagedObjectObserver
21
+
19
22
  ) => {
20
23
  "use strict";
21
24
 
@@ -28,7 +31,7 @@ sap.ui.define([
28
31
  * 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}.
29
32
  * It enhances the {@link sap.m.MultiInput MultiInput} control to add ARIA attributes and other {@link sap.ui.mdc.field.FieldBase FieldBase}-specific logic.
30
33
  * @extends sap.m.MultiInput
31
- * @version 1.134.0
34
+ * @version 1.136.0
32
35
  * @constructor
33
36
  * @abstract
34
37
  * @private
@@ -83,6 +86,21 @@ sap.ui.define([
83
86
 
84
87
  };
85
88
 
89
+ this._oObserver = new ManagedObjectObserver(_observeChanges.bind(this));
90
+
91
+ this._oObserver.observe(this, {
92
+ properties: ["ariaAttributes"]
93
+ });
94
+
95
+ };
96
+
97
+ FieldMultiInput.prototype.exit = function() {
98
+
99
+ MultiInput.prototype.exit.apply(this, arguments);
100
+
101
+ this._oObserver.disconnect();
102
+ this._oObserver = undefined;
103
+
86
104
  };
87
105
 
88
106
  FieldMultiInput.prototype.onfocusin = function(oEvent) {
@@ -108,6 +126,16 @@ sap.ui.define([
108
126
 
109
127
  };
110
128
 
129
+ FieldMultiInput.prototype.ontap = function(oEvent) {
130
+
131
+ if (oEvent.target.classList.contains("sapMTokenizerIndicator")) {
132
+ oEvent.setMark("tokenizerMoreIndicatorTap");
133
+ }
134
+
135
+ MultiInput.prototype.ontap.apply(this, arguments);
136
+
137
+ };
138
+
111
139
  FieldMultiInput.prototype.onAfterRendering = function () {
112
140
 
113
141
  const {bDeletePressed, bTokensUpdated} = this;
@@ -244,6 +272,22 @@ sap.ui.define([
244
272
 
245
273
  }
246
274
 
275
+ function _observeChanges(oChanges) {
276
+
277
+ if (oChanges.name === "ariaAttributes") {
278
+ // set aria-activedescendant directly to prevent anouncement of old one
279
+ if (oChanges.current.aria?.activedescendant !== oChanges.old.aria?.activedescendant) {
280
+ const oDomRef = this.getFocusDomRef();
281
+ if (!oChanges.current.aria?.activedescendant) {
282
+ oDomRef.removeAttribute("aria-activedescendant");
283
+ } else {
284
+ oDomRef.setAttribute("aria-activedescendant", oChanges.current.aria.activedescendant);
285
+ }
286
+ }
287
+ }
288
+
289
+ }
290
+
247
291
  return FieldMultiInput;
248
292
 
249
293
  });
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.mdc.valuehelp.content.FixedListItem
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.134.0
26
+ * @version 1.136.0
27
27
  *
28
28
  * @private
29
29
  * @ui5-restricted sap.fe
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * Base type for <code>MultiValueFieldItem</code> control.
21
21
  * The {@link sap.ui.mdc.MultiValueField MultiValueField} holds its values as items. The <code>MultiValueFieldItem</code> element defines these items.
22
22
  * @extends sap.ui.core.Element
23
- * @version 1.134.0
23
+ * @version 1.136.0
24
24
  * @constructor
25
25
  * @since 1.93.0
26
26
  * @public
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * The <code>TokenDisplay</code> control is used to render a field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
23
23
  * It enhances the {@link sap.m.Token Token} control to add ARIA attributes and other {@link sap.ui.mdc.field.FieldBase FieldBase}-specific logic.
24
24
  * @extends sap.m.Token
25
- * @version 1.134.0
25
+ * @version 1.136.0
26
26
  * @constructor
27
27
  * @abstract
28
28
  * @private
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6