@openui5/sap.m 1.130.1 → 1.131.1

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 (427) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +1 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +1 -1
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/ActionTile.js +1 -1
  9. package/src/sap/m/ActionTileContent.js +1 -1
  10. package/src/sap/m/AdditionalTextButton.js +1 -1
  11. package/src/sap/m/App.js +1 -1
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +1 -1
  14. package/src/sap/m/Bar.js +1 -1
  15. package/src/sap/m/Breadcrumbs.js +7 -4
  16. package/src/sap/m/BusyDialog.js +1 -1
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +10 -8
  19. package/src/sap/m/Carousel.js +1 -1
  20. package/src/sap/m/CarouselLayout.js +1 -1
  21. package/src/sap/m/CheckBox.js +1 -1
  22. package/src/sap/m/ColorPalette.js +1 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +11 -7
  25. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  26. package/src/sap/m/ColumnListItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  32. package/src/sap/m/ComboBox.js +2 -2
  33. package/src/sap/m/ComboBoxBase.js +1 -1
  34. package/src/sap/m/ComboBoxTextField.js +1 -1
  35. package/src/sap/m/ContentConfig.js +1 -1
  36. package/src/sap/m/CustomListItem.js +1 -1
  37. package/src/sap/m/CustomTile.js +1 -1
  38. package/src/sap/m/CustomTreeItem.js +1 -1
  39. package/src/sap/m/DatePicker.js +1 -1
  40. package/src/sap/m/DateRangeSelection.js +2 -2
  41. package/src/sap/m/DateTimeField.js +1 -1
  42. package/src/sap/m/DateTimeInput.js +1 -1
  43. package/src/sap/m/DateTimePicker.js +1 -1
  44. package/src/sap/m/Dialog.js +44 -17
  45. package/src/sap/m/DisplayListItem.js +1 -1
  46. package/src/sap/m/DraftIndicator.js +1 -1
  47. package/src/sap/m/DynamicDate.js +1 -1
  48. package/src/sap/m/DynamicDateFormat.js +1 -1
  49. package/src/sap/m/DynamicDateOption.js +1 -1
  50. package/src/sap/m/DynamicDateRange.js +13 -5
  51. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  52. package/src/sap/m/ExpandableText.js +1 -1
  53. package/src/sap/m/FacetFilter.js +37 -3
  54. package/src/sap/m/FacetFilterItem.js +9 -1
  55. package/src/sap/m/FacetFilterList.js +1 -1
  56. package/src/sap/m/FeedContent.js +1 -1
  57. package/src/sap/m/FeedInput.js +1 -1
  58. package/src/sap/m/FeedListItem.js +1 -1
  59. package/src/sap/m/FeedListItemAction.js +1 -1
  60. package/src/sap/m/Fiori20Adapter.js +2 -2
  61. package/src/sap/m/FlexBox.js +1 -1
  62. package/src/sap/m/FlexItemData.js +1 -1
  63. package/src/sap/m/FormattedText.js +1 -1
  64. package/src/sap/m/GenericTag.js +1 -1
  65. package/src/sap/m/GenericTile.js +1 -1
  66. package/src/sap/m/GroupHeaderListItem.js +1 -1
  67. package/src/sap/m/GrowingList.js +1 -1
  68. package/src/sap/m/HBox.js +1 -1
  69. package/src/sap/m/HeaderContainer.js +2 -2
  70. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  71. package/src/sap/m/IconTabBar.js +1 -1
  72. package/src/sap/m/IconTabBarSelectList.js +1 -1
  73. package/src/sap/m/IconTabFilter.js +3 -2
  74. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  75. package/src/sap/m/IconTabHeader.js +1 -1
  76. package/src/sap/m/IconTabSeparator.js +1 -1
  77. package/src/sap/m/IllustratedMessage.js +11 -20
  78. package/src/sap/m/Illustration.js +1 -1
  79. package/src/sap/m/Image.js +18 -2
  80. package/src/sap/m/ImageContent.js +1 -1
  81. package/src/sap/m/ImageRenderer.js +9 -5
  82. package/src/sap/m/Input.js +4 -2
  83. package/src/sap/m/InputBase.js +1 -1
  84. package/src/sap/m/InputListItem.js +1 -1
  85. package/src/sap/m/Label.js +1 -1
  86. package/src/sap/m/LightBox.js +1 -1
  87. package/src/sap/m/LightBoxItem.js +1 -1
  88. package/src/sap/m/Link.js +7 -9
  89. package/src/sap/m/LinkTileContent.js +1 -1
  90. package/src/sap/m/List.js +1 -1
  91. package/src/sap/m/ListBase.js +1 -1
  92. package/src/sap/m/ListItemBase.js +3 -2
  93. package/src/sap/m/MaskEnabler.js +1 -1
  94. package/src/sap/m/MaskInput.js +67 -1
  95. package/src/sap/m/MaskInputRule.js +1 -1
  96. package/src/sap/m/Menu.js +38 -5
  97. package/src/sap/m/MenuButton.js +1 -1
  98. package/src/sap/m/MenuItem.js +91 -3
  99. package/src/sap/m/MenuItemGroup.js +1 -1
  100. package/src/sap/m/MenuListItem.js +13 -1
  101. package/src/sap/m/MenuListItemRenderer.js +15 -5
  102. package/src/sap/m/MessageItem.js +1 -1
  103. package/src/sap/m/MessageListItem.js +1 -1
  104. package/src/sap/m/MessagePage.js +1 -1
  105. package/src/sap/m/MessagePopover.js +1 -1
  106. package/src/sap/m/MessagePopoverItem.js +1 -1
  107. package/src/sap/m/MessageStrip.js +1 -1
  108. package/src/sap/m/MessageToast.js +1 -1
  109. package/src/sap/m/MessageView.js +1 -1
  110. package/src/sap/m/MultiComboBox.js +6 -1
  111. package/src/sap/m/MultiEditField.js +1 -1
  112. package/src/sap/m/MultiInput.js +16 -4
  113. package/src/sap/m/NavContainer.js +1 -1
  114. package/src/sap/m/NewsContent.js +1 -1
  115. package/src/sap/m/NotificationList.js +1 -1
  116. package/src/sap/m/NotificationListBase.js +1 -1
  117. package/src/sap/m/NotificationListGroup.js +1 -1
  118. package/src/sap/m/NotificationListItem.js +1 -1
  119. package/src/sap/m/NumericContent.js +1 -1
  120. package/src/sap/m/NumericInput.js +1 -1
  121. package/src/sap/m/ObjectAttribute.js +1 -1
  122. package/src/sap/m/ObjectHeader.js +1 -1
  123. package/src/sap/m/ObjectIdentifier.js +1 -1
  124. package/src/sap/m/ObjectListItem.js +1 -1
  125. package/src/sap/m/ObjectMarker.js +1 -1
  126. package/src/sap/m/ObjectNumber.js +1 -1
  127. package/src/sap/m/ObjectStatus.js +1 -1
  128. package/src/sap/m/OverflowToolbar.js +2 -3
  129. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  130. package/src/sap/m/OverflowToolbarButton.js +1 -1
  131. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  132. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  133. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  134. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  135. package/src/sap/m/P13nColumnsItem.js +1 -1
  136. package/src/sap/m/P13nColumnsPanel.js +1 -1
  137. package/src/sap/m/P13nConditionPanel.js +1 -2
  138. package/src/sap/m/P13nDialog.js +1 -1
  139. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  140. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  141. package/src/sap/m/P13nFilterItem.js +1 -1
  142. package/src/sap/m/P13nFilterPanel.js +1 -2
  143. package/src/sap/m/P13nGroupItem.js +1 -1
  144. package/src/sap/m/P13nGroupPanel.js +1 -1
  145. package/src/sap/m/P13nItem.js +1 -1
  146. package/src/sap/m/P13nPanel.js +1 -1
  147. package/src/sap/m/P13nSelectionItem.js +1 -1
  148. package/src/sap/m/P13nSelectionPanel.js +1 -1
  149. package/src/sap/m/P13nSortItem.js +1 -1
  150. package/src/sap/m/P13nSortPanel.js +1 -1
  151. package/src/sap/m/PDFViewer.js +1 -1
  152. package/src/sap/m/Page.js +1 -1
  153. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  154. package/src/sap/m/PagingButton.js +1 -1
  155. package/src/sap/m/Panel.js +1 -1
  156. package/src/sap/m/PlanningCalendar.js +26 -7
  157. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  158. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  159. package/src/sap/m/PlanningCalendarRow.js +1 -1
  160. package/src/sap/m/PlanningCalendarView.js +1 -1
  161. package/src/sap/m/Popover.js +227 -36
  162. package/src/sap/m/PopoverRenderer.js +12 -1
  163. package/src/sap/m/ProgressIndicator.js +2 -1
  164. package/src/sap/m/PullToRefresh.js +1 -1
  165. package/src/sap/m/QuickView.js +1 -1
  166. package/src/sap/m/QuickViewBase.js +1 -1
  167. package/src/sap/m/QuickViewCard.js +1 -1
  168. package/src/sap/m/QuickViewGroup.js +1 -1
  169. package/src/sap/m/QuickViewGroupElement.js +1 -1
  170. package/src/sap/m/QuickViewPage.js +1 -1
  171. package/src/sap/m/RadioButton.js +1 -1
  172. package/src/sap/m/RadioButtonGroup.js +1 -1
  173. package/src/sap/m/RangeSlider.js +1 -1
  174. package/src/sap/m/RatingIndicator.js +1 -1
  175. package/src/sap/m/ResponsivePopover.js +1 -1
  176. package/src/sap/m/ResponsiveScale.js +1 -1
  177. package/src/sap/m/ScrollBar.js +1 -1
  178. package/src/sap/m/ScrollContainer.js +1 -1
  179. package/src/sap/m/SearchField.js +1 -1
  180. package/src/sap/m/SegmentedButton.js +1 -1
  181. package/src/sap/m/SegmentedButtonItem.js +1 -1
  182. package/src/sap/m/Select.js +1 -1
  183. package/src/sap/m/SelectDialog.js +1 -1
  184. package/src/sap/m/SelectDialogBase.js +1 -1
  185. package/src/sap/m/SelectList.js +1 -1
  186. package/src/sap/m/SelectionDetails.js +1 -1
  187. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  188. package/src/sap/m/SelectionDetailsItem.js +1 -1
  189. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  190. package/src/sap/m/Shell.js +1 -1
  191. package/src/sap/m/SimpleFixFlex.js +1 -1
  192. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  193. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  194. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -3
  195. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +0 -4
  196. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +10 -9
  197. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  199. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  201. package/src/sap/m/SlideTile.js +1 -1
  202. package/src/sap/m/Slider.js +1 -1
  203. package/src/sap/m/SliderTooltip.js +1 -1
  204. package/src/sap/m/SliderTooltipBase.js +1 -1
  205. package/src/sap/m/SliderTooltipContainer.js +1 -1
  206. package/src/sap/m/SplitApp.js +1 -1
  207. package/src/sap/m/SplitButton.js +1 -1
  208. package/src/sap/m/SplitContainer.js +1 -1
  209. package/src/sap/m/StandardDynamicDateOption.js +1 -1
  210. package/src/sap/m/StandardListItem.js +1 -1
  211. package/src/sap/m/StandardTile.js +1 -1
  212. package/src/sap/m/StandardTreeItem.js +1 -1
  213. package/src/sap/m/StepInput.js +1 -1
  214. package/src/sap/m/SuggestionItem.js +1 -1
  215. package/src/sap/m/SuggestionsPopover.js +45 -11
  216. package/src/sap/m/Switch.js +1 -1
  217. package/src/sap/m/TabContainer.js +1 -1
  218. package/src/sap/m/TabContainerItem.js +1 -1
  219. package/src/sap/m/TabStrip.js +1 -1
  220. package/src/sap/m/TabStripItem.js +1 -1
  221. package/src/sap/m/Table.js +1 -3
  222. package/src/sap/m/TablePersoController.js +1 -1
  223. package/src/sap/m/TablePersoDialog.js +1 -1
  224. package/src/sap/m/TablePersoProvider.js +1 -1
  225. package/src/sap/m/TableSelectDialog.js +1 -1
  226. package/src/sap/m/Text.js +1 -1
  227. package/src/sap/m/TextArea.js +1 -1
  228. package/src/sap/m/Tile.js +1 -1
  229. package/src/sap/m/TileContainer.js +1 -1
  230. package/src/sap/m/TileContent.js +1 -1
  231. package/src/sap/m/TileInfo.js +1 -1
  232. package/src/sap/m/TimePicker.js +2 -2
  233. package/src/sap/m/TimePickerClock.js +1 -1
  234. package/src/sap/m/TimePickerClocks.js +22 -11
  235. package/src/sap/m/TimePickerInputs.js +1 -1
  236. package/src/sap/m/TimePickerInternals.js +1 -1
  237. package/src/sap/m/TimePickerSlider.js +1 -1
  238. package/src/sap/m/TimePickerSliderRenderer.js +1 -0
  239. package/src/sap/m/TimePickerSliders.js +1 -1
  240. package/src/sap/m/Title.js +1 -1
  241. package/src/sap/m/TitlePropagationSupport.js +1 -1
  242. package/src/sap/m/ToggleButton.js +1 -1
  243. package/src/sap/m/Token.js +1 -1
  244. package/src/sap/m/Tokenizer.js +1 -1
  245. package/src/sap/m/Toolbar.js +1 -1
  246. package/src/sap/m/ToolbarLayoutData.js +1 -1
  247. package/src/sap/m/ToolbarSeparator.js +1 -1
  248. package/src/sap/m/ToolbarSpacer.js +1 -1
  249. package/src/sap/m/Tree.js +1 -1
  250. package/src/sap/m/TreeItemBase.js +1 -1
  251. package/src/sap/m/UploadCollection.js +1 -1
  252. package/src/sap/m/UploadCollectionItem.js +1 -1
  253. package/src/sap/m/UploadCollectionParameter.js +1 -1
  254. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  255. package/src/sap/m/VBox.js +1 -1
  256. package/src/sap/m/ValueStateHeader.js +1 -1
  257. package/src/sap/m/VariantManagement.js +2 -2
  258. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  259. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  260. package/src/sap/m/ViewSettingsDialog.js +6 -3
  261. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  262. package/src/sap/m/ViewSettingsItem.js +1 -1
  263. package/src/sap/m/VisibleItem.js +1 -1
  264. package/src/sap/m/WheelSlider.js +1 -1
  265. package/src/sap/m/WheelSliderContainer.js +1 -1
  266. package/src/sap/m/Wizard.js +1 -1
  267. package/src/sap/m/WizardProgressNavigator.js +1 -1
  268. package/src/sap/m/WizardStep.js +1 -1
  269. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  270. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  271. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  272. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  273. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  274. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  275. package/src/sap/m/designtime/Popover.designtime.js +6 -6
  276. package/src/sap/m/library.js +3 -3
  277. package/src/sap/m/messagebundle_en_US_saprigi.properties +14 -0
  278. package/src/sap/m/messagebundle_es.properties +11 -11
  279. package/src/sap/m/messagebundle_fr.properties +4 -4
  280. package/src/sap/m/messagebundle_ms.properties +2 -2
  281. package/src/sap/m/messagebundle_no.properties +1 -1
  282. package/src/sap/m/messagebundle_pl.properties +5 -5
  283. package/src/sap/m/p13n/AbstractContainer.js +3 -2
  284. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  285. package/src/sap/m/p13n/BasePanel.js +20 -4
  286. package/src/sap/m/p13n/Container.js +1 -2
  287. package/src/sap/m/p13n/Engine.js +3 -5
  288. package/src/sap/m/p13n/FilterController.js +1 -1
  289. package/src/sap/m/p13n/FilterPanel.js +1 -1
  290. package/src/sap/m/p13n/GroupController.js +1 -1
  291. package/src/sap/m/p13n/GroupPanel.js +1 -1
  292. package/src/sap/m/p13n/MessageStrip.js +2 -1
  293. package/src/sap/m/p13n/Popup.js +19 -1
  294. package/src/sap/m/p13n/QueryPanel.js +1 -1
  295. package/src/sap/m/p13n/SelectionController.js +1 -1
  296. package/src/sap/m/p13n/SelectionPanel.js +14 -2
  297. package/src/sap/m/p13n/SortController.js +1 -1
  298. package/src/sap/m/p13n/SortPanel.js +1 -1
  299. package/src/sap/m/p13n/handler/xConfigHandler.js +6 -6
  300. package/src/sap/m/p13n/modification/FlexModificationHandler.js +0 -1
  301. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +0 -1
  302. package/src/sap/m/p13n/modification/ModificationHandler.js +0 -1
  303. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  304. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  305. package/src/sap/m/p13n/modules/UIManager.js +1 -1
  306. package/src/sap/m/p13n/modules/xConfigAPI.js +21 -16
  307. package/src/sap/m/plugins/CellSelector.js +24 -15
  308. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  309. package/src/sap/m/plugins/ContextMenuSetting.js +1 -1
  310. package/src/sap/m/plugins/CopyProvider.js +1 -1
  311. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  312. package/src/sap/m/plugins/PasteProvider.js +1 -1
  313. package/src/sap/m/plugins/PluginBase.js +1 -1
  314. package/src/sap/m/plugins/UploadSetwithTable.js +35 -35
  315. package/src/sap/m/semantic/AddAction.js +1 -1
  316. package/src/sap/m/semantic/CancelAction.js +1 -1
  317. package/src/sap/m/semantic/DeleteAction.js +1 -1
  318. package/src/sap/m/semantic/DetailPage.js +1 -1
  319. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  320. package/src/sap/m/semantic/EditAction.js +1 -1
  321. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  322. package/src/sap/m/semantic/FilterAction.js +1 -1
  323. package/src/sap/m/semantic/FilterSelect.js +1 -1
  324. package/src/sap/m/semantic/FlagAction.js +1 -1
  325. package/src/sap/m/semantic/ForwardAction.js +1 -1
  326. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  327. package/src/sap/m/semantic/GroupAction.js +1 -1
  328. package/src/sap/m/semantic/GroupSelect.js +1 -1
  329. package/src/sap/m/semantic/MainAction.js +1 -1
  330. package/src/sap/m/semantic/MasterPage.js +1 -1
  331. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  332. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  333. package/src/sap/m/semantic/NegativeAction.js +1 -1
  334. package/src/sap/m/semantic/OpenInAction.js +1 -1
  335. package/src/sap/m/semantic/PositiveAction.js +1 -1
  336. package/src/sap/m/semantic/PrintAction.js +1 -1
  337. package/src/sap/m/semantic/SaveAction.js +1 -1
  338. package/src/sap/m/semantic/Segment.js +1 -1
  339. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  340. package/src/sap/m/semantic/SemanticButton.js +1 -1
  341. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  342. package/src/sap/m/semantic/SemanticControl.js +1 -1
  343. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  344. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  345. package/src/sap/m/semantic/SemanticPage.js +1 -1
  346. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  347. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  348. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  349. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  350. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  351. package/src/sap/m/semantic/ShareMenu.js +1 -1
  352. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  353. package/src/sap/m/semantic/SortAction.js +1 -1
  354. package/src/sap/m/semantic/SortSelect.js +1 -1
  355. package/src/sap/m/table/ColumnWidthController.js +1 -1
  356. package/src/sap/m/table/Util.js +2 -2
  357. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  358. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  359. package/src/sap/m/table/columnmenu/Item.js +1 -1
  360. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  361. package/src/sap/m/table/columnmenu/Menu.js +1 -1
  362. package/src/sap/m/table/columnmenu/MenuBase.js +1 -1
  363. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  364. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  365. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  366. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  367. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  368. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  369. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  370. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  371. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  372. package/src/sap/m/themes/base/BarBase.less +12 -12
  373. package/src/sap/m/themes/base/Button.less +1 -3
  374. package/src/sap/m/themes/base/Carousel.less +3 -4
  375. package/src/sap/m/themes/base/CheckBox.less +40 -32
  376. package/src/sap/m/themes/base/ContextMenuSetting.less +1 -1
  377. package/src/sap/m/themes/base/CustomTile.less +2 -3
  378. package/src/sap/m/themes/base/Dialog.less +2 -17
  379. package/src/sap/m/themes/base/FeedContent.less +14 -12
  380. package/src/sap/m/themes/base/FeedInput.less +132 -133
  381. package/src/sap/m/themes/base/FeedListItem.less +62 -65
  382. package/src/sap/m/themes/base/GenericTag.less +56 -42
  383. package/src/sap/m/themes/base/GenericTile.less +1034 -516
  384. package/src/sap/m/themes/base/HeaderContainer.less +48 -33
  385. package/src/sap/m/themes/base/IconTabBar.less +9 -4
  386. package/src/sap/m/themes/base/IllustratedMessage.less +16 -14
  387. package/src/sap/m/themes/base/ImageContent.less +5 -5
  388. package/src/sap/m/themes/base/Input.less +21 -6
  389. package/src/sap/m/themes/base/InputBase.less +95 -62
  390. package/src/sap/m/themes/base/InputListItem.less +4 -3
  391. package/src/sap/m/themes/base/Label.less +46 -33
  392. package/src/sap/m/themes/base/LightBox.less +40 -36
  393. package/src/sap/m/themes/base/ListBase.less +44 -59
  394. package/src/sap/m/themes/base/ListItemBase.less +55 -76
  395. package/src/sap/m/themes/base/MenuButton.less +43 -41
  396. package/src/sap/m/themes/base/MenuListItem.less +11 -21
  397. package/src/sap/m/themes/base/MessageBox.less +16 -11
  398. package/src/sap/m/themes/base/MessageView.less +1 -0
  399. package/src/sap/m/themes/base/NotificationListBase.less +7 -5
  400. package/src/sap/m/themes/base/NotificationListGroup.less +16 -13
  401. package/src/sap/m/themes/base/NotificationListItem.less +14 -15
  402. package/src/sap/m/themes/base/ObjectAttribute.less +17 -15
  403. package/src/sap/m/themes/base/ObjectIdentifier.less +4 -3
  404. package/src/sap/m/themes/base/ObjectListItem.less +25 -27
  405. package/src/sap/m/themes/base/ObjectMarker.less +15 -7
  406. package/src/sap/m/themes/base/ObjectNumber.less +81 -41
  407. package/src/sap/m/themes/base/ObjectStatus.less +230 -205
  408. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +79 -76
  409. package/src/sap/m/themes/base/P13nColumnsPanel.less +9 -10
  410. package/src/sap/m/themes/base/P13nConditionPanel.less +7 -7
  411. package/src/sap/m/themes/base/P13nDialog.less +6 -6
  412. package/src/sap/m/themes/base/P13nFilterPanel.less +11 -11
  413. package/src/sap/m/themes/base/Popover.less +68 -7
  414. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +0 -4
  415. package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +16 -0
  416. package/src/sap/m/themes/base/p13n.Container.less +11 -10
  417. package/src/sap/m/themes/base/p13n.QueryPanel.less +7 -6
  418. package/src/sap/m/themes/base/p13n.SelectionPanel.less +21 -15
  419. package/src/sap/m/upload/ActionsPlaceholder.js +1 -1
  420. package/src/sap/m/upload/Column.js +1 -1
  421. package/src/sap/m/upload/FilePreviewDialog.js +42 -42
  422. package/src/sap/m/upload/UploadItem.js +1 -1
  423. package/src/sap/m/upload/UploadItemConfiguration.js +1 -1
  424. package/src/sap/m/upload/UploadSet.js +53 -25
  425. package/src/sap/m/upload/UploadSetItem.js +1 -1
  426. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  427. package/src/sap/m/upload/UploaderTableItem.js +1 -1
