@openui5/sap.m 1.94.0 → 1.97.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 (520) hide show
  1. package/.reuse/dep5 +12 -12
  2. package/THIRDPARTY.txt +21 -17
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +1 -1
  7. package/src/sap/m/ActionSelect.js +1 -1
  8. package/src/sap/m/ActionSheet.js +1 -1
  9. package/src/sap/m/App.js +1 -1
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +10 -2
  12. package/src/sap/m/AvatarRenderer.js +3 -0
  13. package/src/sap/m/Bar.js +13 -7
  14. package/src/sap/m/Breadcrumbs.js +2 -2
  15. package/src/sap/m/BusyDialog.js +1 -1
  16. package/src/sap/m/BusyIndicator.js +1 -1
  17. package/src/sap/m/Button.js +34 -1
  18. package/src/sap/m/Carousel.js +11 -3
  19. package/src/sap/m/CarouselLayout.js +1 -1
  20. package/src/sap/m/CheckBox.js +1 -1
  21. package/src/sap/m/ColorPalette.js +7 -11
  22. package/src/sap/m/ColorPalettePopover.js +1 -6
  23. package/src/sap/m/Column.js +6 -1
  24. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  25. package/src/sap/m/ColumnListItem.js +1 -1
  26. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  27. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  31. package/src/sap/m/ComboBox.js +39 -6
  32. package/src/sap/m/ComboBoxBase.js +125 -16
  33. package/src/sap/m/ComboBoxRenderer.js +25 -9
  34. package/src/sap/m/ComboBoxTextField.js +21 -7
  35. package/src/sap/m/CustomDynamicDateOption.js +9 -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 +72 -18
  40. package/src/sap/m/DatePickerRenderer.js +14 -1
  41. package/src/sap/m/DateRangeSelection.js +6 -9
  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 +53 -60
  45. package/src/sap/m/Dialog.js +35 -49
  46. package/src/sap/m/DialogRenderer.js +1 -1
  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/DynamicDateFormat.js +5 -5
  51. package/src/sap/m/DynamicDateOption.js +3 -2
  52. package/src/sap/m/DynamicDateRange.js +20 -8
  53. package/src/sap/m/DynamicDateUtil.js +14 -9
  54. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  55. package/src/sap/m/ExpandableText.js +1 -1
  56. package/src/sap/m/FacetFilter.js +1 -1
  57. package/src/sap/m/FacetFilterItem.js +1 -1
  58. package/src/sap/m/FacetFilterList.js +1 -1
  59. package/src/sap/m/FeedContent.js +1 -1
  60. package/src/sap/m/FeedInput.js +1 -1
  61. package/src/sap/m/FeedListItem.js +1 -1
  62. package/src/sap/m/FeedListItemAction.js +1 -1
  63. package/src/sap/m/Fiori20Adapter.js +2 -2
  64. package/src/sap/m/FlexBox.js +1 -1
  65. package/src/sap/m/FlexItemData.js +1 -1
  66. package/src/sap/m/FormattedText.js +1 -1
  67. package/src/sap/m/GenericTag.js +8 -1
  68. package/src/sap/m/GenericTagRenderer.js +1 -1
  69. package/src/sap/m/GenericTile.js +236 -56
  70. package/src/sap/m/GenericTileRenderer.js +229 -84
  71. package/src/sap/m/GroupHeaderListItem.js +1 -1
  72. package/src/sap/m/GrowingList.js +1 -1
  73. package/src/sap/m/HBox.js +1 -1
  74. package/src/sap/m/HeaderContainer.js +1 -1
  75. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  76. package/src/sap/m/IconTabBar.js +8 -1
  77. package/src/sap/m/IconTabBarSelectList.js +1 -1
  78. package/src/sap/m/IconTabFilter.js +2 -2
  79. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  80. package/src/sap/m/IconTabHeader.js +25 -6
  81. package/src/sap/m/IconTabSeparator.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 +67 -16
  85. package/src/sap/m/InputBase.js +96 -14
  86. package/src/sap/m/InputBaseRenderer.js +8 -20
  87. package/src/sap/m/InputListItem.js +1 -1
  88. package/src/sap/m/Label.js +1 -1
  89. package/src/sap/m/LightBox.js +1 -1
  90. package/src/sap/m/LightBoxItem.js +1 -1
  91. package/src/sap/m/Link.js +1 -1
  92. package/src/sap/m/List.js +1 -1
  93. package/src/sap/m/ListBase.js +2 -2
  94. package/src/sap/m/ListItemBase.js +12 -4
  95. package/src/sap/m/MaskEnabler.js +106 -4
  96. package/src/sap/m/MaskInput.js +19 -4
  97. package/src/sap/m/MaskInputRule.js +1 -1
  98. package/src/sap/m/Menu.js +8 -6
  99. package/src/sap/m/MenuButton.js +7 -1
  100. package/src/sap/m/MenuButtonRenderer.js +1 -0
  101. package/src/sap/m/MenuItem.js +1 -1
  102. package/src/sap/m/MenuListItem.js +1 -1
  103. package/src/sap/m/MessageItem.js +1 -16
  104. package/src/sap/m/MessageListItem.js +1 -1
  105. package/src/sap/m/MessagePage.js +35 -6
  106. package/src/sap/m/MessagePopover.js +1 -4
  107. package/src/sap/m/MessagePopoverItem.js +1 -1
  108. package/src/sap/m/MessageStrip.js +7 -3
  109. package/src/sap/m/MessageStripRenderer.js +2 -2
  110. package/src/sap/m/MessageToast.js +1 -1
  111. package/src/sap/m/MessageView.js +16 -27
  112. package/src/sap/m/MultiComboBox.js +412 -150
  113. package/src/sap/m/MultiComboBoxRenderer.js +4 -0
  114. package/src/sap/m/MultiEditField.js +1 -1
  115. package/src/sap/m/MultiInput.js +78 -6
  116. package/src/sap/m/NavContainer.js +13 -5
  117. package/src/sap/m/NewsContent.js +19 -10
  118. package/src/sap/m/NewsContentRenderer.js +1 -2
  119. package/src/sap/m/NotificationList.js +1 -1
  120. package/src/sap/m/NotificationListBase.js +1 -1
  121. package/src/sap/m/NotificationListGroup.js +1 -1
  122. package/src/sap/m/NotificationListGroupRenderer.js +1 -0
  123. package/src/sap/m/NotificationListItem.js +1 -1
  124. package/src/sap/m/NumericContent.js +1 -1
  125. package/src/sap/m/NumericContentRenderer.js +34 -17
  126. package/src/sap/m/ObjectAttribute.js +46 -5
  127. package/src/sap/m/ObjectHeader.js +3 -3
  128. package/src/sap/m/ObjectIdentifier.js +1 -1
  129. package/src/sap/m/ObjectListItem.js +1 -1
  130. package/src/sap/m/ObjectMarker.js +19 -2
  131. package/src/sap/m/ObjectNumber.js +1 -1
  132. package/src/sap/m/ObjectNumberRenderer.js +1 -1
  133. package/src/sap/m/ObjectStatus.js +1 -1
  134. package/src/sap/m/ObjectStatusRenderer.js +4 -1
  135. package/src/sap/m/OverflowToolbar.js +10 -6
  136. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  137. package/src/sap/m/OverflowToolbarButton.js +4 -2
  138. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  139. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  140. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  141. package/src/sap/m/P13nColumnsItem.js +1 -1
  142. package/src/sap/m/P13nColumnsPanel.js +3 -3
  143. package/src/sap/m/P13nConditionPanel.js +22 -52
  144. package/src/sap/m/P13nDialog.js +1 -1
  145. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  146. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  147. package/src/sap/m/P13nFilterItem.js +1 -1
  148. package/src/sap/m/P13nFilterPanel.js +1 -3
  149. package/src/sap/m/P13nGroupItem.js +1 -1
  150. package/src/sap/m/P13nGroupPanel.js +1 -3
  151. package/src/sap/m/P13nItem.js +1 -1
  152. package/src/sap/m/P13nPanel.js +4 -1
  153. package/src/sap/m/P13nSelectionItem.js +1 -1
  154. package/src/sap/m/P13nSelectionPanel.js +1 -1
  155. package/src/sap/m/P13nSortItem.js +1 -1
  156. package/src/sap/m/P13nSortPanel.js +1 -3
  157. package/src/sap/m/PDFViewer.js +14 -5
  158. package/src/sap/m/Page.js +1 -1
  159. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  160. package/src/sap/m/PagingButton.js +1 -1
  161. package/src/sap/m/Panel.js +1 -1
  162. package/src/sap/m/PlanningCalendar.js +70 -35
  163. package/src/sap/m/PlanningCalendarHeader.js +5 -8
  164. package/src/sap/m/PlanningCalendarLegend.js +25 -10
  165. package/src/sap/m/PlanningCalendarLegendRenderer.js +2 -7
  166. package/src/sap/m/PlanningCalendarRow.js +8 -3
  167. package/src/sap/m/PlanningCalendarView.js +1 -6
  168. package/src/sap/m/Popover.js +3 -3
  169. package/src/sap/m/PopoverRenderer.js +3 -2
  170. package/src/sap/m/ProgressIndicator.js +13 -1
  171. package/src/sap/m/PullToRefresh.js +1 -1
  172. package/src/sap/m/QuickView.js +1 -1
  173. package/src/sap/m/QuickViewBase.js +1 -1
  174. package/src/sap/m/QuickViewCard.js +1 -1
  175. package/src/sap/m/QuickViewGroup.js +1 -1
  176. package/src/sap/m/QuickViewGroupElement.js +1 -1
  177. package/src/sap/m/QuickViewPage.js +1 -1
  178. package/src/sap/m/RadioButton.js +1 -1
  179. package/src/sap/m/RadioButtonGroup.js +1 -1
  180. package/src/sap/m/RangeSlider.js +1 -1
  181. package/src/sap/m/RatingIndicator.js +10 -8
  182. package/src/sap/m/ResponsivePopover.js +1 -1
  183. package/src/sap/m/ResponsiveScale.js +1 -1
  184. package/src/sap/m/ScrollBar.js +1 -1
  185. package/src/sap/m/ScrollContainer.js +1 -1
  186. package/src/sap/m/SearchField.js +2 -33
  187. package/src/sap/m/SegmentedButton.js +31 -19
  188. package/src/sap/m/SegmentedButtonItem.js +1 -1
  189. package/src/sap/m/SegmentedButtonRenderer.js +6 -0
  190. package/src/sap/m/Select.js +34 -13
  191. package/src/sap/m/SelectDialog.js +1 -1
  192. package/src/sap/m/SelectDialogBase.js +1 -1
  193. package/src/sap/m/SelectList.js +1 -1
  194. package/src/sap/m/SelectRenderer.js +10 -1
  195. package/src/sap/m/SelectionDetails.js +7 -9
  196. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  197. package/src/sap/m/SelectionDetailsItem.js +8 -4
  198. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  199. package/src/sap/m/Shell.js +9 -17
  200. package/src/sap/m/SimpleFixFlex.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendar.js +7 -10
  202. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarGrid.js +29 -34
  204. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +34 -22
  205. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -6
  206. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +7 -8
  207. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -6
  208. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  209. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -6
  210. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -6
  211. package/src/sap/m/SlideTile.js +31 -3
  212. package/src/sap/m/SlideTileRenderer.js +9 -0
  213. package/src/sap/m/Slider.js +1 -1
  214. package/src/sap/m/SliderTooltip.js +1 -1
  215. package/src/sap/m/SliderTooltipBase.js +1 -1
  216. package/src/sap/m/SliderTooltipContainer.js +1 -1
  217. package/src/sap/m/SplitApp.js +1 -1
  218. package/src/sap/m/SplitButton.js +1 -1
  219. package/src/sap/m/SplitButtonRenderer.js +5 -1
  220. package/src/sap/m/SplitContainer.js +10 -4
  221. package/src/sap/m/StandardDynamicDateOption.js +98 -69
  222. package/src/sap/m/StandardListItem.js +33 -21
  223. package/src/sap/m/StandardListItemRenderer.js +21 -9
  224. package/src/sap/m/StandardTile.js +1 -1
  225. package/src/sap/m/StandardTreeItem.js +1 -1
  226. package/src/sap/m/StepInput.js +17 -12
  227. package/src/sap/m/Suggest.js +25 -25
  228. package/src/sap/m/SuggestionItem.js +1 -7
  229. package/src/sap/m/SuggestionsPopover.js +44 -1
  230. package/src/sap/m/Switch.js +9 -1
  231. package/src/sap/m/TabContainer.js +1 -1
  232. package/src/sap/m/TabContainerItem.js +33 -3
  233. package/src/sap/m/TabStrip.js +1 -1
  234. package/src/sap/m/TabStripItem.js +11 -15
  235. package/src/sap/m/TabStripRenderer.js +1 -1
  236. package/src/sap/m/Table.js +4 -3
  237. package/src/sap/m/TablePersoController.js +1 -1
  238. package/src/sap/m/TablePersoDialog.js +1 -1
  239. package/src/sap/m/TablePersoProvider.js +1 -1
  240. package/src/sap/m/TableRenderer.js +1 -1
  241. package/src/sap/m/TableSelectDialog.js +1 -1
  242. package/src/sap/m/Text.js +1 -1
  243. package/src/sap/m/TextArea.js +2 -2
  244. package/src/sap/m/Tile.js +1 -1
  245. package/src/sap/m/TileContainer.js +1 -1
  246. package/src/sap/m/TileContent.js +22 -4
  247. package/src/sap/m/TileContentRenderer.js +73 -5
  248. package/src/sap/m/TimePicker.js +45 -6
  249. package/src/sap/m/TimePickerClock.js +2 -2
  250. package/src/sap/m/TimePickerClocks.js +1 -1
  251. package/src/sap/m/TimePickerInputs.js +3 -3
  252. package/src/sap/m/TimePickerInternals.js +1 -1
  253. package/src/sap/m/TimePickerRenderer.js +4 -0
  254. package/src/sap/m/TimePickerSlider.js +2 -2
  255. package/src/sap/m/TimePickerSliders.js +1 -1
  256. package/src/sap/m/Title.js +1 -1
  257. package/src/sap/m/TitlePropagationSupport.js +1 -1
  258. package/src/sap/m/ToggleButton.js +1 -1
  259. package/src/sap/m/ToggleButtonRenderer.js +1 -1
  260. package/src/sap/m/Token.js +1 -1
  261. package/src/sap/m/Tokenizer.js +2 -1
  262. package/src/sap/m/TokenizerRenderer.js +1 -0
  263. package/src/sap/m/Toolbar.js +1 -1
  264. package/src/sap/m/ToolbarLayoutData.js +1 -1
  265. package/src/sap/m/ToolbarSeparator.js +1 -1
  266. package/src/sap/m/ToolbarSpacer.js +1 -1
  267. package/src/sap/m/Tree.js +1 -1
  268. package/src/sap/m/TreeItemBase.js +1 -1
  269. package/src/sap/m/UploadCollection.js +2 -7
  270. package/src/sap/m/UploadCollectionItem.js +1 -1
  271. package/src/sap/m/UploadCollectionParameter.js +1 -1
  272. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  273. package/src/sap/m/VBox.js +1 -1
  274. package/src/sap/m/ValueStateHeader.js +1 -1
  275. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  276. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  277. package/src/sap/m/ViewSettingsDialog.js +18 -6
  278. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  279. package/src/sap/m/ViewSettingsItem.js +1 -1
  280. package/src/sap/m/VisibleItem.js +1 -1
  281. package/src/sap/m/WheelSlider.js +2 -2
  282. package/src/sap/m/WheelSliderContainer.js +1 -1
  283. package/src/sap/m/Wizard.js +18 -8
  284. package/src/sap/m/WizardProgressNavigator.js +1 -1
  285. package/src/sap/m/WizardProgressNavigatorRenderer.js +3 -2
  286. package/src/sap/m/WizardStep.js +1 -1
  287. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  288. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  289. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  290. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  291. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +98 -0
  292. package/src/sap/m/changeHandler/SplitMenuButton.js +5 -2
  293. package/src/sap/m/delegate/DateNavigation.js +4 -5
  294. package/src/sap/m/delegate/ValueStateMessage.js +4 -7
  295. package/src/sap/m/designtime/IconTabBar.designtime.js +86 -2
  296. package/src/sap/m/designtime/IconTabBarSelectTab.fragment.xml +17 -0
  297. package/src/sap/m/designtime/MenuButton.designtime.js +3 -0
  298. package/src/sap/m/designtime/messagebundle.properties +9 -0
  299. package/src/sap/m/designtime/messagebundle_ar.properties +6 -0
  300. package/src/sap/m/designtime/messagebundle_bg.properties +6 -0
  301. package/src/sap/m/designtime/messagebundle_ca.properties +6 -0
  302. package/src/sap/m/designtime/messagebundle_cs.properties +6 -0
  303. package/src/sap/m/designtime/messagebundle_cy.properties +6 -0
  304. package/src/sap/m/designtime/messagebundle_da.properties +6 -0
  305. package/src/sap/m/designtime/messagebundle_de.properties +8 -2
  306. package/src/sap/m/designtime/messagebundle_el.properties +6 -0
  307. package/src/sap/m/designtime/messagebundle_en.properties +6 -0
  308. package/src/sap/m/designtime/messagebundle_en_GB.properties +6 -0
  309. package/src/sap/m/designtime/messagebundle_en_US_sappsd.properties +6 -0
  310. package/src/sap/m/designtime/messagebundle_en_US_saptrc.properties +6 -0
  311. package/src/sap/m/designtime/messagebundle_es.properties +6 -0
  312. package/src/sap/m/designtime/messagebundle_es_MX.properties +6 -0
  313. package/src/sap/m/designtime/messagebundle_et.properties +6 -0
  314. package/src/sap/m/designtime/messagebundle_fi.properties +6 -0
  315. package/src/sap/m/designtime/messagebundle_fr.properties +6 -0
  316. package/src/sap/m/designtime/messagebundle_fr_CA.properties +6 -0
  317. package/src/sap/m/designtime/messagebundle_hi.properties +6 -0
  318. package/src/sap/m/designtime/messagebundle_hr.properties +6 -0
  319. package/src/sap/m/designtime/messagebundle_hu.properties +6 -0
  320. package/src/sap/m/designtime/messagebundle_id.properties +6 -0
  321. package/src/sap/m/designtime/messagebundle_it.properties +6 -0
  322. package/src/sap/m/designtime/messagebundle_iw.properties +6 -0
  323. package/src/sap/m/designtime/messagebundle_ja.properties +6 -0
  324. package/src/sap/m/designtime/messagebundle_kk.properties +6 -0
  325. package/src/sap/m/designtime/messagebundle_ko.properties +6 -0
  326. package/src/sap/m/designtime/messagebundle_lt.properties +6 -0
  327. package/src/sap/m/designtime/messagebundle_lv.properties +6 -0
  328. package/src/sap/m/designtime/messagebundle_ms.properties +6 -0
  329. package/src/sap/m/designtime/messagebundle_nl.properties +6 -0
  330. package/src/sap/m/designtime/messagebundle_no.properties +6 -0
  331. package/src/sap/m/designtime/messagebundle_pl.properties +6 -0
  332. package/src/sap/m/designtime/messagebundle_pt.properties +6 -0
  333. package/src/sap/m/designtime/messagebundle_pt_PT.properties +6 -0
  334. package/src/sap/m/designtime/messagebundle_ro.properties +6 -0
  335. package/src/sap/m/designtime/messagebundle_ru.properties +6 -0
  336. package/src/sap/m/designtime/messagebundle_sh.properties +6 -0
  337. package/src/sap/m/designtime/messagebundle_sk.properties +6 -0
  338. package/src/sap/m/designtime/messagebundle_sl.properties +6 -0
  339. package/src/sap/m/designtime/messagebundle_sv.properties +6 -0
  340. package/src/sap/m/designtime/messagebundle_th.properties +6 -0
  341. package/src/sap/m/designtime/messagebundle_tr.properties +6 -0
  342. package/src/sap/m/designtime/messagebundle_uk.properties +6 -0
  343. package/src/sap/m/designtime/messagebundle_vi.properties +6 -0
  344. package/src/sap/m/designtime/messagebundle_zh_CN.properties +6 -0
  345. package/src/sap/m/designtime/messagebundle_zh_TW.properties +6 -0
  346. package/src/sap/m/flexibility/IconTabBar.flexibility.js +21 -0
  347. package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -0
  348. package/src/sap/m/inputUtils/ListHelpers.js +16 -3
  349. package/src/sap/m/library.js +122 -35
  350. package/src/sap/m/messagebundle.properties +83 -5
  351. package/src/sap/m/messagebundle_ar.properties +64 -2
  352. package/src/sap/m/messagebundle_bg.properties +64 -2
  353. package/src/sap/m/messagebundle_ca.properties +69 -7
  354. package/src/sap/m/messagebundle_cs.properties +75 -13
  355. package/src/sap/m/messagebundle_cy.properties +64 -2
  356. package/src/sap/m/messagebundle_da.properties +64 -2
  357. package/src/sap/m/messagebundle_de.properties +64 -2
  358. package/src/sap/m/messagebundle_el.properties +64 -2
  359. package/src/sap/m/messagebundle_en.properties +64 -2
  360. package/src/sap/m/messagebundle_en_GB.properties +64 -2
  361. package/src/sap/m/messagebundle_en_US_sappsd.properties +65 -3
  362. package/src/sap/m/messagebundle_en_US_saptrc.properties +65 -3
  363. package/src/sap/m/messagebundle_es.properties +67 -5
  364. package/src/sap/m/messagebundle_es_MX.properties +65 -3
  365. package/src/sap/m/messagebundle_et.properties +64 -2
  366. package/src/sap/m/messagebundle_fi.properties +64 -2
  367. package/src/sap/m/messagebundle_fr.properties +84 -22
  368. package/src/sap/m/messagebundle_fr_CA.properties +65 -3
  369. package/src/sap/m/messagebundle_hi.properties +64 -2
  370. package/src/sap/m/messagebundle_hr.properties +64 -2
  371. package/src/sap/m/messagebundle_hu.properties +64 -2
  372. package/src/sap/m/messagebundle_id.properties +65 -3
  373. package/src/sap/m/messagebundle_it.properties +70 -8
  374. package/src/sap/m/messagebundle_iw.properties +64 -2
  375. package/src/sap/m/messagebundle_ja.properties +64 -2
  376. package/src/sap/m/messagebundle_kk.properties +64 -2
  377. package/src/sap/m/messagebundle_ko.properties +65 -3
  378. package/src/sap/m/messagebundle_lt.properties +64 -2
  379. package/src/sap/m/messagebundle_lv.properties +64 -2
  380. package/src/sap/m/messagebundle_ms.properties +65 -3
  381. package/src/sap/m/messagebundle_nl.properties +65 -3
  382. package/src/sap/m/messagebundle_no.properties +76 -14
  383. package/src/sap/m/messagebundle_pl.properties +68 -6
  384. package/src/sap/m/messagebundle_pt.properties +67 -5
  385. package/src/sap/m/messagebundle_pt_PT.properties +65 -3
  386. package/src/sap/m/messagebundle_ro.properties +70 -8
  387. package/src/sap/m/messagebundle_ru.properties +66 -4
  388. package/src/sap/m/messagebundle_sh.properties +66 -4
  389. package/src/sap/m/messagebundle_sk.properties +64 -2
  390. package/src/sap/m/messagebundle_sl.properties +64 -2
  391. package/src/sap/m/messagebundle_sv.properties +64 -2
  392. package/src/sap/m/messagebundle_th.properties +64 -2
  393. package/src/sap/m/messagebundle_tr.properties +64 -2
  394. package/src/sap/m/messagebundle_uk.properties +71 -9
  395. package/src/sap/m/messagebundle_vi.properties +65 -3
  396. package/src/sap/m/messagebundle_zh_CN.properties +64 -2
  397. package/src/sap/m/messagebundle_zh_TW.properties +64 -2
  398. package/src/sap/m/p13n/AbstractContainer.js +286 -0
  399. package/src/sap/m/p13n/AbstractContainerItem.js +94 -0
  400. package/src/sap/m/p13n/BasePanel.js +644 -0
  401. package/src/sap/m/p13n/Container.js +301 -0
  402. package/src/sap/m/p13n/GroupPanel.js +121 -0
  403. package/src/sap/m/p13n/Popup.js +358 -0
  404. package/src/sap/m/p13n/QueryPanel.js +316 -0
  405. package/src/sap/m/p13n/SelectionPanel.js +403 -0
  406. package/src/sap/m/p13n/SortPanel.js +141 -0
  407. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  408. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  409. package/src/sap/m/plugins/PasteProvider.js +9 -1
  410. package/src/sap/m/plugins/PluginBase.js +1 -1
  411. package/src/sap/m/routing/TargetHandler.js +9 -4
  412. package/src/sap/m/semantic/AddAction.js +1 -1
  413. package/src/sap/m/semantic/CancelAction.js +1 -1
  414. package/src/sap/m/semantic/DeleteAction.js +1 -1
  415. package/src/sap/m/semantic/DetailPage.js +1 -1
  416. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  417. package/src/sap/m/semantic/EditAction.js +1 -1
  418. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  419. package/src/sap/m/semantic/FilterAction.js +1 -1
  420. package/src/sap/m/semantic/FilterSelect.js +1 -1
  421. package/src/sap/m/semantic/FlagAction.js +1 -1
  422. package/src/sap/m/semantic/ForwardAction.js +1 -1
  423. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  424. package/src/sap/m/semantic/GroupAction.js +1 -1
  425. package/src/sap/m/semantic/GroupSelect.js +1 -1
  426. package/src/sap/m/semantic/MainAction.js +1 -1
  427. package/src/sap/m/semantic/MasterPage.js +1 -1
  428. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  429. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  430. package/src/sap/m/semantic/NegativeAction.js +1 -1
  431. package/src/sap/m/semantic/OpenInAction.js +1 -1
  432. package/src/sap/m/semantic/PositiveAction.js +1 -1
  433. package/src/sap/m/semantic/PrintAction.js +1 -1
  434. package/src/sap/m/semantic/SaveAction.js +1 -1
  435. package/src/sap/m/semantic/Segment.js +1 -1
  436. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  437. package/src/sap/m/semantic/SemanticButton.js +1 -1
  438. package/src/sap/m/semantic/SemanticConfiguration.js +3 -5
  439. package/src/sap/m/semantic/SemanticControl.js +1 -1
  440. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  441. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  442. package/src/sap/m/semantic/SemanticPage.js +1 -1
  443. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  444. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  445. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  446. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  447. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  448. package/src/sap/m/semantic/ShareMenu.js +1 -1
  449. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  450. package/src/sap/m/semantic/SortAction.js +1 -1
  451. package/src/sap/m/semantic/SortSelect.js +1 -1
  452. package/src/sap/m/table/ActionItem.js +69 -0
  453. package/src/sap/m/table/ColumnMenu.js +377 -0
  454. package/src/sap/m/table/ColumnMenuEntry.js +101 -0
  455. package/src/sap/m/table/ColumnMenuRenderer.js +82 -0
  456. package/src/sap/m/table/Item.js +130 -0
  457. package/src/sap/m/table/ItemBase.js +153 -0
  458. package/src/sap/m/table/QuickAction.js +53 -0
  459. package/src/sap/m/table/QuickActionBase.js +53 -0
  460. package/src/sap/m/table/Util.js +192 -0
  461. package/src/sap/m/themes/base/AbstractContainer.less +32 -0
  462. package/src/sap/m/themes/base/Breadcrumbs.less +2 -2
  463. package/src/sap/m/themes/base/Carousel.less +37 -2
  464. package/src/sap/m/themes/base/ColumnListItem.less +2 -2
  465. package/src/sap/m/themes/base/ColumnMenu.less +41 -0
  466. package/src/sap/m/themes/base/ComboBox.less +2 -2
  467. package/src/sap/m/themes/base/ComboBoxBase.less +20 -0
  468. package/src/sap/m/themes/base/DatePicker.less +4 -0
  469. package/src/sap/m/themes/base/DateTimePicker.less +20 -1
  470. package/src/sap/m/themes/base/Dialog.less +12 -12
  471. package/src/sap/m/themes/base/GenericTile.less +464 -18
  472. package/src/sap/m/themes/base/IconTabBar.less +17 -16
  473. package/src/sap/m/themes/base/IconTabBarSelectList.less +4 -2
  474. package/src/sap/m/themes/base/Input.less +2 -2
  475. package/src/sap/m/themes/base/InputBase.less +0 -24
  476. package/src/sap/m/themes/base/Label.less +6 -0
  477. package/src/sap/m/themes/base/ListBase.less +7 -5
  478. package/src/sap/m/themes/base/ListItemBase.less +4 -2
  479. package/src/sap/m/themes/base/MessageView.less +4 -0
  480. package/src/sap/m/themes/base/MultiComboBox.less +19 -2
  481. package/src/sap/m/themes/base/NewsContent.less +48 -1
  482. package/src/sap/m/themes/base/NotificationListBase.less +1 -1
  483. package/src/sap/m/themes/base/NumericContent.less +87 -0
  484. package/src/sap/m/themes/base/ObjectAttribute.less +3 -4
  485. package/src/sap/m/themes/base/ObjectNumber.less +10 -2
  486. package/src/sap/m/themes/base/ObjectStatus.less +14 -0
  487. package/src/sap/m/themes/base/P13nContainer.less +17 -0
  488. package/src/sap/m/themes/base/P13nDialog.less +1 -1
  489. package/src/sap/m/themes/base/ProgressIndicator.less +3 -2
  490. package/src/sap/m/themes/base/ScrollContainer.less +1 -3
  491. package/src/sap/m/themes/base/SearchField.less +21 -14
  492. package/src/sap/m/themes/base/SegmentedButton.less +1 -1
  493. package/src/sap/m/themes/base/Select.less +2 -1
  494. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +17 -18
  495. package/src/sap/m/themes/base/SlideTile.less +15 -0
  496. package/src/sap/m/themes/base/StandardListItem.less +6 -1
  497. package/src/sap/m/themes/base/Table.less +16 -27
  498. package/src/sap/m/themes/base/Text.less +6 -0
  499. package/src/sap/m/themes/base/TextArea.less +2 -2
  500. package/src/sap/m/themes/base/TileContent.less +20 -0
  501. package/src/sap/m/themes/base/TimePicker.less +3 -0
  502. package/src/sap/m/themes/base/Token.less +0 -3
  503. package/src/sap/m/themes/base/ValueStateHeader.less +1 -3
  504. package/src/sap/m/themes/base/ViewSettingsDialog.less +5 -5
  505. package/src/sap/m/themes/base/WizardProgressNavigator.less +1 -1
  506. package/src/sap/m/themes/base/library.source.less +5 -0
  507. package/src/sap/m/themes/base/p13n.Container.less +21 -0
  508. package/src/sap/m/themes/base/p13n.QueryPanel.less +7 -0
  509. package/src/sap/m/themes/base/p13n.SelectionPanel.less +32 -0
  510. package/src/sap/m/themes/sap_hcb/ComboBox.less +9 -0
  511. package/src/sap/m/themes/sap_hcb/Input.less +4 -0
  512. package/src/sap/m/themes/sap_hcb/InputBase.less +25 -0
  513. package/src/sap/m/themes/sap_hcb/MultiComboBox.less +8 -0
  514. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +3 -0
  515. package/src/sap/m/themes/sap_hcb/WizardProgressNavigator.less +0 -4
  516. package/src/sap/m/themes/sap_hcb/library.source.less +2 -0
  517. package/src/sap/m/upload/UploadSet.js +16 -19
  518. package/src/sap/m/upload/UploadSetItem.js +22 -2
  519. package/ui5.yaml +4 -1
  520. package/src/sap/m/ios7.js +0 -199
