@openui5/sap.m 1.127.1 → 1.129.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 (528) 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 +1 -1
  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 +6 -2
  19. package/src/sap/m/Carousel.js +3 -2
  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 +2 -1
  23. package/src/sap/m/ColorPalettePopover.js +5 -3
  24. package/src/sap/m/Column.js +7 -1
  25. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  26. package/src/sap/m/ColumnListItem.js +1 -1
  27. package/src/sap/m/ColumnListItemRenderer.js +10 -0
  28. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  33. package/src/sap/m/ComboBox.js +1 -1
  34. package/src/sap/m/ComboBoxBase.js +1 -1
  35. package/src/sap/m/ComboBoxTextField.js +1 -1
  36. package/src/sap/m/ContentConfig.js +1 -1
  37. package/src/sap/m/CustomListItem.js +1 -1
  38. package/src/sap/m/CustomTile.js +1 -1
  39. package/src/sap/m/CustomTreeItem.js +1 -1
  40. package/src/sap/m/DatePicker.js +1 -1
  41. package/src/sap/m/DateRangeSelection.js +2 -2
  42. package/src/sap/m/DateTimeField.js +1 -1
  43. package/src/sap/m/DateTimeInput.js +1 -1
  44. package/src/sap/m/DateTimePicker.js +1 -1
  45. package/src/sap/m/Dialog.js +37 -29
  46. package/src/sap/m/DialogRenderer.js +11 -3
  47. package/src/sap/m/DisplayListItem.js +1 -1
  48. package/src/sap/m/DraftIndicator.js +1 -1
  49. package/src/sap/m/DynamicDate.js +1 -1
  50. package/src/sap/m/DynamicDateOption.js +1 -1
  51. package/src/sap/m/DynamicDateRange.js +1 -1
  52. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  53. package/src/sap/m/ExpandableText.js +1 -1
  54. package/src/sap/m/FacetFilter.js +1 -1
  55. package/src/sap/m/FacetFilterItem.js +1 -1
  56. package/src/sap/m/FacetFilterList.js +1 -1
  57. package/src/sap/m/FeedContent.js +1 -1
  58. package/src/sap/m/FeedInput.js +1 -1
  59. package/src/sap/m/FeedListItem.js +1 -1
  60. package/src/sap/m/FeedListItemAction.js +1 -1
  61. package/src/sap/m/FeedListItemRenderer.js +15 -14
  62. package/src/sap/m/Fiori20Adapter.js +3 -3
  63. package/src/sap/m/FlexBox.js +1 -1
  64. package/src/sap/m/FlexItemData.js +1 -1
  65. package/src/sap/m/FormattedText.js +1 -1
  66. package/src/sap/m/GenericTag.js +11 -5
  67. package/src/sap/m/GenericTile.js +1 -1
  68. package/src/sap/m/GenericTileRenderer.js +11 -2
  69. package/src/sap/m/GroupHeaderListItem.js +1 -1
  70. package/src/sap/m/GrowingList.js +1 -1
  71. package/src/sap/m/HBox.js +1 -1
  72. package/src/sap/m/HeaderContainer.js +1 -1
  73. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  74. package/src/sap/m/IconTabBar.js +1 -1
  75. package/src/sap/m/IconTabBarSelectList.js +1 -1
  76. package/src/sap/m/IconTabFilter.js +1 -1
  77. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  78. package/src/sap/m/IconTabHeader.js +1 -1
  79. package/src/sap/m/IconTabSeparator.js +1 -1
  80. package/src/sap/m/IllustratedMessage.js +1 -1
  81. package/src/sap/m/Illustration.js +1 -1
  82. package/src/sap/m/Image.js +1 -1
  83. package/src/sap/m/ImageContent.js +1 -1
  84. package/src/sap/m/Input.js +2 -17
  85. package/src/sap/m/InputBase.js +16 -2
  86. package/src/sap/m/InputListItem.js +1 -1
  87. package/src/sap/m/Label.js +1 -1
  88. package/src/sap/m/LightBox.js +1 -1
  89. package/src/sap/m/LightBoxItem.js +1 -1
  90. package/src/sap/m/Link.js +133 -11
  91. package/src/sap/m/LinkRenderer.js +18 -0
  92. package/src/sap/m/LinkTileContent.js +1 -1
  93. package/src/sap/m/List.js +1 -1
  94. package/src/sap/m/ListBase.js +86 -15
  95. package/src/sap/m/ListItemBase.js +1 -1
  96. package/src/sap/m/MaskEnabler.js +1 -1
  97. package/src/sap/m/MaskInput.js +1 -1
  98. package/src/sap/m/MaskInputRule.js +1 -1
  99. package/src/sap/m/Menu.js +8 -6
  100. package/src/sap/m/MenuButton.js +1 -1
  101. package/src/sap/m/MenuItem.js +1 -1
  102. package/src/sap/m/MenuItemGroup.js +1 -1
  103. package/src/sap/m/MenuListItem.js +1 -1
  104. package/src/sap/m/MessageBox.js +6 -0
  105. package/src/sap/m/MessageItem.js +10 -2
  106. package/src/sap/m/MessageListItem.js +2 -2
  107. package/src/sap/m/MessagePage.js +1 -1
  108. package/src/sap/m/MessagePopover.js +1 -1
  109. package/src/sap/m/MessagePopoverItem.js +1 -1
  110. package/src/sap/m/MessageStrip.js +11 -3
  111. package/src/sap/m/MessageToast.js +1 -1
  112. package/src/sap/m/MessageView.js +10 -7
  113. package/src/sap/m/MultiComboBox.js +1 -1
  114. package/src/sap/m/MultiEditField.js +1 -1
  115. package/src/sap/m/MultiInput.js +1 -1
  116. package/src/sap/m/NavContainer.js +1 -1
  117. package/src/sap/m/NewsContent.js +1 -1
  118. package/src/sap/m/NotificationList.js +1 -1
  119. package/src/sap/m/NotificationListBase.js +1 -1
  120. package/src/sap/m/NotificationListGroup.js +1 -1
  121. package/src/sap/m/NotificationListItem.js +1 -1
  122. package/src/sap/m/NumericContent.js +1 -1
  123. package/src/sap/m/NumericInput.js +1 -1
  124. package/src/sap/m/ObjectAttribute.js +1 -1
  125. package/src/sap/m/ObjectHeader.js +1 -1
  126. package/src/sap/m/ObjectIdentifier.js +14 -7
  127. package/src/sap/m/ObjectListItem.js +1 -1
  128. package/src/sap/m/ObjectMarker.js +1 -1
  129. package/src/sap/m/ObjectNumber.js +6 -6
  130. package/src/sap/m/ObjectStatus.js +64 -14
  131. package/src/sap/m/ObjectStatusRenderer.js +9 -1
  132. package/src/sap/m/OverflowToolbar.js +21 -2
  133. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  134. package/src/sap/m/OverflowToolbarButton.js +1 -1
  135. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  136. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  137. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  138. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  139. package/src/sap/m/P13nColumnsItem.js +1 -1
  140. package/src/sap/m/P13nColumnsPanel.js +1 -1
  141. package/src/sap/m/P13nConditionPanel.js +3 -5
  142. package/src/sap/m/P13nDialog.js +1 -1
  143. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  144. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  145. package/src/sap/m/P13nFilterItem.js +1 -1
  146. package/src/sap/m/P13nFilterPanel.js +1 -1
  147. package/src/sap/m/P13nGroupItem.js +1 -1
  148. package/src/sap/m/P13nGroupPanel.js +1 -1
  149. package/src/sap/m/P13nItem.js +1 -1
  150. package/src/sap/m/P13nPanel.js +1 -1
  151. package/src/sap/m/P13nSelectionItem.js +1 -1
  152. package/src/sap/m/P13nSelectionPanel.js +1 -1
  153. package/src/sap/m/P13nSortItem.js +1 -1
  154. package/src/sap/m/P13nSortPanel.js +1 -1
  155. package/src/sap/m/PDFViewer.js +1 -1
  156. package/src/sap/m/Page.js +1 -4
  157. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  158. package/src/sap/m/PagingButton.js +1 -1
  159. package/src/sap/m/Panel.js +1 -1
  160. package/src/sap/m/PlanningCalendar.js +44 -6
  161. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  162. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  163. package/src/sap/m/PlanningCalendarLegendRenderer.js +4 -1
  164. package/src/sap/m/PlanningCalendarRow.js +11 -5
  165. package/src/sap/m/PlanningCalendarView.js +1 -1
  166. package/src/sap/m/Popover.js +12 -5
  167. package/src/sap/m/PopoverRenderer.js +13 -3
  168. package/src/sap/m/ProgressIndicator.js +1 -1
  169. package/src/sap/m/PullToRefresh.js +1 -1
  170. package/src/sap/m/QuickView.js +1 -1
  171. package/src/sap/m/QuickViewBase.js +1 -1
  172. package/src/sap/m/QuickViewCard.js +1 -1
  173. package/src/sap/m/QuickViewGroup.js +1 -1
  174. package/src/sap/m/QuickViewGroupElement.js +1 -1
  175. package/src/sap/m/QuickViewPage.js +3 -2
  176. package/src/sap/m/RadioButton.js +1 -1
  177. package/src/sap/m/RadioButtonGroup.js +1 -1
  178. package/src/sap/m/RangeSlider.js +1 -1
  179. package/src/sap/m/RatingIndicator.js +9 -16
  180. package/src/sap/m/RatingIndicatorRenderer.js +4 -1
  181. package/src/sap/m/ResponsivePopover.js +7 -1
  182. package/src/sap/m/ResponsiveScale.js +1 -1
  183. package/src/sap/m/ScrollBar.js +1 -1
  184. package/src/sap/m/ScrollContainer.js +1 -1
  185. package/src/sap/m/SearchField.js +1 -1
  186. package/src/sap/m/SegmentedButton.js +1 -1
  187. package/src/sap/m/SegmentedButtonItem.js +1 -1
  188. package/src/sap/m/Select.js +3 -2
  189. package/src/sap/m/SelectDialog.js +12 -7
  190. package/src/sap/m/SelectDialogBase.js +21 -1
  191. package/src/sap/m/SelectList.js +1 -1
  192. package/src/sap/m/SelectionDetails.js +1 -29
  193. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  194. package/src/sap/m/SelectionDetailsItem.js +1 -1
  195. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  196. package/src/sap/m/Shell.js +1 -1
  197. package/src/sap/m/SimpleFixFlex.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendar.js +15 -2
  199. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarGrid.js +45 -1
  201. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +78 -13
  202. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +73 -8
  203. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +14 -7
  204. package/src/sap/m/SinglePlanningCalendarMonthView.js +2 -2
  205. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  206. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  207. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  208. package/src/sap/m/SlideTile.js +263 -41
  209. package/src/sap/m/SlideTileRenderer.js +12 -0
  210. package/src/sap/m/Slider.js +1 -1
  211. package/src/sap/m/SliderTooltip.js +1 -1
  212. package/src/sap/m/SliderTooltipBase.js +1 -1
  213. package/src/sap/m/SliderTooltipContainer.js +1 -1
  214. package/src/sap/m/SplitApp.js +1 -1
  215. package/src/sap/m/SplitButton.js +4 -3
  216. package/src/sap/m/SplitContainer.js +1 -1
  217. package/src/sap/m/StandardDynamicDateOption.js +1 -1
  218. package/src/sap/m/StandardListItem.js +1 -1
  219. package/src/sap/m/StandardTile.js +1 -1
  220. package/src/sap/m/StandardTreeItem.js +1 -1
  221. package/src/sap/m/StepInput.js +4 -4
  222. package/src/sap/m/SuggestionItem.js +1 -1
  223. package/src/sap/m/SuggestionsPopover.js +1 -1
  224. package/src/sap/m/Switch.js +1 -1
  225. package/src/sap/m/TabContainer.js +1 -1
  226. package/src/sap/m/TabContainerItem.js +1 -1
  227. package/src/sap/m/TabStrip.js +1 -1
  228. package/src/sap/m/TabStripItem.js +1 -1
  229. package/src/sap/m/Table.js +40 -24
  230. package/src/sap/m/TablePersoController.js +1 -1
  231. package/src/sap/m/TablePersoDialog.js +1 -1
  232. package/src/sap/m/TablePersoProvider.js +1 -1
  233. package/src/sap/m/TableRenderer.js +12 -2
  234. package/src/sap/m/TableSelectDialog.js +12 -8
  235. package/src/sap/m/Text.js +1 -1
  236. package/src/sap/m/TextArea.js +1 -1
  237. package/src/sap/m/Tile.js +1 -1
  238. package/src/sap/m/TileContainer.js +1 -1
  239. package/src/sap/m/TileContent.js +1 -1
  240. package/src/sap/m/TileInfo.js +1 -1
  241. package/src/sap/m/TimePicker.js +12 -1
  242. package/src/sap/m/TimePickerClock.js +1 -1
  243. package/src/sap/m/TimePickerClocks.js +1 -1
  244. package/src/sap/m/TimePickerInputs.js +1 -1
  245. package/src/sap/m/TimePickerInternals.js +1 -1
  246. package/src/sap/m/TimePickerRenderer.js +0 -13
  247. package/src/sap/m/TimePickerSlider.js +1 -1
  248. package/src/sap/m/TimePickerSliders.js +1 -1
  249. package/src/sap/m/Title.js +1 -1
  250. package/src/sap/m/TitlePropagationSupport.js +1 -1
  251. package/src/sap/m/ToggleButton.js +1 -1
  252. package/src/sap/m/Token.js +1 -1
  253. package/src/sap/m/Tokenizer.js +1 -1
  254. package/src/sap/m/Toolbar.js +112 -2
  255. package/src/sap/m/ToolbarLayoutData.js +1 -1
  256. package/src/sap/m/ToolbarSeparator.js +1 -1
  257. package/src/sap/m/ToolbarSpacer.js +1 -1
  258. package/src/sap/m/Tree.js +1 -1
  259. package/src/sap/m/TreeItemBase.js +1 -1
  260. package/src/sap/m/UploadCollection.js +1 -1
  261. package/src/sap/m/UploadCollectionItem.js +1 -1
  262. package/src/sap/m/UploadCollectionParameter.js +1 -1
  263. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  264. package/src/sap/m/VBox.js +1 -1
  265. package/src/sap/m/ValueStateHeader.js +1 -1
  266. package/src/sap/m/VariantItem.js +1 -0
  267. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  268. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  269. package/src/sap/m/ViewSettingsDialog.js +1 -1
  270. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  271. package/src/sap/m/ViewSettingsItem.js +1 -1
  272. package/src/sap/m/VisibleItem.js +1 -1
  273. package/src/sap/m/WheelSlider.js +1 -1
  274. package/src/sap/m/WheelSliderContainer.js +1 -1
  275. package/src/sap/m/Wizard.js +1 -1
  276. package/src/sap/m/WizardProgressNavigator.js +1 -1
  277. package/src/sap/m/WizardStep.js +1 -1
  278. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  279. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  280. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  281. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  282. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  283. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  284. package/src/sap/m/library.js +11 -3
  285. package/src/sap/m/messagebundle.properties +12 -2
  286. package/src/sap/m/messagebundle_ar.properties +8 -16
  287. package/src/sap/m/messagebundle_bg.properties +8 -16
  288. package/src/sap/m/messagebundle_ca.properties +9 -17
  289. package/src/sap/m/messagebundle_cnr.properties +8 -16
  290. package/src/sap/m/messagebundle_cs.properties +8 -16
  291. package/src/sap/m/messagebundle_cy.properties +8 -16
  292. package/src/sap/m/messagebundle_da.properties +10 -18
  293. package/src/sap/m/messagebundle_de.properties +8 -16
  294. package/src/sap/m/messagebundle_el.properties +11 -19
  295. package/src/sap/m/messagebundle_en.properties +11 -5
  296. package/src/sap/m/messagebundle_en_GB.properties +11 -19
  297. package/src/sap/m/messagebundle_en_US_sappsd.properties +0 -14
  298. package/src/sap/m/messagebundle_en_US_saprigi.properties +11 -19
  299. package/src/sap/m/messagebundle_en_US_saptrc.properties +0 -14
  300. package/src/sap/m/messagebundle_es.properties +9 -17
  301. package/src/sap/m/messagebundle_es_MX.properties +9 -17
  302. package/src/sap/m/messagebundle_et.properties +8 -16
  303. package/src/sap/m/messagebundle_fi.properties +8 -16
  304. package/src/sap/m/messagebundle_fr.properties +8 -16
  305. package/src/sap/m/messagebundle_fr_CA.properties +8 -16
  306. package/src/sap/m/messagebundle_hi.properties +11 -19
  307. package/src/sap/m/messagebundle_hr.properties +8 -16
  308. package/src/sap/m/messagebundle_hu.properties +9 -17
  309. package/src/sap/m/messagebundle_id.properties +16 -24
  310. package/src/sap/m/messagebundle_it.properties +11 -19
  311. package/src/sap/m/messagebundle_iw.properties +8 -16
  312. package/src/sap/m/messagebundle_ja.properties +6 -14
  313. package/src/sap/m/messagebundle_kk.properties +12 -20
  314. package/src/sap/m/messagebundle_ko.properties +6 -14
  315. package/src/sap/m/messagebundle_lt.properties +8 -16
  316. package/src/sap/m/messagebundle_lv.properties +13 -21
  317. package/src/sap/m/messagebundle_mk.properties +10 -18
  318. package/src/sap/m/messagebundle_ms.properties +8 -16
  319. package/src/sap/m/messagebundle_nl.properties +8 -16
  320. package/src/sap/m/messagebundle_no.properties +8 -16
  321. package/src/sap/m/messagebundle_pl.properties +11 -19
  322. package/src/sap/m/messagebundle_pt.properties +8 -16
  323. package/src/sap/m/messagebundle_pt_PT.properties +8 -16
  324. package/src/sap/m/messagebundle_ro.properties +8 -16
  325. package/src/sap/m/messagebundle_ru.properties +10 -18
  326. package/src/sap/m/messagebundle_sh.properties +8 -16
  327. package/src/sap/m/messagebundle_sk.properties +8 -16
  328. package/src/sap/m/messagebundle_sl.properties +15 -23
  329. package/src/sap/m/messagebundle_sr.properties +8 -16
  330. package/src/sap/m/messagebundle_sv.properties +8 -16
  331. package/src/sap/m/messagebundle_th.properties +15 -23
  332. package/src/sap/m/messagebundle_tr.properties +8 -16
  333. package/src/sap/m/messagebundle_uk.properties +8 -16
  334. package/src/sap/m/messagebundle_vi.properties +9 -17
  335. package/src/sap/m/messagebundle_zh_CN.properties +10 -18
  336. package/src/sap/m/messagebundle_zh_TW.properties +11 -19
  337. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  338. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  339. package/src/sap/m/p13n/BasePanel.js +2 -2
  340. package/src/sap/m/p13n/Container.js +1 -1
  341. package/src/sap/m/p13n/Engine.js +2 -2
  342. package/src/sap/m/p13n/FilterController.js +1 -1
  343. package/src/sap/m/p13n/FilterPanel.js +1 -1
  344. package/src/sap/m/p13n/GroupController.js +1 -1
  345. package/src/sap/m/p13n/GroupPanel.js +1 -1
  346. package/src/sap/m/p13n/MessageStrip.js +64 -0
  347. package/src/sap/m/p13n/Popup.js +1 -1
  348. package/src/sap/m/p13n/QueryPanel.js +1 -1
  349. package/src/sap/m/p13n/SelectionController.js +9 -4
  350. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  351. package/src/sap/m/p13n/SortController.js +1 -1
  352. package/src/sap/m/p13n/SortPanel.js +1 -1
  353. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  354. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  355. package/src/sap/m/p13n/modules/UIManager.js +1 -1
  356. package/src/sap/m/p13n/modules/xConfigAPI.js +28 -4
  357. package/src/sap/m/plugins/CellSelector.js +24 -14
  358. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  359. package/src/sap/m/plugins/ContextMenuSetting.js +1 -1
  360. package/src/sap/m/plugins/CopyProvider.js +1 -1
  361. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  362. package/src/sap/m/plugins/PasteProvider.js +1 -1
  363. package/src/sap/m/plugins/PluginBase.js +1 -1
  364. package/src/sap/m/plugins/UploadSetwithTable.js +5 -6
  365. package/src/sap/m/semantic/AddAction.js +1 -1
  366. package/src/sap/m/semantic/CancelAction.js +1 -1
  367. package/src/sap/m/semantic/DeleteAction.js +1 -1
  368. package/src/sap/m/semantic/DetailPage.js +1 -1
  369. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  370. package/src/sap/m/semantic/EditAction.js +1 -1
  371. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  372. package/src/sap/m/semantic/FilterAction.js +1 -1
  373. package/src/sap/m/semantic/FilterSelect.js +1 -1
  374. package/src/sap/m/semantic/FlagAction.js +1 -1
  375. package/src/sap/m/semantic/ForwardAction.js +1 -1
  376. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  377. package/src/sap/m/semantic/GroupAction.js +1 -1
  378. package/src/sap/m/semantic/GroupSelect.js +1 -1
  379. package/src/sap/m/semantic/MainAction.js +1 -1
  380. package/src/sap/m/semantic/MasterPage.js +1 -1
  381. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  382. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  383. package/src/sap/m/semantic/NegativeAction.js +1 -1
  384. package/src/sap/m/semantic/OpenInAction.js +1 -1
  385. package/src/sap/m/semantic/PositiveAction.js +1 -1
  386. package/src/sap/m/semantic/PrintAction.js +1 -1
  387. package/src/sap/m/semantic/SaveAction.js +1 -1
  388. package/src/sap/m/semantic/Segment.js +1 -1
  389. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  390. package/src/sap/m/semantic/SemanticButton.js +1 -1
  391. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  392. package/src/sap/m/semantic/SemanticControl.js +1 -1
  393. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  394. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  395. package/src/sap/m/semantic/SemanticPage.js +1 -1
  396. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  397. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  398. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  399. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  400. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  401. package/src/sap/m/semantic/ShareMenu.js +1 -1
  402. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  403. package/src/sap/m/semantic/SortAction.js +1 -1
  404. package/src/sap/m/semantic/SortSelect.js +1 -1
  405. package/src/sap/m/table/ColumnWidthController.js +1 -1
  406. package/src/sap/m/table/Util.js +6 -42
  407. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  408. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  409. package/src/sap/m/table/columnmenu/Item.js +1 -1
  410. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  411. package/src/sap/m/table/columnmenu/Menu.js +29 -18
  412. package/src/sap/m/table/columnmenu/MenuBase.js +1 -1
  413. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  414. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  415. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  416. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  417. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  418. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  419. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  420. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  421. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  422. package/src/sap/m/themes/base/ActionSelect.less +2 -2
  423. package/src/sap/m/themes/base/ActionSheet.less +11 -7
  424. package/src/sap/m/themes/base/ActionTile.less +377 -307
  425. package/src/sap/m/themes/base/ActionTileContent.less +4 -1
  426. package/src/sap/m/themes/base/Avatar.less +62 -60
  427. package/src/sap/m/themes/base/Bar.less +17 -12
  428. package/src/sap/m/themes/base/Breadcrumbs.less +15 -12
  429. package/src/sap/m/themes/base/BusyIndicator.less +17 -6
  430. package/src/sap/m/themes/base/Button.less +242 -213
  431. package/src/sap/m/themes/base/Carousel.less +84 -57
  432. package/src/sap/m/themes/base/CellSelector.less +33 -33
  433. package/src/sap/m/themes/base/ColorPalette.less +81 -44
  434. package/src/sap/m/themes/base/ComboBox.less +1 -1
  435. package/src/sap/m/themes/base/ComboBoxBase.less +6 -6
  436. package/src/sap/m/themes/base/DateTimePicker.less +20 -12
  437. package/src/sap/m/themes/base/Dialog.less +74 -44
  438. package/src/sap/m/themes/base/DynamicDateRange.less +10 -4
  439. package/src/sap/m/themes/base/ExpandableText.less +7 -5
  440. package/src/sap/m/themes/base/FacetFilter.less +13 -10
  441. package/src/sap/m/themes/base/FacetFilterItem.less +5 -13
  442. package/src/sap/m/themes/base/FacetFilterList.less +7 -10
  443. package/src/sap/m/themes/base/FeedContent.less +1 -1
  444. package/src/sap/m/themes/base/FeedListItem.less +6 -8
  445. package/src/sap/m/themes/base/FlexBox.less +33 -8
  446. package/src/sap/m/themes/base/FormattedText.less +4 -4
  447. package/src/sap/m/themes/base/GenericTile.less +49 -15
  448. package/src/sap/m/themes/base/HeaderContainer.less +1 -1
  449. package/src/sap/m/themes/base/IconTabBar.less +10 -2
  450. package/src/sap/m/themes/base/ImageContent.less +2 -2
  451. package/src/sap/m/themes/base/Link.less +27 -4
  452. package/src/sap/m/themes/base/ListBase.less +11 -7
  453. package/src/sap/m/themes/base/MessageView.less +4 -4
  454. package/src/sap/m/themes/base/MultiUnitPopover.less +0 -9
  455. package/src/sap/m/themes/base/NewsContent.less +5 -0
  456. package/src/sap/m/themes/base/NumericContent.less +1 -21
  457. package/src/sap/m/themes/base/ObjectStatus.less +6 -0
  458. package/src/sap/m/themes/base/Popover.less +23 -10
  459. package/src/sap/m/themes/base/QuickView.less +9 -5
  460. package/src/sap/m/themes/base/RatingIndicator.less +30 -38
  461. package/src/sap/m/themes/base/SinglePlanningCalendar.less +1 -1
  462. package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +4 -0
  463. package/src/sap/m/themes/base/SlideTile.less +246 -13
  464. package/src/sap/m/themes/base/Table.less +50 -12
  465. package/src/sap/m/themes/base/TileContent.less +34 -7
  466. package/src/sap/m/themes/base/Token.less +10 -7
  467. package/src/sap/m/themes/base/Toolbar.less +3 -2
  468. package/src/sap/m/themes/base/UploadSet.less +0 -4
  469. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-BalloonSky.svg +44 -32
  470. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +76 -73
  471. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-FilterTable.svg +64 -40
  472. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoTasks_v1.svg +61 -52
  473. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-PageNotFound.svg +23 -24
  474. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-ReloadScreen.svg +47 -33
  475. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SearchFolder.svg +36 -26
  476. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +21 -42
  477. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessScreen.svg +46 -31
  478. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UploadCollection.svg +26 -28
  479. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-BalloonSky.svg +52 -41
  480. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +89 -86
  481. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-FilterTable.svg +61 -55
  482. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoTasks_v1.svg +85 -89
  483. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-PageNotFound.svg +28 -32
  484. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-ReloadScreen.svg +61 -79
  485. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SearchFolder.svg +43 -35
  486. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +22 -24
  487. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessScreen.svg +60 -77
  488. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UploadCollection.svg +28 -29
  489. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-BalloonSky.svg +42 -28
  490. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +45 -42
  491. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-FilterTable.svg +55 -41
  492. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-GroupTable.svg +84 -65
  493. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoTasks_v1.svg +21 -14
  494. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-PageNotFound.svg +19 -26
  495. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ReloadScreen.svg +34 -30
  496. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-ResizeColumn.svg +44 -36
  497. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SearchFolder.svg +36 -24
  498. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +20 -27
  499. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessScreen.svg +33 -30
  500. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UploadCollection.svg +29 -27
  501. package/src/sap/m/themes/sap_hcb/base_Dialog.less +1 -7
  502. package/src/sap/m/themes/sap_hcb/base_FeedListItem.less +0 -7
  503. package/src/sap/m/themes/sap_hcb/base_HeaderContainer.less +0 -5
  504. package/src/sap/m/themes/sap_hcb/base_ImageContent.less +0 -7
  505. package/src/sap/m/themes/sap_hcb/base_MultiUnitPopover.less +0 -9
  506. package/src/sap/m/themes/sap_hcb/base_NumericContent.less +1 -21
  507. package/src/sap/m/themes/sap_hcb/base_Token.less +4 -4
  508. package/src/sap/m/themes/sap_hcb/library.source.less +0 -1
  509. package/src/sap/m/upload/ActionsPlaceholder.js +3 -4
  510. package/src/sap/m/upload/Column.js +1 -1
  511. package/src/sap/m/upload/FilePreviewDialog.js +1 -1
  512. package/src/sap/m/upload/UploadItem.js +1 -2
  513. package/src/sap/m/upload/UploadItemConfiguration.js +1 -2
  514. package/src/sap/m/upload/UploadSet.js +39 -19
  515. package/src/sap/m/upload/UploadSetItem.js +4 -3
  516. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +2 -1
  517. package/src/sap/m/upload/UploadSetwithTable.js +1 -1
  518. package/src/sap/m/upload/UploadSetwithTableItem.js +1 -1
  519. package/src/sap/m/upload/Uploader.js +1 -0
  520. package/src/sap/m/upload/UploaderTableItem.js +1 -2
  521. package/src/sap/m/upload/p13n/PersManager.js +1 -1
  522. package/src/sap/m/upload/p13n/mediator/BaseMediator.js +1 -1
  523. package/src/sap/m/upload/p13n/mediator/ColumnsMediator.js +1 -1
  524. package/src/sap/m/upload/p13n/mediator/FilterMediator.js +1 -1
  525. package/src/sap/m/upload/p13n/mediator/GroupMediator.js +1 -1
  526. package/src/sap/m/upload/p13n/mediator/SortMediator.js +1 -1
  527. package/src/sap/m/upload/p13n/modules/PersPopupManager.js +1 -1
  528. package/src/sap/m/themes/sap_hcb/NewsContent.less +0 -8