@@ -14,11 +14,12 @@ sap.ui.define([
14
14
  "sap/ui/core/Lib",
15
15
  "sap/ui/events/KeyCodes",
16
16
  "sap/ui/thirdparty/jquery",
17
+ "sap/ui/thirdparty/URI",
17
18
  "sap/base/security/encodeCSS",
18
19
  "sap/ui/Device",
19
20
  "sap/ui/core/library"
20
21
  ],
21
- function(library, Control, DataType, URLListValidator, ImageRenderer, Library, KeyCodes, jQuery, encodeCSS, Device, coreLibrary) {
22
+ function(library, Control, DataType, URLListValidator, ImageRenderer, Library, KeyCodes, jQuery, URI, encodeCSS, Device, coreLibrary) {
22
23
  "use strict";
23
24
 
24
25
 
@@ -62,7 +63,7 @@ sap.ui.define([
62
63
  * @borrows sap.ui.core.IFormContent.getFormDoNotAdjustWidth as #getFormDoNotAdjustWidth
63
64
  *
64
65
  * @author SAP SE
65
- * @version 1.130.1
66
+ * @version 1.131.1
66
67
  *
67
68
  * @public
68
69
  * @alias sap.m.Image
@@ -688,6 +689,21 @@ sap.ui.define([
688
689
  return URLListValidator.validate(sURL);
689
690
  };
690
691
 
692
+ /**
693
+ * Converts an url to absolute url from the origin of the base url
694
+ * @param {string} sUrl - The url to be converted
695
+ * @param {string} oBaseUrl - The base url
696
+ * @returns {string} The absolute url
697
+ * @private
698
+ */
699
+ Image.prototype._toAbsoluteUrl = function (sUrl, oBaseUrl) {
700
+ var oUrl = URI(sUrl);
701
+ if (oUrl.is("relative")) {
702
+ oUrl = oUrl.absoluteTo(oBaseUrl);
703
+ }
704
+ return oUrl.toString();
705
+ };
706
+
691
707
  /**
692
708
  * Update the source image either on the output DOM element (when in sap.m.ImageMode.Image mode) or on the window.Image object (when in sap.m.ImageMode.Background mode)
693
709
  * @private
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.core.Control
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.130.1
36
+ * @version 1.131.1
37
37
  * @since 1.38
38
38
  *
39
39
  * @public
@@ -176,13 +176,17 @@ sap.ui.define(['sap/m/library', "sap/base/security/encodeCSS", "sap/ui/core/libr
176
176
  for (var i = 0; i < aAttributes.length; i++) {
177
177
  var oAttr = aAttributes[i],
178
178
  iNamespaceIndex = oAttr.name.indexOf(":"),
179
- sAttributeName = iNamespaceIndex < 0 ? oAttr.name : oAttr.name.slice(iNamespaceIndex + 1);
180
-
181
- if (sAttributeName === "href" && !oImage._isHrefValid(oAttr.value)) {
182
- continue;
179
+ sAttributeName = iNamespaceIndex < 0 ? oAttr.name : oAttr.name.slice(iNamespaceIndex + 1),
180
+ sAttributeValue = oAttr.value;
181
+
182
+ if (sAttributeName === "href") {
183
+ if (!oImage._isHrefValid(sAttributeValue)) {
184
+ continue;
185
+ }
186
+ sAttributeValue = oImage._toAbsoluteUrl(sAttributeValue, oImage.getSrc());
183
187
  }
184
188
 
185
- oRm.attr(sAttributeName, oAttr.value);
189
+ oRm.attr(sAttributeName, sAttributeValue);
186
190
  }
187
191
  };
188
192
 
@@ -162,7 +162,7 @@ function(
162
162
  * @extends sap.m.InputBase
163
163
  * @implements sap.ui.core.IAccessKeySupport
164
164
  * @author SAP SE
165
- * @version 1.130.1
165
+ * @version 1.131.1
166
166
  *
167
167
  * @constructor
168
168
  * @public
@@ -1606,12 +1606,14 @@ function(
1606
1606
  */
1607
1607
  ["onsapup", "onsapdown", "onsappageup", "onsappagedown", "onsaphome", "onsapend"].forEach(function(sName){
1608
1608
  Input.prototype[sName] = function (oEvent) {
1609
+ const bTypeAhead = this._bDoTypeAhead && !this.isComposingCharacter();
1610
+
1609
1611
  if ((sName === "onsapup" || sName === "onsapdown") && this.isComposingCharacter()) {
1610
1612
  return;
1611
1613
  }
1612
1614
 
1613
1615
  if (this.getShowSuggestion()){
1614
- this._getSuggestionsPopover().handleListNavigation(this, oEvent);
1616
+ this._getSuggestionsPopover().handleListNavigation(this, oEvent, bTypeAhead);
1615
1617
 
1616
1618
  if (this._isIncrementalType()) {
1617
1619
  oEvent.setMarked();
@@ -74,7 +74,7 @@ function(
74
74
  * @borrows sap.ui.core.ILabelable.hasLabelableHTMLElement as #hasLabelableHTMLElement
75
75
  *
76
76
  * @author SAP SE
77
- * @version 1.130.1
77
+ * @version 1.131.1
78
78
  *
79
79
  * @constructor
80
80
  * @public
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.130.1
33
+ * @version 1.131.1
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -78,7 +78,7 @@ function(
78
78
  * @implements sap.ui.core.Label, sap.ui.core.IShrinkable, sap.ui.core.IAccessKeySupport, sap.ui.core.ILabelable
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.130.1
81
+ * @version 1.131.1
82
82
  *
83
83
  * @constructor
84
84
  * @public
@@ -96,7 +96,7 @@ sap.ui.define([
96
96
  * @extends sap.ui.core.Control
97
97
  *
98
98
  * @author SAP SE
99
- * @version 1.130.1
99
+ * @version 1.131.1
100
100
  *
101
101
  * @constructor
102
102
  * @public
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @extends sap.ui.core.Element
44
44
  *
45
45
  * @author SAP SE
46
- * @version 1.130.1
46
+ * @version 1.131.1
47
47
  *
48
48
  * @constructor
49
49
  * @public
package/src/sap/m/Link.js CHANGED
@@ -100,7 +100,7 @@ function(
100
100
  * @borrows sap.ui.core.ILabelable.hasLabelableHTMLElement as #hasLabelableHTMLElement
101
101
  *
102
102
  * @author SAP SE
103
- * @version 1.130.1
103
+ * @version 1.131.1
104
104
  *
105
105
  * @constructor
106
106
  * @public
@@ -358,18 +358,17 @@ function(
358
358
 
359
359
  Link.prototype.onAfterRendering = function() {
360
360
  if (Device.system.phone || Device.system.tablet) {
361
- var oAnchorElement = this.getDomRef(),
362
- sEventID = Device.browser.safari ? "touchstart" : "click";
361
+ var oAnchorElement = this.getDomRef();
363
362
 
364
363
  // TODO: Adjust sap.m.internal.ObjectMarkerCustomLink rendering part of the sap.m.ObjectMarker implementation
365
364
  if (!oAnchorElement) {
366
365
  return;
367
366
  }
368
367
 
369
- oAnchorElement.removeEventListener(sEventID, this._onClick);
368
+ oAnchorElement.removeEventListener("touchstart", this._onTouchStart);
370
369
 
371
370
  if (oAnchorElement.getAttribute("href") === "#") {
372
- oAnchorElement.addEventListener(sEventID, this._onClick);
371
+ oAnchorElement.addEventListener("touchstart", this._onTouchStart);
373
372
  }
374
373
  }
375
374
  };
@@ -379,14 +378,13 @@ function(
379
378
  oEndIcon = this.getAggregation("_endIcon");
380
379
 
381
380
  if (Device.system.phone || Device.system.tablet) {
382
- var oAnchorElement = this.getDomRef(),
383
- sEventID = Device.browser.safari ? "touchstart" : "click";
381
+ var oAnchorElement = this.getDomRef();
384
382
 
385
383
  if (!oAnchorElement) {
386
384
  return;
387
385
  }
388
386
 
389
- oAnchorElement.removeEventListener(sEventID, this._onClick);
387
+ oAnchorElement.removeEventListener("touchstart", this._onTouchStart);
390
388
  }
391
389
 
392
390
  if (oIcon) {
@@ -400,7 +398,7 @@ function(
400
398
  }
401
399
  };
402
400
 
403
- Link.prototype._onClick = function(oEvent) {
401
+ Link.prototype._onTouchStart = function(oEvent) {
404
402
  oEvent.preventDefault();
405
403
  };
406
404
 
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @class This element is used within the GenericTile control that generates a combination of an icon and a linkl
19
19
  * @extends sap.ui.core.Element
20
20
  * @author SAP SE
21
- * @version 1.130.1
21
+ * @version 1.131.1
22
22
  * @constructor
23
23
  * @public
24
24
  * @since 1.120
package/src/sap/m/List.js CHANGED
@@ -30,7 +30,7 @@ sap.ui.define(["./library", "./ListBase", "./ListRenderer"],
30
30
  * @extends sap.m.ListBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.130.1
33
+ * @version 1.131.1
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -103,7 +103,7 @@ function(
103
103
  * @extends sap.ui.core.Control
104
104
  *
105
105
  * @author SAP SE
106
- * @version 1.130.1
106
+ * @version 1.131.1
107
107
  *
108
108
  * @constructor
109
109
  * @public
@@ -72,7 +72,7 @@ function(
72
72
  * @extends sap.ui.core.Control
73
73
  *
74
74
  * @author SAP SE
75
- * @version 1.130.1
75
+ * @version 1.131.1
76
76
  *
77
77
  * @constructor
78
78
  * @public
@@ -115,7 +115,8 @@ function(
115
115
  * Defines the highlight state of the list items.
116
116
  *
117
117
  * Valid values for the <code>highlight</code> property are values of the enumerations {@link sap.ui.core.MessageType} or
118
- * {@link sap.ui.core.IndicationColor}.
118
+ * {@link sap.ui.core.IndicationColor} (only values of <code>Indication01</code> to <code>Indication10</code> are supported
119
+ * for accessibility contrast reasons).
119
120
  *
120
121
  * Accessibility support is provided through the associated {@link sap.m.ListItemBase#setHighlightText highlightText} property.
121
122
  * If the <code>highlight</code> property is set to a value of {@link sap.ui.core.MessageType}, the <code>highlightText</code>
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * Applies mask support for input controls.
29
29
  * It should should be applied to the prototype of a <code>sap.m.InputBase</code>.
30
30
  *
31
- * @version 1.130.1
31
+ * @version 1.131.1
32
32
  * @private
33
33
  * @mixin
34
34
  * @alias sap.m.MaskEnabler
@@ -29,7 +29,7 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
29
29
  *
30
30
  * @author SAP SE
31
31
  * @extends sap.m.InputBase
32
- * @version 1.130.1
32
+ * @version 1.131.1
33
33
  *
34
34
  * @constructor
35
35
  * @public
@@ -101,7 +101,28 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
101
101
  */
102
102
  previousValue: {type : "string"}
103
103
  }
104
+ },
105
+ /**
106
+ * This event is fired when user presses the <kbd>Enter</kbd> key on the Mask input.
107
+ *
108
+ * <b>Notes:</b>
109
+ * <ul>
110
+ * <li>The event is fired independent of whether there was a change before or not. If a change was performed, the event is fired after the change event.</li>
111
+ * <li>The event is only fired on an input which allows text input (<code>editable</code> and <code>enabled</code>).</li>
112
+ * </ul>
113
+ *
114
+ * @since 1.131.0
115
+ */
116
+ submit : {
117
+ parameters: {
118
+
119
+ /**
120
+ * The new value of the Mask input.
121
+ */
122
+ value: { type: "string" }
123
+ }
104
124
  }
125
+
105
126
  },
106
127
  dnd: { draggable: false, droppable: true }
107
128
  },
@@ -121,6 +142,51 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
121
142
  return true;
122
143
  };
123
144
 
145
+ MaskInput.prototype._revertKey = function(oKey, oSelection) {
146
+ oSelection = oSelection || this._getTextSelection();
147
+
148
+ let iBegin = oSelection.iFrom,
149
+ iEnd = oSelection.iTo,
150
+ iStart = iBegin,
151
+ sPlaceholder,
152
+ iLen;
153
+
154
+ if (!oSelection.bHasSelection) {
155
+ if (oKey.bBackspace) {
156
+ iStart = iBegin = this._oRules.previousTo(iBegin);
157
+ } else if (oKey.bDelete) {
158
+ sPlaceholder = this.getPlaceholderSymbol();
159
+ iLen = this._oTempValue._aContent.length;
160
+
161
+ // find first character that is not a placeholder or separator character
162
+ while ((this._oTempValue._aContent[iBegin] === sPlaceholder ||
163
+ this._oTempValue._aInitial[iBegin] !== sPlaceholder) &&
164
+ iBegin < iLen) {
165
+ iBegin++;
166
+ }
167
+ iEnd = iBegin;
168
+ }
169
+ }
170
+
171
+ if (oKey.bBackspace || (oKey.bDelete && oSelection.bHasSelection)) {
172
+ iEnd = iEnd - 1;
173
+ }
174
+
175
+ this._resetTempValue(iBegin, iEnd);
176
+ this._bCheckForLiveChange = true;
177
+ this.updateDomValue(this._oTempValue.toString());
178
+ this._setCursorPosition(Math.max(this._iUserInputStartPosition, iStart));
179
+ };
180
+
181
+ MaskInput.prototype.onsapenter = function(oEvent) {
182
+ const bFireSubmit = this.getEnabled() && this.getEditable();
183
+
184
+ if (bFireSubmit) {
185
+ InputBase.prototype.onsapenter.apply(this, arguments);
186
+ this.fireSubmit({value: this.getValue()});
187
+ }
188
+ };
189
+
124
190
  return MaskInput;
125
191
 
126
192
  });
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/Element', "sap/base/Log"], function(Element, Log) {
20
20
  *
21
21
  * @author SAP SE
22
22
  * @extends sap.ui.core.Element
23
- * @version 1.130.1
23
+ * @version 1.131.1
24
24
  * @public
25
25
  * @constructor
26
26
  * @since 1.34.0
package/src/sap/m/Menu.js CHANGED
@@ -83,7 +83,7 @@ sap.ui.define([
83
83
  * @implements sap.ui.core.IContextMenu
84
84
  *
85
85
  * @author SAP SE
86
- * @version 1.130.1
86
+ * @version 1.131.1
87
87
  *
88
88
  * @constructor
89
89
  * @public
@@ -134,7 +134,17 @@ sap.ui.define([
134
134
  /**
135
135
  * Fired when the menu is closed.
136
136
  */
137
- closed: {}
137
+ closed: {},
138
+
139
+ /**
140
+ * Fired before the menu is closed.
141
+ * This event can be prevented which effectively prevents the menu from closing.
142
+ * @since 1.131
143
+ */
144
+ beforeClose : {
145
+ allowPreventDefault : true
146
+ }
147
+
138
148
  }
139
149
  },
140
150
  renderer: null // this is a popup control without a renderer
@@ -192,6 +202,10 @@ sap.ui.define([
192
202
  * Called from parent if the control is destroyed.
193
203
  */
194
204
  Menu.prototype.exit = function() {
205
+ var oMenu = this._getMenu(),
206
+ oPopup = oMenu && oMenu.getPopup(),
207
+ oDialog = this._getDialog();
208
+
195
209
  if (this._navContainerId) {
196
210
  this._navContainerId = null;
197
211
  }
@@ -199,8 +213,13 @@ sap.ui.define([
199
213
  this._bIsInitialized = null;
200
214
  }
201
215
 
202
- if (this._getMenu() && this._getMenu().getPopup()) {
203
- this._getMenu().getPopup().detachClosed(this._menuClosed, this);
216
+ if (oPopup) {
217
+ oPopup.detachClosed(this._menuClosed, this);
218
+ oMenu.detachBeforeClose(this._handleVisualParentClose, this);
219
+ }
220
+
221
+ if (oDialog) {
222
+ oDialog.detachBeforeClose(this._handleVisualParentClose, this);
204
223
  }
205
224
  };
206
225
 
@@ -305,6 +324,7 @@ sap.ui.define([
305
324
  oDialog.addStyleClass("sapUiNoContentPadding");
306
325
  this.setAggregation("_dialog", oDialog, true);
307
326
  oDialog.attachAfterClose(this._menuClosed, this);
327
+ oDialog.attachBeforeClose(this._handleVisualParentClose, this);
308
328
  };
309
329
 
310
330
  /**
@@ -351,6 +371,8 @@ sap.ui.define([
351
371
 
352
372
  Menu.prototype._initMenuForItems = function(aItems, oParentMenuItem) {
353
373
  var oMenu = new UfdMenu();
374
+
375
+ oMenu.attachBeforeClose(this._handleVisualParentClose, this);
354
376
  oMenu._setCustomEnhanceAccStateFunction(this._fnEnhanceUnifiedMenuAccState);
355
377
  oMenu.isCozy = this._isMenuCozy.bind(this, oMenu);
356
378
 
@@ -384,6 +406,12 @@ sap.ui.define([
384
406
  oMenu.attachItemSelect(this._handleMenuItemSelect, this);
385
407
  };
386
408
 
409
+ Menu.prototype._handleVisualParentClose = function(oEvent) {
410
+ if (!this.fireBeforeClose()) {
411
+ oEvent.preventDefault();
412
+ }
413
+ };
414
+
387
415
  Menu.prototype._menuClosed = function() {
388
416
  this.fireClosed();
389
417
  };
@@ -538,7 +566,8 @@ sap.ui.define([
538
566
  Menu.prototype._createVisualMenuItemFromItem = function(oItem) {
539
567
  var sUfdMenuItemId = this._generateUnifiedMenuItemId(oItem.getId()),
540
568
  oUfdMenuItem = Element.getElementById(sUfdMenuItemId),
541
- aCustomData = oItem.getCustomData();
569
+ aCustomData = oItem.getCustomData(),
570
+ aEndContent = oItem.getEndContent();
542
571
 
543
572
  if (oUfdMenuItem) {
544
573
  return oUfdMenuItem;
@@ -560,6 +589,10 @@ sap.ui.define([
560
589
  oItem._addCustomData(oUfdMenuItem, aCustomData[i]);
561
590
  }
562
591
 
592
+ aEndContent.forEach((oEndContent) => {
593
+ oItem._addEndContent(oUfdMenuItem, oEndContent);
594
+ });
595
+
563
596
  oItem.aDelegates.forEach(function(oDelegateObject) {
564
597
  oUfdMenuItem.addEventDelegate(oDelegateObject.oDelegate, oDelegateObject.vThis);
565
598
  });
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @extends sap.ui.core.Control
61
61
  *
62
62
  * @author SAP SE
63
- * @version 1.130.1
63
+ * @version 1.131.1
64
64
  *
65
65
  * @constructor
66
66
  * @public
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @implements sap.m.IMenuItem
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.130.1
40
+ * @version 1.131.1
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -92,7 +92,14 @@ sap.ui.define([
92
92
  /**
93
93
  * Defines the sub-items contained within this element.
94
94
  */
95
- items: { type: "sap.m.IMenuItem", multiple: true, singularName: "item", bindable: "bindable" }
95
+ items: { type: "sap.m.IMenuItem", multiple: true, singularName: "item", bindable: "bindable" },
96
+
97
+ /**
98
+ * Defines the content that is displayed at the end of a menu item. This aggregation allows for the addition of custom elements, such as icons and buttons.
99
+ * @experimental
100
+ * @since 1.131
101
+ */
102
+ endContent: { type: "sap.ui.core.Control", multiple : true }
96
103
 
97
104
  },
98
105
  associations : {
@@ -189,6 +196,9 @@ sap.ui.define([
189
196
  if (sAggregationName === 'customData' && oVisualItemId) {
190
197
  oVisualItem = Element.getElementById(oVisualItemId);
191
198
  this._addCustomData(oVisualItem, oObject);
199
+ } else if (sAggregationName === "endContent" && oVisualItemId){
200
+ oVisualItem = Element.getElementById(oVisualItemId);
201
+ this._addEndContent(oVisualItem, oObject);
192
202
  }
193
203
 
194
204
  this.fireEvent("aggregationChanged", { aggregationName: sAggregationName, methodName: "add", methodParams: { item: oObject } }, false, true);
@@ -206,6 +216,10 @@ sap.ui.define([
206
216
  oVisualItem = Element.getElementById(oVisualItemId);
207
217
  oVisualItem.insertCustomData(oObject.clone(MenuItem.UNIFIED_MENU_ITEMS_ID_SUFFIX), iIndex);
208
218
  this._observeCustomDataChanges(oObject);
219
+ } else if (sAggregationName === "endContent" && oVisualItemId) {
220
+ oVisualItem = Element.getElementById(oVisualItemId);
221
+ oVisualItem.insertEndContent(oObject.clone(MenuItem.UNIFIED_MENU_ITEMS_ID_SUFFIX), iIndex);
222
+ this._observeEndContentChanges(oObject);
209
223
  }
210
224
 
211
225
  this.fireEvent("aggregationChanged", { aggregationName: sAggregationName, methodName: "insert", methodParams: { item: oObject, index: iIndex }}, false, true);
@@ -224,6 +238,16 @@ sap.ui.define([
224
238
  properties: ["value"]
225
239
  });
226
240
  }
241
+ } else if (sAggregationName === "endContent") {
242
+ if (this.getEndContent().length === 1) {
243
+ this._disconnectAndDestroyEndContentObserver();
244
+ } else if (vObject && this._oEndContentObserver) {
245
+ if (!this.getEndContent().length) {
246
+ this._oEndContentObserver.unobserve(vObject, {
247
+ aggregations: ["endContent"]
248
+ });
249
+ }
250
+ }
227
251
  }
228
252
 
229
253
  this.fireEvent("aggregationChanged", { aggregationName: sAggregationName, methodName: "remove", methodParams: { item: oObject }}, false, true);
@@ -236,6 +260,8 @@ sap.ui.define([
236
260
 
237
261
  if (sAggregationName === 'customData') {
238
262
  this._disconnectAndDestroyCustomDataObserver();
263
+ } else if (sAggregationName === "endContent") {
264
+ this._disconnectAndDestroyEndContentObserver();
239
265
  }
240
266
 
241
267
  this.fireEvent("aggregationChanged", { aggregationName: sAggregationName, methodName: "removeall", methodParams: { items: aObjects }}, false, true);
@@ -246,6 +272,8 @@ sap.ui.define([
246
272
  MenuItem.prototype.destroyAggregation = function(sAggregationName, bSuppressInvalidate) {
247
273
  if (sAggregationName === 'customData') {
248
274
  this._disconnectAndDestroyCustomDataObserver();
275
+ } else if (sAggregationName === "endContent") {
276
+ this._disconnectAndDestroyEndContentObserver();
249
277
  }
250
278
 
251
279
  this.fireEvent("aggregationChanged", { aggregationName: sAggregationName, methodName: "destroy"}, false, true);
@@ -316,6 +344,18 @@ sap.ui.define([
316
344
  this._observeCustomDataChanges(oCustomData);
317
345
  };
318
346
 
347
+ /**
348
+ * Observes the endContent aggregation of the passed menu item
349
+ *
350
+ * @param {sap.ui.unified.MenuItem} oVisualItem the sap.ui.unified.MenuItem, which aggregation will be observed
351
+ * @param {sap.ui.core.Control} oEndContent A control that will be added to the endContent aggregation
352
+ * @private
353
+ */
354
+ MenuItem.prototype._addEndContent = function (oVisualItem, oEndContent) {
355
+ oVisualItem.addEndContent(oEndContent.clone(MenuItem.UNIFIED_MENU_ITEMS_ID_SUFFIX, undefined, { bCloneChildren: false, bCloneBindings: true }));
356
+ this._observeEndContentChanges(oEndContent);
357
+ };
358
+
319
359
  /**
320
360
  * Observes the value property of the passed menu item
321
361
  *
@@ -328,16 +368,38 @@ sap.ui.define([
328
368
  });
329
369
  };
330
370
 
371
+ /**
372
+ * Observes the endContent aggregation of the passed menu item
373
+ *
374
+ * @param {sap.ui.core.Control} oEndContent the control that is observed for property changes
375
+ * @private
376
+ */
377
+ MenuItem.prototype._observeEndContentChanges = function (oEndContent) {
378
+ this._getEndContentObserver().observe(oEndContent, {
379
+ properties: true
380
+ });
381
+ };
382
+
331
383
  /**
332
384
  * Sets the value property of the inner sap.ui.unified.MenuItem
333
385
  *
334
- * @param {object} oChanges the detected from the ManagedObjectObserver changes
386
+ * @param {object} oChanges the changes detected by the ManagedObjectObservers
335
387
  * @private
336
388
  */
337
389
  MenuItem.prototype._customDataObserverCallbackFunction = function (oChanges) {
338
390
  Element.getElementById(oChanges.object.getId() + "-" + MenuItem.UNIFIED_MENU_ITEMS_ID_SUFFIX).setValue(oChanges.current);
339
391
  };
340
392
 
393
+ /**
394
+ * Sets the value property of the inner sap.ui.unified.MenuItem
395
+ *
396
+ * @param {object} oChanges the detected from the ManagedObjectObserver changes
397
+ * @private
398
+ */
399
+ MenuItem.prototype._endContentObserverCallbackFunction = function (oChanges) {
400
+ Element.getElementById(oChanges.object.getId() + "-" + MenuItem.UNIFIED_MENU_ITEMS_ID_SUFFIX).setProperty(oChanges.name, oChanges.current);
401
+ };
402
+
341
403
  /**
342
404
  * Returns the ManagedObjectObserver for the custom data
343
405
  *
@@ -351,6 +413,19 @@ sap.ui.define([
351
413
  return this._oCustomDataObserver;
352
414
  };
353
415
 
416
+ /**
417
+ * Returns the ManagedObjectObserver for the end content
418
+ *
419
+ * @return {sap.ui.base.ManagedObjectObserver} the end content observer object
420
+ * @private
421
+ */
422
+ MenuItem.prototype._getEndContentObserver = function () {
423
+ if (!this._oEndContentObserver) {
424
+ this._oEndContentObserver = new ManagedObjectObserver(this._endContentObserverCallbackFunction);
425
+ }
426
+ return this._oEndContentObserver;
427
+ };
428
+
354
429
  /**
355
430
  * Disconnects and destroys the ManagedObjectObserver observing the menu items
356
431
  *
@@ -364,6 +439,19 @@ sap.ui.define([
364
439
  }
365
440
  };
366
441
 
442
+ /**
443
+ * Disconnects and destroys the ManagedObjectObserver observing the menu items
444
+ *
445
+ * @private
446
+ */
447
+ MenuItem.prototype._disconnectAndDestroyEndContentObserver = function () {
448
+ if (this._oEndContentObserver) {
449
+ this._oEndContentObserver.disconnect();
450
+ this._oEndContentObserver.destroy();
451
+ this._oEndContentObserver = null;
452
+ }
453
+ };
454
+
367
455
  //Internal methods used to identify the item in the Menu's hierarchy.
368
456
 
369
457
  /**
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @implements sap.m.IMenuItem
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.130.1
35
+ * @version 1.131.1
36
36
  * @since 1.127.0
37
37
  *
38
38
  * @constructor