@@ -9,13 +9,14 @@ sap.ui.define([
9
9
  './InputBase',
10
10
  'sap/ui/Device',
11
11
  'sap/ui/core/library',
12
+ 'sap/ui/core/IconPool',
12
13
  "sap/ui/events/KeyCodes",
13
14
  "sap/base/Log",
14
15
  "sap/ui/thirdparty/jquery",
15
16
  "sap/m/MaskInputRule",
16
17
  // jQuery Plugin "cursorPos"
17
18
  "sap/ui/dom/jquery/cursorPos"
18
- ], function(Control, InputBase, Device, coreLibrary, KeyCodes, Log, jQuery, MaskInputRule) {
19
+ ], function(Control, InputBase, Device, coreLibrary, IconPool, KeyCodes, Log, jQuery, MaskInputRule) {
19
20
  "use strict";
20
21
 
21
22
  // shortcut for sap.ui.core.TextDirection
@@ -25,7 +26,7 @@ sap.ui.define([
25
26
  * Applies mask support for input controls.
26
27
  * It should should be applied to the prototype of a <code>sap.m.InputBase</code>.
27
28
  *
28
- * @version 1.94.0
29
+ * @version 1.97.0
29
30
  * @private
30
31
  * @mixin
31
32
  * @alias sap.m.MaskEnabler
@@ -55,6 +56,8 @@ sap.ui.define([
55
56
  // Skips setup of mask variables on every iteration when initializing default rules
56
57
  this._bSkipSetupMaskVariables = null;
57
58
 
59
+ this._oRb = sap.ui.getCore().getLibraryResourceBundle("sap.m");
60
+
58
61
  this._setDefaultRules();
59
62
  this._setupMaskVariables();
60
63
  };
@@ -87,6 +90,8 @@ sap.ui.define([
87
90
  }
88
91
 
89
92
  InputBase.prototype.onBeforeRendering.apply(this, arguments);
93
+
94
+ this.getShowClearIcon && this.getShowClearIcon() && this._getClearIcon().setVisible(this.getProperty("effectiveShowClearIcon"));
90
95
  };
91
96
 
92
97
  /**
@@ -169,6 +174,10 @@ sap.ui.define([
169
174
  if (this._isMaskEnabled()) {
170
175
  this._keyPressHandler(oEvent);
171
176
  }
177
+
178
+ if (this.getDOMValue() !== "") {
179
+ this._setClearIconVisibility();
180
+ }
172
181
  };
173
182
 
174
183
  /**
@@ -180,8 +189,11 @@ sap.ui.define([
180
189
  var oKey = this._parseKeyBoardEvent(oEvent);
181
190
 
182
191
  InputBase.prototype.onkeydown.apply(this, arguments);
183
-
184
192
  this._keyDownHandler(oEvent, oKey);
193
+
194
+ if (this.getDOMValue() !== "") {
195
+ this._setClearIconVisibility();
196
+ }
185
197
  } else {
186
198
  var oKey = this._parseKeyBoardEvent(oEvent);
187
199
  if (oKey.bEnter) {
@@ -209,6 +221,92 @@ sap.ui.define([
209
221
  this.onsapfocusleave = function(oEvent) {
210
222
  };
211
223
 
224
+ /**
225
+ * Handle when escape is pressed.
226
+ *
227
+ * @param {jQuery.Event} oEvent The event object.
228
+ * @private
229
+ */
230
+ this.onsapescape = function(oEvent) {
231
+ if (this._oTempValue._aContent.join("") !== this._oTempValue._aInitial.join("")) {
232
+ InputBase.prototype.onsapescape.call(this, oEvent);
233
+ }
234
+ };
235
+
236
+ /**
237
+ * Sets the clear icon visibility depending on whether the input value is empty or not.
238
+ * @param {boolean} bShowClearIcon whether to force show/hide of the clear icon or not.
239
+ * @private
240
+ */
241
+ this._setClearIconVisibility = function(bShowClearIcon) {
242
+ var bEffectiveShowClearIcon = bShowClearIcon !== undefined ? bShowClearIcon : !this._isValueEmpty();
243
+ if (this.getShowClearIcon && this.getShowClearIcon()) {
244
+ this.setProperty("effectiveShowClearIcon", bEffectiveShowClearIcon);
245
+ this._getClearIcon().setVisible(this.getProperty("effectiveShowClearIcon"));
246
+ }
247
+ };
248
+
249
+ /**
250
+ * Lazy initialization of the clear icon.
251
+ * @returns {sap.ui.core.Icon} The created icon.
252
+ * @private
253
+ */
254
+ this._getClearIcon = function () {
255
+ if (this._oClearButton) {
256
+ return this._oClearButton;
257
+ }
258
+
259
+ this._oClearButton = this.addEndIcon({
260
+ src: IconPool.getIconURI("decline"),
261
+ noTabStop: true,
262
+ visible: false,
263
+ alt: this._oRb.getText("INPUT_CLEAR_ICON_ALT"),
264
+ useIconTooltip: false,
265
+ press: function () {
266
+ if (!this._isValueEmpty()) {
267
+ this.fireChange({
268
+ value: ""
269
+ });
270
+
271
+ this.setValue("");
272
+ this.setProperty("effectiveShowClearIcon", false);
273
+ this._getClearIcon().setVisible(false);
274
+
275
+ setTimeout(function() {
276
+ if (Device.system.desktop) {
277
+ this.focus();
278
+ }
279
+ }, 0);
280
+ }
281
+ }.bind(this)
282
+ });
283
+
284
+ return this._oClearButton;
285
+ };
286
+
287
+ /**
288
+ * Returns whether there is something entered in the field or not.
289
+ *
290
+ * @protected
291
+ * @returns {boolean} True if there are placeholder characters displayed, but nothing is entered.
292
+ */
293
+ this._isValueEmpty = function() {
294
+ var sValue = this.getDOMValue(),
295
+ sPlaceholder = this._oTempValue._aInitial.join('');
296
+
297
+ return sValue == sPlaceholder;
298
+ };
299
+
300
+ /**
301
+ * Gets the inner input DOM value.
302
+ *
303
+ * @protected
304
+ * @returns {string} The value of the input.
305
+ */
306
+ this.getDOMValue = function() {
307
+ return this._$input.val();
308
+ };
309
+
212
310
  /**
213
311
  * Setter for property <code>value</code>.
214
312
  *
@@ -232,6 +330,9 @@ sap.ui.define([
232
330
  }
233
331
  }
234
332
 
333
+ // show/hide the clear icon based on the new value (it is not yet set in the DOM, so the default check will not work)
334
+ this._setClearIconVisibility(sValue !== "");
335
+
235
336
  return this;
236
337
  };
237
338
 
@@ -951,7 +1052,6 @@ sap.ui.define([
951
1052
  this._applyAndUpdate(this._sOldInputValue);
952
1053
  this._positionCaret(true);
953
1054
  oEvent.preventDefault();
954
-
955
1055
  } else if (oKey.bEnter) {
956
1056
  this._inputCompletedHandler(oEvent);
957
1057
  } else if ((oKey.bCtrlKey && oKey.bInsert) ||
@@ -1166,6 +1266,8 @@ sap.ui.define([
1166
1266
  this._setCursorPosition(iEndSelectionIndex);
1167
1267
  }
1168
1268
  }.bind(this), iMinBrowserDelay);
1269
+
1270
+ this._setClearIconVisibility();
1169
1271
  };
1170
1272
 
1171
1273
  /**
@@ -21,7 +21,7 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
21
21
  *
22
22
  * @author SAP SE
23
23
  * @extends sap.m.InputBase
24
- * @version 1.94.0
24
+ * @version 1.97.0
25
25
  *
26
26
  * @constructor
27
27
  * @public
@@ -38,7 +38,7 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
38
38
  /**
39
39
  * Defines a placeholder symbol. Shown at the position where there is no user input yet.
40
40
  */
41
- placeholderSymbol: {type: "string", group: "Misc", defaultValue: "_"},
41
+ placeholderSymbol: { type: "string", group: "Misc", defaultValue: "_" },
42
42
 
43
43
  /**
44
44
  * Mask defined by its characters type (respectively, by its length).
@@ -50,14 +50,29 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
50
50
  * 3. You can use the special escape character '^' called "Caret" prepending a rule character to make it immutable.
51
51
  * Use the double escape '^^' if you want to make use of the escape character as an immutable one.
52
52
  */
53
- mask: {type: "string", group: "Misc", defaultValue: null}
53
+ mask: { type: "string", group: "Misc", defaultValue: null },
54
+
55
+ /**
56
+ * Specifies whether a clear icon is shown.
57
+ * Pressing the icon will clear input's value and fire the change event.
58
+ * @since 1.96
59
+ */
60
+ showClearIcon: { type: "boolean", defaultValue: false },
61
+
62
+ /**
63
+ * Specifies whether the clear icon should be shown/hidden on user interaction.
64
+ * @private
65
+ */
66
+ effectiveShowClearIcon: { type: "boolean", defaultValue: false, visibility: "hidden" }
67
+
54
68
  },
55
69
  aggregations: {
56
70
 
57
71
  /**
58
72
  A list of validation rules (one rule per mask character).
59
73
  */
60
- rules: {type: "sap.m.MaskInputRule", multiple: true, singularName: "rule"}
74
+ rules: { type: "sap.m.MaskInputRule", multiple: true, singularName: "rule" }
75
+
61
76
  },
62
77
  dnd: { draggable: false, droppable: true }
63
78
  }
@@ -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.94.0
23
+ * @version 1.97.0
24
24
  * @public
25
25
  * @constructor
26
26
  * @since 1.34.0
package/src/sap/m/Menu.js CHANGED
@@ -4,11 +4,6 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- // Ensure that sap.ui.unified is loaded before the module dependencies will be required.
8
- // Loading it synchronously is the only compatible option and doesn't harm when sap.ui.unified
9
- // already has been loaded asynchronously (e.g. via a dependency declared in the manifest)
10
- sap.ui.getCore().loadLibrary("sap.ui.unified");
11
-
12
7
  // Provides control sap.m.Menu.
13
8
  sap.ui.define([
14
9
  './library',
@@ -62,11 +57,18 @@ sap.ui.define([
62
57
  * @class
63
58
  * The <code>sap.m.Menu</code> control represents a hierarchical menu.
64
59
  * When opened on mobile devices it occupies the whole screen.
60
+ *
61
+ * <b>Note:</b> The application developer should add dependency to <code>sap.ui.unified</code> library
62
+ * on application level to ensure that the library is loaded before the module dependencies will be required.
63
+ * If the <code>sap.ui.unified</code> library is not loaded in advance, this
64
+ * could lead to CSP compliance issues and adds an additional waiting time.
65
+ * To prevent this, ensure that the <code>sap.ui.unified</code> library is loaded in advance.
66
+ *
65
67
  * @extends sap.ui.core.Control
66
68
  * @implements sap.ui.core.IContextMenu
67
69
  *
68
70
  * @author SAP SE
69
- * @version 1.94.0
71
+ * @version 1.97.0
70
72
  *
71
73
  * @constructor
72
74
  * @public
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @extends sap.ui.core.Control
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.94.0
61
+ * @version 1.97.0
62
62
  *
63
63
  * @constructor
64
64
  * @public
@@ -254,6 +254,10 @@ sap.ui.define([
254
254
  if (this._needsWidth() && sap.ui.getCore().isThemeApplied() && this._getTextBtnContentDomRef() && this._getInitialTextBtnWidth() > 0) {
255
255
  this._getTextBtnContentDomRef().style.width = this._getInitialTextBtnWidth() + 'px';
256
256
  }
257
+ if (this._activeButton) {
258
+ this._activeButton.$().attr("aria-expanded", "false");
259
+ this._activeButton = null;
260
+ }
257
261
  };
258
262
 
259
263
  MenuButton.prototype.onThemeChanged = function(oEvent) {
@@ -498,6 +502,7 @@ sap.ui.define([
498
502
  }
499
503
 
500
504
  bOpeningMenuButton.$().removeAttr("aria-controls");
505
+ bOpeningMenuButton.$().attr("aria-expanded", "false");
501
506
  };
502
507
 
503
508
  MenuButton.prototype._menuItemSelected = function(oEvent) {
@@ -753,6 +758,7 @@ sap.ui.define([
753
758
 
754
759
  if (oMenu) {
755
760
  oOpeningMenuButton.$().attr("aria-controls", oMenu.getDomRefId());
761
+ oOpeningMenuButton.$().attr("aria-expanded", "true");
756
762
  }
757
763
  };
758
764
 
@@ -39,6 +39,7 @@ sap.ui.define([],
39
39
  oRm.openEnd();
40
40
  oMenuButton._ensureBackwardsReference();
41
41
  oRm.renderControl(oMenuButton._getButtonControl());
42
+ oMenuButton._activeButton = oMenuButton._isSplitButton() ? oMenuButton._getButtonControl()._getArrowButton() : oMenuButton._getButtonControl();
42
43
  oRm.close("div");
43
44
  };
44
45
 
@@ -23,7 +23,7 @@ sap.ui.define(['./library', 'sap/ui/core/Item', 'sap/ui/base/ManagedObjectObserv
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.94.0
26
+ * @version 1.97.0
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.m.ListItemBase
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.94.0
35
+ * @version 1.97.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  *
38
38
  * @extends sap.ui.core.Item
39
39
  * @author SAP SE
40
- * @version 1.94.0
40
+ * @version 1.97.0
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -146,21 +146,6 @@ sap.ui.define([
146
146
  this._updatePropertiesFn = customFn;
147
147
  };
148
148
 
149
- MessageItem.prototype.setDescription = function(sDescription) {
150
- // Avoid showing result of '' + undefined
151
- if (typeof sDescription === 'undefined') {
152
- sDescription = '';
153
- }
154
-
155
- if (this.getMarkupDescription()) {
156
- sDescription = sanitizeHTML(sDescription);
157
- }
158
-
159
- this.setProperty("description", sDescription, true);
160
-
161
- return this;
162
- };
163
-
164
149
  /**
165
150
  * Sets type of the MessageItem.
166
151
  * <b>Note:</b> if you set the type to None it will be handled and rendered as Information.
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.StandardListItem
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.94.0
33
+ * @version 1.97.0
34
34
  *
35
35
  * @constructor
36
36
  * @private
@@ -45,6 +45,9 @@ sap.ui.define([
45
45
  // shortcut for sap.m.BarDesign
46
46
  var BarDesign = library.BarDesign;
47
47
 
48
+ // shortcut for sap.ui.core.TitleLevel
49
+ var TitleLevel = coreLibrary.TitleLevel;
50
+
48
51
  /**
49
52
  * Constructor for a new MessagePage.
50
53
  *
@@ -69,7 +72,7 @@ sap.ui.define([
69
72
  * @see {@link fiori:https://experience.sap.com/fiori-design-web/message-page/ Message Page}
70
73
  *
71
74
  * @extends sap.ui.core.Control
72
- * @version 1.94.0
75
+ * @version 1.97.0
73
76
  *
74
77
  * @constructor
75
78
  * @public
@@ -93,6 +96,14 @@ sap.ui.define([
93
96
  * Determines the title in the header of MessagePage.
94
97
  */
95
98
  title : { type : "string", group : "Misc", defaultValue : null },
99
+ /**
100
+ * Defines the semantic level of the title. When using <code>Auto</code>, no explicit level information is written.
101
+ *
102
+ * <b>Note:</b> Used for accessibility purposes only.
103
+ *
104
+ * @since 1.97
105
+ */
106
+ titleLevel : { type: "sap.ui.core.TitleLevel", group: "Appearance", defaultValue: TitleLevel.Auto },
96
107
  /**
97
108
  * Determines the visibility of the MessagePage header.
98
109
  * Can be used to hide the header of the MessagePage when it's embedded in another page.
@@ -235,12 +246,15 @@ sap.ui.define([
235
246
  MessagePage.prototype.setTitle = function(sTitle) {
236
247
  this.setProperty("title", sTitle, true); // no re-rendering
237
248
 
238
- if (!this._oTitle) {
239
- this._oTitle = new Title(this.getId() + "-title");
240
- this._getInternalHeader().addContentMiddle(this._oTitle);
241
- }
249
+ this._getTitle().setText(sTitle);
250
+
251
+ return this;
252
+ };
242
253
 
243
- this._oTitle.setText(sTitle);
254
+ MessagePage.prototype.setTitleLevel = function(sTitleLevel) {
255
+ this.setProperty("titleLevel", sTitleLevel, true); // no re-rendering
256
+
257
+ this._getTitle().setLevel(sTitleLevel);
244
258
 
245
259
  return this;
246
260
  };
@@ -347,6 +361,21 @@ sap.ui.define([
347
361
  return this.getAggregation("_text");
348
362
  };
349
363
 
364
+ /**
365
+ * @returns {sap.m.Title} the control which will display the MessagePage's title
366
+ * @private
367
+ */
368
+ MessagePage.prototype._getTitle = function() {
369
+ if (!this._oTitle) {
370
+ this._oTitle = new Title(this.getId() + "-title", {
371
+ level: this.getTitleLevel()
372
+ });
373
+ this._getInternalHeader().addContentMiddle(this._oTitle);
374
+ }
375
+
376
+ return this._oTitle;
377
+ };
378
+
350
379
  /**
351
380
  * @returns {sap.m.Link|sap.m.FormattedText|sap.m.Text} the control which will display the MessagePage's description
352
381
  * @private
@@ -91,7 +91,7 @@ function(
91
91
  * @extends sap.ui.core.Control
92
92
  *
93
93
  * @author SAP SE
94
- * @version 1.94.0
94
+ * @version 1.97.0
95
95
  *
96
96
  * @constructor
97
97
  * @public
@@ -465,9 +465,6 @@ function(
465
465
  // update the MessageView's items as well
466
466
  item._updateProperties(function () {
467
467
  that._bItemsChanged = true;
468
-
469
- // navigate back if a property is changed
470
- that.navigateBack();
471
468
  });
472
469
 
473
470
  // we need to clone the item along with its bindings and aggregations
@@ -19,7 +19,7 @@ sap.ui.define(["./library", "./MessageItem"],
19
19
  * @extends sap.m.MessageItem
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.94.0
22
+ * @version 1.97.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -83,7 +83,7 @@ sap.ui.define([
83
83
  * @extends sap.ui.core.Control
84
84
  *
85
85
  * @author SAP SE
86
- * @version 1.94.0
86
+ * @version 1.97.0
87
87
  *
88
88
  * @constructor
89
89
  * @public
@@ -249,8 +249,12 @@ sap.ui.define([
249
249
 
250
250
  MessageStrip.prototype.setAggregation = function (sName, oControl, bSupressInvalidate) {
251
251
  if (sName === "link" && oControl instanceof Link) {
252
- var sId = this.getId() + "-info" + " " + this.getId() + "-content";
253
- oControl.addAriaDescribedBy(sId);
252
+ var sId = this.getId() + "-info" + " " + this.getId() + "-content",
253
+ aAriaDescribedBy = oControl.getAriaDescribedBy();
254
+
255
+ if (!aAriaDescribedBy.includes(sId)) {
256
+ oControl.addAriaDescribedBy(sId);
257
+ }
254
258
  }
255
259
 
256
260
  Control.prototype.setAggregation.call(this, sName, oControl, bSupressInvalidate);
@@ -4,8 +4,8 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- sap.ui.define(["./MessageStripUtilities"],
8
- function (MSUtils) {
7
+ sap.ui.define(["./MessageStripUtilities", "sap/ui/core/IconPool"],
8
+ function (MSUtils, IconPool) {
9
9
  "use strict";
10
10
 
11
11
  /**
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * The message toast has the same behavior on all devices. However, you can adjust the width of the control, for example, for use on a desktop device.
71
71
  *
72
72
  * @author SAP SE
73
- * @version 1.94.0
73
+ * @version 1.97.0
74
74
  *
75
75
  * @namespace
76
76
  * @public
@@ -112,7 +112,7 @@ sap.ui.define([
112
112
  * The responsiveness of the <code>MessageView</code> is determined by the container in which it is embedded. For that reason the control could not be visualized if the
113
113
  * container’s sizes are not defined.
114
114
  * @author SAP SE
115
- * @version 1.94.0
115
+ * @version 1.97.0
116
116
  *
117
117
  * @extends sap.ui.core.Control
118
118
  * @constructor
@@ -601,13 +601,13 @@ sap.ui.define([
601
601
  var sCloseBtnDescr = this._oResourceBundle.getText("MESSAGEPOPOVER_CLOSE");
602
602
  var sCloseBtnDescrId = this.getId() + "-CloseBtnDescr";
603
603
  var oCloseBtnARIAHiddenDescr = new HTML(sCloseBtnDescrId, {
604
- content: "<span id=\"" + sCloseBtnDescrId + "\" style=\"display: none;\">" + sCloseBtnDescr + "</span>"
604
+ content: "<span id=\"" + sCloseBtnDescrId + "\" class=\"sapMMsgViewHiddenContainer\">" + sCloseBtnDescr + "</span>"
605
605
  });
606
606
 
607
607
  var sHeadingDescr = this._oResourceBundle.getText("MESSAGEPOPOVER_ARIA_HEADING");
608
608
  var sHeadingDescrId = this.getId() + "-HeadingDescr";
609
609
  var oHeadingARIAHiddenDescr = new HTML(sHeadingDescrId, {
610
- content: "<span id=\"" + sHeadingDescrId + "\" style=\"display: none;\" role=\"heading\">" + sHeadingDescr + "</span>"
610
+ content: "<span id=\"" + sHeadingDescrId + "\" class=\"sapMMsgViewHiddenContainer\" role=\"heading\">" + sHeadingDescr + "</span>"
611
611
  });
612
612
 
613
613
  this._oSegmentedButton = new SegmentedButton(this.getId() + "-segmented", {}).addStyleClass("sapMSegmentedButtonNoAutoWidth");
@@ -629,14 +629,14 @@ sap.ui.define([
629
629
  var sCloseBtnDescr = this._oResourceBundle.getText("MESSAGEPOPOVER_CLOSE");
630
630
  var sCloseBtnDescrId = this.getId() + "-CloseBtnDetDescr";
631
631
  var oCloseBtnARIAHiddenDescr = new HTML(sCloseBtnDescrId, {
632
- content: "<span id=\"" + sCloseBtnDescrId + "\" style=\"display: none;\">" + sCloseBtnDescr + "</span>"
632
+ content: "<span id=\"" + sCloseBtnDescrId + "\" class=\"sapMMsgViewHiddenContainer\">" + sCloseBtnDescr + "</span>"
633
633
  });
634
634
 
635
635
  var sBackBtnTooltipDescr = this._oResourceBundle.getText("MESSAGEPOPOVER_ARIA_BACK_BUTTON_TOOLTIP");
636
636
  var sBackBtnDescr = this._oResourceBundle.getText("MESSAGEPOPOVER_ARIA_BACK_BUTTON");
637
637
  var sBackBtnDescrId = this.getId() + "-BackBtnDetDescr";
638
638
  var oBackBtnARIAHiddenDescr = new HTML(sBackBtnDescrId, {
639
- content: "<span id=\"" + sBackBtnDescrId + "\" style=\"display: none;\">" + sBackBtnDescr + "</span>"
639
+ content: "<span id=\"" + sBackBtnDescrId + "\" class=\"sapMMsgViewHiddenContainer\">" + sBackBtnDescr + "</span>"
640
640
  });
641
641
 
642
642
  this._oBackButton = new Button({
@@ -979,15 +979,22 @@ sap.ui.define([
979
979
  */
980
980
  MessageView.prototype._setDescription = function (oMessageItem) {
981
981
  var oLink = oMessageItem.getLink();
982
+ var sDescription = oMessageItem.getDescription();
983
+
984
+ if (oMessageItem.getMarkupDescription()) {
985
+ var tagPolicy = this._getTagPolicy();
986
+ /*global html*/
987
+ sDescription = html.sanitizeWithPolicy(sDescription, tagPolicy);
988
+ }
989
+
982
990
  this._oLastSelectedItem = oMessageItem;
983
991
  if (oMessageItem.getMarkupDescription()) {
984
- // description is sanitized in MessageItem.setDescription()
985
992
  this._oMessageDescriptionText = new HTML(this.getId() + "MarkupDescription", {
986
- content: "<div class='sapMMsgViewDescriptionText'>" + ManagedObject.escapeSettingsValue(oMessageItem.getDescription()) + "</div>"
993
+ content: "<div class='sapMMsgViewDescriptionText'>" + ManagedObject.escapeSettingsValue(sDescription) + "</div>"
987
994
  });
988
995
  } else {
989
996
  this._oMessageDescriptionText = new Text(this.getId() + "MessageDescriptionText", {
990
- text: ManagedObject.escapeSettingsValue(oMessageItem.getDescription())
997
+ text: ManagedObject.escapeSettingsValue(sDescription)
991
998
  }).addStyleClass("sapMMsgViewDescriptionText");
992
999
  }
993
1000
 
@@ -1159,24 +1166,6 @@ sap.ui.define([
1159
1166
  };
1160
1167
  };
1161
1168
 
1162
- /**
1163
- * Perform description sanitization based on Caja HTML sanitizer
1164
- * @param {sap.m.MessageItem} oMessageItem The item to be sanitized
1165
- * @private
1166
- */
1167
- MessageView.prototype._sanitizeDescription = function (oMessageItem) {
1168
- var sDescription = oMessageItem.getDescription();
1169
-
1170
- if (oMessageItem.getMarkupDescription()) {
1171
- var tagPolicy = this._getTagPolicy();
1172
- /*global html*/
1173
- sDescription = html.sanitizeWithPolicy(sDescription, tagPolicy);
1174
- }
1175
-
1176
- oMessageItem.setDescription(sDescription);
1177
- this._setDescription(oMessageItem);
1178
- };
1179
-
1180
1169
  /**
1181
1170
  * Handles click on a list item
1182
1171
  *
@@ -1248,7 +1237,7 @@ sap.ui.define([
1248
1237
 
1249
1238
  MessageView.prototype._navigateToDetails = function(oMessageItem, oListItem, sTransiotionName, bSuppressNavigate) {
1250
1239
  this._setTitle(oMessageItem, oListItem);
1251
- this._sanitizeDescription(oMessageItem);
1240
+ this._setDescription(oMessageItem);
1252
1241
  this._setIcon(oMessageItem, oListItem);
1253
1242
  this._detailsPage.invalidate();
1254
1243
  this.fireLongtextLoaded();