@@ -88,7 +88,7 @@ sap.ui.define([
88
88
  * @extends sap.ui.core.Control
89
89
  *
90
90
  * @author SAP SE
91
- * @version 1.127.1
91
+ * @version 1.129.0
92
92
  *
93
93
  * @constructor
94
94
  * @public
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @extends sap.ui.core.Control
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.127.1
44
+ * @version 1.129.0
45
45
  *
46
46
  * @constructor
47
47
  * @public
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  * @borrows sap.ui.core.IFormContent.getFormDoNotAdjustWidth as #getFormDoNotAdjustWidth
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.127.1
65
+ * @version 1.129.0
66
66
  *
67
67
  * @public
68
68
  * @alias sap.m.Image
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.core.Control
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.127.1
36
+ * @version 1.129.0
37
37
  * @since 1.38
38
38
  *
39
39
  * @public
@@ -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.127.1
165
+ * @version 1.129.0
166
166
  *
167
167
  * @constructor
168
168
  * @public
@@ -172,8 +172,7 @@ function(
172
172
  var Input = InputBase.extend("sap.m.Input", /** @lends sap.m.Input.prototype */ {
173
173
  metadata : {
174
174
  interfaces : [
175
- "sap.ui.core.IAccessKeySupport",
176
- "sap.m.IToolbarInteractiveControl"
175
+ "sap.ui.core.IAccessKeySupport"
177
176
  ],
178
177
  library : "sap.m",
179
178
  properties : {
@@ -3596,19 +3595,6 @@ function(
3596
3595
  return this._sProposedItemText;
3597
3596
  };
3598
3597
 
3599
- /**
3600
- * Required by the {@link sap.m.IToolbarInteractiveControl} interface.
3601
- * Determines if the Control is interactive.
3602
- *
3603
- * @returns {boolean} If it is an interactive Control
3604
- *
3605
- * @private
3606
- * @ui5-restricted sap.m.OverflowToolBar, sap.m.Toolbar
3607
- */
3608
- Input.prototype._getToolbarInteractive = function () {
3609
- return true;
3610
- };
3611
-
3612
3598
  // support for SemanticFormElement
3613
3599
  Input.prototype.getFormFormattedValue = function() {
3614
3600
  var sValue = this.getValue();
@@ -3625,7 +3611,6 @@ function(
3625
3611
  return ["value", "description"];
3626
3612
  };
3627
3613
 
3628
-
3629
3614
  /**
3630
3615
  * Check if the current value is matching with a suggestion item.
3631
3616
  *
@@ -73,7 +73,7 @@ function(
73
73
  * @borrows sap.ui.core.ISemanticFormContent.getFormRenderAsControl as #getFormRenderAsControl
74
74
  *
75
75
  * @author SAP SE
76
- * @version 1.127.1
76
+ * @version 1.129.0
77
77
  *
78
78
  * @constructor
79
79
  * @public
@@ -85,7 +85,8 @@ function(
85
85
 
86
86
  interfaces : [
87
87
  "sap.ui.core.IFormContent",
88
- "sap.ui.core.ISemanticFormContent"
88
+ "sap.ui.core.ISemanticFormContent",
89
+ "sap.m.IToolbarInteractiveControl"
89
90
  ],
90
91
  library: "sap.m",
91
92
  properties: {
@@ -1344,6 +1345,19 @@ function(
1344
1345
  return false;
1345
1346
  };
1346
1347
 
1348
+ /**
1349
+ * Required by the {@link sap.m.IToolbarInteractiveControl} interface.
1350
+ * Determines if the Control is interactive.
1351
+ *
1352
+ * @returns {boolean} If it is an interactive Control
1353
+ *
1354
+ * @private
1355
+ * @ui5-restricted sap.m.OverflowToolBar, sap.m.Toolbar
1356
+ */
1357
+ InputBase.prototype._getToolbarInteractive = function () {
1358
+ return true;
1359
+ };
1360
+
1347
1361
  return InputBase;
1348
1362
 
1349
1363
  });
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.127.1
33
+ * @version 1.129.0
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
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.127.1
81
+ * @version 1.129.0
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.127.1
99
+ * @version 1.129.0
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.127.1
46
+ * @version 1.129.0
47
47
  *
48
48
  * @constructor
49
49
  * @public
package/src/sap/m/Link.js CHANGED
@@ -14,11 +14,14 @@ sap.ui.define([
14
14
  "sap/ui/core/AccessKeysEnablement",
15
15
  "sap/ui/core/LabelEnablement",
16
16
  "sap/ui/core/Lib",
17
+ "sap/ui/core/Icon",
18
+ "sap/ui/core/IconPool",
17
19
  "sap/ui/core/library",
18
20
  "sap/ui/Device",
19
21
  "./LinkRenderer",
20
22
  "sap/ui/events/KeyCodes",
21
- "sap/base/security/URLListValidator"
23
+ "sap/base/security/URLListValidator",
24
+ "sap/base/Log"
22
25
  ],
23
26
  function(
24
27
  library,
@@ -29,11 +32,14 @@ function(
29
32
  AccessKeysEnablement,
30
33
  LabelEnablement,
31
34
  Library,
35
+ Icon,
36
+ IconPool,
32
37
  coreLibrary,
33
38
  Device,
34
39
  LinkRenderer,
35
40
  KeyCodes,
36
- URLListValidator
41
+ URLListValidator,
42
+ Log
37
43
  ) {
38
44
  "use strict";
39
45
 
@@ -93,7 +99,7 @@ function(
93
99
  * @borrows sap.ui.core.ISemanticFormContent.getFormRenderAsControl as #getFormRenderAsControl
94
100
  *
95
101
  * @author SAP SE
96
- * @version 1.127.1
102
+ * @version 1.129.0
97
103
  *
98
104
  * @constructor
99
105
  * @public
@@ -120,6 +126,26 @@ function(
120
126
  */
121
127
  text : {type : "string", group : "Data", defaultValue : ''},
122
128
 
129
+ /**
130
+ * Defines the icon to be displayed as graphical element in the beginning of the <code>Link</code>.
131
+ * It can be an icon from the icon font.
132
+ * <b>Note:</b> Usage of icon-only link is not supported, the link must always have a text.
133
+ * <b>Note:</b> We recommend using аn icon in the beginning or the end only, and always with text.
134
+ * <b>Note:</b> Using an image instead of icon is not supported.
135
+ * @since 1.128.0
136
+ */
137
+ icon : {type : "sap.ui.core.URI", group : "Appearance", defaultValue: "" },
138
+
139
+ /**
140
+ * Defines the icon to be displayed as graphical element in the end of the <code>Link</code>.
141
+ * It can be an icon from the icon font.
142
+ * <b>Note:</b> Usage of icon-only link is not supported, the link must always have a text.
143
+ * <b>Note:</b> We recommend using аn icon in the beginning or the end only, and always with text.
144
+ * <b>Note:</b> Using an image instead of icon is not supported.
145
+ * @since 1.128.0
146
+ */
147
+ endIcon : {type : "sap.ui.core.URI", group : "Appearance", defaultValue: "" },
148
+
123
149
  /**
124
150
  * Determines whether the link can be triggered by the user.
125
151
  */
@@ -243,6 +269,21 @@ function(
243
269
  */
244
270
  accesskey: { type: "string", defaultValue: "", visibility: "hidden" }
245
271
  },
272
+ aggregations: {
273
+
274
+ /**
275
+ * The icon control to be displayed as graphical element in the beginning of the <code>Link</code>.
276
+ * @since 1.128.0
277
+ */
278
+ _icon: {type: "sap.ui.core.Icon", multiple: false, visibility: "hidden"},
279
+
280
+ /**
281
+ * The icon control to be displayed as graphical element at the end of the <code>Link</code>.
282
+ * @since 1.128.0
283
+ */
284
+ _endIcon: {type: "sap.ui.core.Icon", multiple: false, visibility: "hidden"}
285
+
286
+ },
246
287
  associations : {
247
288
 
248
289
  /**
@@ -315,25 +356,45 @@ function(
315
356
 
316
357
  Link.prototype.onAfterRendering = function() {
317
358
  if (Device.system.phone || Device.system.tablet) {
318
- var oAnchorElement = this.getDomRef();
359
+ var oAnchorElement = this.getDomRef(),
360
+ sEventID = Device.browser.safari ? "touchstart" : "click";
361
+
319
362
  // TODO: Adjust sap.m.internal.ObjectMarkerCustomLink rendering part of the sap.m.ObjectMarker implementation
320
363
  if (!oAnchorElement) {
321
364
  return;
322
365
  }
323
- oAnchorElement.removeEventListener("click", this._onClick);
324
- if (oAnchorElement.getAttribute("href") == "#") {
325
- oAnchorElement.addEventListener("click", this._onClick);
366
+
367
+ oAnchorElement.removeEventListener(sEventID, this._onClick);
368
+
369
+ if (oAnchorElement.getAttribute("href") === "#") {
370
+ oAnchorElement.addEventListener(sEventID, this._onClick);
326
371
  }
327
372
  }
328
373
  };
329
374
 
330
375
  Link.prototype.exit = function() {
376
+ var oIcon = this.getAggregation("_icon"),
377
+ oEndIcon = this.getAggregation("_endIcon");
378
+
331
379
  if (Device.system.phone || Device.system.tablet) {
332
- var oAnchorElement = this.getDomRef();
380
+ var oAnchorElement = this.getDomRef(),
381
+ sEventID = Device.browser.safari ? "touchstart" : "click";
382
+
333
383
  if (!oAnchorElement) {
334
384
  return;
335
385
  }
336
- oAnchorElement.removeEventListener("click", this._onClick);
386
+
387
+ oAnchorElement.removeEventListener(sEventID, this._onClick);
388
+ }
389
+
390
+ if (oIcon) {
391
+ oIcon.destroy();
392
+ oIcon = null;
393
+ }
394
+
395
+ if (oEndIcon) {
396
+ oEndIcon.destroy();
397
+ oEndIcon = null;
337
398
  }
338
399
  };
339
400
 
@@ -399,7 +460,6 @@ function(
399
460
  }
400
461
  };
401
462
 
402
-
403
463
  /**
404
464
  * Handler for the <code>press</code> event of the link.
405
465
  *
@@ -414,7 +474,7 @@ function(
414
474
  // mark the event for components that needs to know if the event was handled by the link
415
475
  oEvent.setMarked();
416
476
 
417
- bEmptyHref = oTarget.classList.contains("sapMLnk") && oTarget.getAttribute("href") == "#";
477
+ bEmptyHref = (oTarget.classList.contains("sapMLnk") || oTarget.parentElement.classList.contains("sapMLnk")) && (oTarget.getAttribute("href") == "#" || oTarget.parentElement.getAttribute("href") == "#");
418
478
  if (!this.firePress({ctrlKey: !!oEvent.ctrlKey, metaKey: !!oEvent.metaKey}) || bEmptyHref) { // fire event and check return value whether default action should be prevented
419
479
  oEvent.preventDefault();
420
480
  }
@@ -467,6 +527,32 @@ function(
467
527
  return this;
468
528
  };
469
529
 
530
+ Link.prototype.setIcon = function(sSrc) {
531
+ if (!IconPool.isIconURI(sSrc)) {
532
+ Log.error("setIcon: The provided URI ' + sSrc + ' is is not a valid Icon URI!");
533
+ } else {
534
+ var oIcon = this._getIcon();
535
+
536
+ oIcon.setSrc(sSrc);
537
+ this.setProperty("icon", sSrc);
538
+ }
539
+
540
+ return this;
541
+ };
542
+
543
+ Link.prototype.setEndIcon = function(sSrc) {
544
+ if (!IconPool.isIconURI(sSrc)) {
545
+ Log.error("setEndIcon: The provided URI ' + sSrc + ' is is not a valid Icon URI!");
546
+ } else {
547
+ var oIcon = this._getEndIcon();
548
+
549
+ oIcon.setSrc(sSrc);
550
+ this.setProperty("endIcon", sSrc);
551
+ }
552
+
553
+ return this;
554
+ };
555
+
470
556
  /*************************************** Static members ******************************************/
471
557
 
472
558
  /**
@@ -591,6 +677,42 @@ function(
591
677
  return true;
592
678
  };
593
679
 
680
+ /**
681
+ * Returns the icon control instance of the icon displayed in the beginning of the link. If it is not yet created, it will be created.
682
+ * @private
683
+ * @returns {sap.ui.core.Icon} icon control instance of the icon displayed in the beginning of the link
684
+ */
685
+ Link.prototype._getIcon = function () {
686
+ var oIcon = this.getAggregation("_icon");
687
+
688
+ if (!oIcon) {
689
+ oIcon = new Icon(this.getId() + "-icon", {
690
+ useIconTooltip: false
691
+ }).addStyleClass("sapMLnkIcon");
692
+ this.setAggregation("_icon", oIcon);
693
+ }
694
+
695
+ return oIcon;
696
+ };
697
+
698
+ /**
699
+ * Returns the icon control instance of the icon displayed at the end of the link. If it is not yet created, it will be created.
700
+ * @private
701
+ * @returns {sap.ui.core.Icon} icon control instance of the icon displayed at the end of the link
702
+ */
703
+ Link.prototype._getEndIcon = function () {
704
+ var oIcon = this.getAggregation("_endIcon");
705
+
706
+ if (!oIcon) {
707
+ oIcon = new Icon(this.getId() + "-endIcon", {
708
+ useIconTooltip: false
709
+ }).addStyleClass("sapMLnkEndIcon");
710
+ this.setAggregation("_endIcon", oIcon);
711
+ }
712
+
713
+ return oIcon;
714
+ };
715
+
594
716
  return Link;
595
717
 
596
718
  });
@@ -59,6 +59,7 @@
59
59
  },
60
60
  bEnabled = oControl.getEnabled(),
61
61
  sTypeSemanticInfo = "",
62
+ sText = oControl.getText(),
62
63
  sAcccessKey = oControl.getProperty("accesskey");
63
64
 
64
65
  // Link is rendered as a "<a>" element
@@ -143,12 +144,29 @@
143
144
  // opening <a> tag
144
145
  oRm.openEnd();
145
146
 
147
+ // Render icon only if there is text
148
+ if (sText && oControl.getIcon()) {
149
+ oRm.renderControl(oControl._getIcon());
150
+ }
151
+
152
+ // Text is rendered in "<span>" element to apply ellipsis only on the text
153
+ oRm.openStart("span");
154
+ oRm.class("sapMLnkText");
155
+ oRm.openEnd();
156
+
146
157
  if (this.writeText) {
147
158
  this.writeText(oRm, oControl);
148
159
  } else {
149
160
  this.renderText(oRm, oControl);
150
161
  }
151
162
 
163
+ oRm.close("span");
164
+
165
+ // Render end icon only if there is text
166
+ if (sText && oControl.getEndIcon()) {
167
+ oRm.renderControl(oControl._getEndIcon());
168
+ }
169
+
152
170
  oRm.close("a");
153
171
  };
154
172
 
@@ -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.127.1
21
+ * @version 1.129.0
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.127.1
33
+ * @version 1.129.0
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.127.1
106
+ * @version 1.129.0
107
107
  *
108
108
  * @constructor
109
109
  * @public
@@ -251,7 +251,7 @@ function(
251
251
  /**
252
252
  * If set to true, this control remembers and retains the selection of the items after a binding update has been performed (e.g. sorting, filtering).
253
253
  * <b>Note:</b> This feature works only if two-way data binding for the <code>selected</code> property of the item is not used. It also needs to be turned off if the binding context of the item does not always point to the same entry in the model, for example, if the order of the data in the <code>JSONModel</code> is changed.
254
- * <b>Note:</b> This feature leverages the built-in selection mechanism of the corresponding binding context when the OData V4 model is used. Therefore, all binding-relevant limitations apply in this context as well. For more details, see the {@link sap.ui.model.odata.v4.Context#setSelected setSelected}, the {@link sap.ui.model.odata.v4.ODataModel#bindList bindList}, and the {@link sap.ui.model.odata.v4.ODataMetaModel#requestValueListInfo requestValueListInfo} API documentation. Do not enable this feature when <code>$$SharedRequests</code> is active.
254
+ * <b>Note:</b> This feature leverages the built-in selection mechanism of the corresponding binding context when the OData V4 model is used. Therefore, all binding-relevant limitations apply in this context as well. For more details, see the {@link sap.ui.model.odata.v4.Context#setSelected setSelected}, the {@link sap.ui.model.odata.v4.ODataModel#bindList bindList}, and the {@link sap.ui.model.odata.v4.ODataMetaModel#requestValueListInfo requestValueListInfo} API documentation. Do not enable this feature when <code>$$SharedRequests</code> or <code>$$clearSelectionOnFilter</code> is active.
255
255
  * @since 1.16.6
256
256
  */
257
257
  rememberSelections : {type : "boolean", group : "Behavior", defaultValue : true},
@@ -759,6 +759,10 @@ function(
759
759
  }
760
760
 
761
761
  Control.prototype._bindAggregation.call(this, sName, oBindingInfo);
762
+
763
+ if (sName === "items" && this.getModel(oBindingInfo.model).isA("sap.ui.model.odata.v4.ODataModel")) {
764
+ this.getBinding("items").attachEvent("selectionChanged", onBindingSelectionChanged, this);
765
+ }
762
766
  };
763
767
 
764
768
  ListBase.prototype._onBindingDataRequestedListener = function(oEvent) {
@@ -791,6 +795,44 @@ function(
791
795
  }
792
796
  };
793
797
 
798
+ async function onBindingSelectionChanged(oEvent) {
799
+ const oContext = oEvent.getParameter("context");
800
+
801
+ if (!this._bSelectionMode) {
802
+ return;
803
+ }
804
+
805
+ if (oContext.getBinding().getHeaderContext() === oContext) {
806
+ if (oContext.isSelected()) {
807
+ Log.warning("Selecting the header context does not affect the list selection", this);
808
+ } else {
809
+ this.removeSelections(true, true);
810
+ }
811
+ return;
812
+ }
813
+
814
+ const sModelName = this.getBindingInfo("items").model;
815
+ const oItem = this.getItems().find((oItem) => oItem.getBindingContext(sModelName) === oContext);
816
+
817
+ if (!oItem) {
818
+ Log.warning("Selecting a context that is not related to a visible item does not affect the list selection", this);
819
+ return;
820
+ }
821
+
822
+ await Promise.resolve(); // ListItemBase first needs to update its selected property, otherwise the selectionChange event is fired too often.
823
+
824
+ const bContextIsSelected = oContext.isSelected();
825
+ this.setSelectedItem(oItem, bContextIsSelected, bContextIsSelected !== oItem.getSelected());
826
+
827
+ if (bContextIsSelected && this.getMode().includes("SingleSelect")) {
828
+ oContext.getBinding().getAllCurrentContexts().forEach((oCurrentContext) => {
829
+ if (oCurrentContext !== oContext) {
830
+ oCurrentContext.setSelected(false);
831
+ }
832
+ });
833
+ }
834
+ }
835
+
794
836
  ListBase.prototype.destroyItems = function(bSuppressInvalidate) {
795
837
  // check whether we have items to destroy or not
796
838
  if (!this.getItems(true).length) {
@@ -2705,14 +2747,19 @@ function(
2705
2747
  return this;
2706
2748
  };
2707
2749
 
2708
- // Returns the sticky value to be added to the sticky table container.
2709
- // sapMSticky7 is the result of sticky headerToolbar, infoToolbar and column headers.
2710
- // sapMSticky6 is the result of sticky infoToolbar and column headers.
2711
- // sapMSticky5 is the result of sticky headerToolbar and column headers.
2712
- // sapMSticky4 is the result of sticky column headers only.
2713
- // sapMSticky3 is the result of sticky headerToolbar and infoToolbar.
2714
- // sapMSticky2 is the result of sticky infoToolbar.
2715
- // sapMSticky1 is the result of sticky headerToolbar.
2750
+ /**
2751
+ * Returns the sticky value that is added to the sticky table container.
2752
+ *
2753
+ * Numeric values for each possible sticky element:
2754
+ * 1 - <code>headerToolbar</code>
2755
+ * 2 - <code>infoToolbar</code>
2756
+ * 4 - <code>columnHeaders</code>
2757
+ * 8 - <code>groupHeaders</code>
2758
+ *
2759
+ * The sticky value is created by adding up the values of the individual elements.
2760
+ * For example, sapMSticky15 (1 + 2 + 4 + 8) corresponds to sticky <code>headerToolbar</code>, <code>infoToolbar</code>, <code>columnHeaders</code>, and <code>groupHeaders</code>.
2761
+ * @returns {number} The sticky value
2762
+ */
2716
2763
  ListBase.prototype.getStickyStyleValue = function() {
2717
2764
  var aSticky = this.getSticky();
2718
2765
  if (!aSticky || !aSticky.length) {
@@ -2726,7 +2773,8 @@ function(
2726
2773
  bHeaderToolbarVisible = sHeaderText || (oHeaderToolbar && oHeaderToolbar.getVisible()),
2727
2774
  oInfoToolbar = this.getInfoToolbar(),
2728
2775
  bInfoToolbar = oInfoToolbar && oInfoToolbar.getVisible(),
2729
- bColumnHeadersVisible = false;
2776
+ bColumnHeadersVisible = false,
2777
+ bGroupHeaders = false;
2730
2778
 
2731
2779
  if (this.isA("sap.m.Table")) {
2732
2780
  bColumnHeadersVisible = this.getColumns().some(function(oColumn) {
@@ -2734,6 +2782,10 @@ function(
2734
2782
  });
2735
2783
  }
2736
2784
 
2785
+ bGroupHeaders = this.getItems(true).some((oItem) => {
2786
+ return oItem.isGroupHeader();
2787
+ });
2788
+
2737
2789
  aSticky.forEach(function(sSticky) {
2738
2790
  if (sSticky === Sticky.HeaderToolbar && bHeaderToolbarVisible) {
2739
2791
  iStickyValue += 1;
@@ -2741,6 +2793,8 @@ function(
2741
2793
  iStickyValue += 2;
2742
2794
  } else if (sSticky === Sticky.ColumnHeaders && bColumnHeadersVisible) {
2743
2795
  iStickyValue += 4;
2796
+ } else if (sSticky === Sticky.GroupHeaders && bGroupHeaders) {
2797
+ iStickyValue += 8;
2744
2798
  }
2745
2799
  });
2746
2800
 
@@ -2759,8 +2813,10 @@ function(
2759
2813
  return;
2760
2814
  }
2761
2815
 
2762
- // check the all the sticky element and get their height
2763
- var iTHRectHeight = 0,
2816
+ // check the all the sticky elements and get their height
2817
+ var iGHRectHeight = 0,
2818
+ iGHRectBottom = 0,
2819
+ iTHRectHeight = 0,
2764
2820
  iTHRectBottom = 0,
2765
2821
  iInfoTBarContainerRectHeight = 0,
2766
2822
  iInfoTBarContainerRectBottom = 0,
@@ -2768,6 +2824,15 @@ function(
2768
2824
  iHeaderToolbarRectBottom = 0,
2769
2825
  iStickyFocusOffset = this.getStickyFocusOffset();
2770
2826
 
2827
+ if (this._iStickyValue & 8 /* GroupHeaders */) {
2828
+ var oGroupHeaderDomRef = this.getItems(true).find((oItem) => {
2829
+ return oItem.isGroupHeader();
2830
+ }).getDomRef();
2831
+ var oGroupHeaderRect = oGroupHeaderDomRef.getBoundingClientRect();
2832
+ iGHRectBottom = parseInt(oGroupHeaderRect.bottom);
2833
+ iGHRectHeight = parseInt(oGroupHeaderRect.height);
2834
+ }
2835
+
2771
2836
  if (this._iStickyValue & 4 /* ColumnHeaders */) {
2772
2837
  var oTblHeaderDomRef = this.getDomRef("tblHeader").firstChild;
2773
2838
  var oTblHeaderRect = oTblHeaderDomRef.getBoundingClientRect();
@@ -2795,9 +2860,9 @@ function(
2795
2860
  }
2796
2861
 
2797
2862
  var iItemTop = Math.round(oTargetItemDomRef.getBoundingClientRect().top);
2798
- if (iTHRectBottom > iItemTop || iInfoTBarContainerRectBottom > iItemTop || iHeaderToolbarRectBottom > iItemTop) {
2863
+ if (iGHRectBottom > iItemTop || iTHRectBottom > iItemTop || iInfoTBarContainerRectBottom > iItemTop || iHeaderToolbarRectBottom > iItemTop) {
2799
2864
  window.requestAnimationFrame(function () {
2800
- oScrollDelegate.scrollToElement(oTargetItemDomRef, 0, [0, -iTHRectHeight - iInfoTBarContainerRectHeight - iHeaderToolbarRectHeight - iStickyFocusOffset], true);
2865
+ oScrollDelegate.scrollToElement(oTargetItemDomRef, 0, [0, -iGHRectHeight - iTHRectHeight - iInfoTBarContainerRectHeight - iHeaderToolbarRectHeight - iStickyFocusOffset], true);
2801
2866
  });
2802
2867
  }
2803
2868
  };
@@ -2956,6 +3021,12 @@ function(
2956
3021
  case Sticky.ColumnHeaders:
2957
3022
  oDomRef = this.getDomRef("tblHeader");
2958
3023
  break;
3024
+ case Sticky.GroupHeaders:
3025
+ //get domRef which is in view currently (Multiple groupHeaders)
3026
+ oDomRef = this.getItems(true).find((oItem) => {
3027
+ return oItem.isGroupHeader();
3028
+ }).getDomRef();
3029
+ break;
2959
3030
  default:
2960
3031
  }
2961
3032
 
@@ -72,7 +72,7 @@ function(
72
72
  * @extends sap.ui.core.Control
73
73
  *
74
74
  * @author SAP SE
75
- * @version 1.127.1
75
+ * @version 1.129.0
76
76
  *
77
77
  * @constructor
78
78
  * @public
@@ -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.127.1
31
+ * @version 1.129.0
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.127.1
32
+ * @version 1.129.0
33
33
  *
34
34
  * @constructor
35
35
  * @public
@@ -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.127.1
23
+ * @version 1.129.0
24
24
  * @public
25
25
  * @constructor
26
26
  * @since 1.34.0