@openui5/sap.m 1.100.0 → 1.102.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +5 -5
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +2 -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 +10 -3
  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 +1 -1
  12. package/src/sap/m/Bar.js +12 -21
  13. package/src/sap/m/Breadcrumbs.js +3 -3
  14. package/src/sap/m/BreadcrumbsRenderer.js +0 -5
  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 +1 -1
  18. package/src/sap/m/Carousel.js +4 -1
  19. package/src/sap/m/CarouselLayout.js +1 -1
  20. package/src/sap/m/CarouselRenderer.js +2 -1
  21. package/src/sap/m/CheckBox.js +1 -1
  22. package/src/sap/m/ColorPalette.js +13 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +10 -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 +1 -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 +22 -2
  34. package/src/sap/m/ComboBoxBase.js +4 -2
  35. package/src/sap/m/ComboBoxTextField.js +1 -1
  36. package/src/sap/m/CustomDynamicDateOption.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 +53 -7
  41. package/src/sap/m/DatePickerRenderer.js +0 -1
  42. package/src/sap/m/DateRangeSelection.js +42 -4
  43. package/src/sap/m/DateTimeField.js +5 -2
  44. package/src/sap/m/DateTimeInput.js +1 -1
  45. package/src/sap/m/DateTimePicker.js +40 -53
  46. package/src/sap/m/DateTimePickerRenderer.js +2 -2
  47. package/src/sap/m/Dialog.js +21 -8
  48. package/src/sap/m/DialogRenderer.js +1 -1
  49. package/src/sap/m/DisplayListItem.js +1 -1
  50. package/src/sap/m/DraftIndicator.js +1 -1
  51. package/src/sap/m/DynamicDate.js +1 -1
  52. package/src/sap/m/DynamicDateFormat.js +5 -4
  53. package/src/sap/m/DynamicDateOption.js +12 -2
  54. package/src/sap/m/DynamicDateRange.js +107 -16
  55. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  56. package/src/sap/m/ExpandableText.js +1 -1
  57. package/src/sap/m/FacetFilter.js +8 -1
  58. package/src/sap/m/FacetFilterItem.js +1 -1
  59. package/src/sap/m/FacetFilterList.js +1 -1
  60. package/src/sap/m/FeedContent.js +1 -1
  61. package/src/sap/m/FeedInput.js +2 -2
  62. package/src/sap/m/FeedListItem.js +1 -1
  63. package/src/sap/m/FeedListItemAction.js +1 -1
  64. package/src/sap/m/Fiori20Adapter.js +2 -2
  65. package/src/sap/m/FlexBox.js +1 -1
  66. package/src/sap/m/FlexItemData.js +1 -1
  67. package/src/sap/m/FormattedText.js +10 -10
  68. package/src/sap/m/GenericTag.js +1 -1
  69. package/src/sap/m/GenericTagRenderer.js +10 -2
  70. package/src/sap/m/GenericTile.js +132 -16
  71. package/src/sap/m/GenericTileLineModeRenderer.js +80 -3
  72. package/src/sap/m/GenericTileRenderer.js +174 -87
  73. package/src/sap/m/GroupHeaderListItem.js +1 -1
  74. package/src/sap/m/GrowingEnablement.js +127 -93
  75. package/src/sap/m/GrowingList.js +1 -1
  76. package/src/sap/m/HBox.js +1 -1
  77. package/src/sap/m/HeaderContainer.js +41 -21
  78. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  79. package/src/sap/m/IconTabBar.js +3 -3
  80. package/src/sap/m/IconTabBarSelectList.js +1 -1
  81. package/src/sap/m/IconTabFilter.js +1 -1
  82. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  83. package/src/sap/m/IconTabHeader.js +1 -1
  84. package/src/sap/m/IconTabSeparator.js +1 -1
  85. package/src/sap/m/IllustratedMessage.js +19 -1
  86. package/src/sap/m/Illustration.js +1 -1
  87. package/src/sap/m/Image.js +1 -1
  88. package/src/sap/m/ImageContent.js +1 -1
  89. package/src/sap/m/Input.js +4 -10
  90. package/src/sap/m/InputBase.js +5 -5
  91. package/src/sap/m/InputListItem.js +1 -1
  92. package/src/sap/m/Label.js +1 -1
  93. package/src/sap/m/LightBox.js +1 -1
  94. package/src/sap/m/LightBoxItem.js +1 -1
  95. package/src/sap/m/Link.js +1 -1
  96. package/src/sap/m/List.js +1 -1
  97. package/src/sap/m/ListBase.js +52 -20
  98. package/src/sap/m/ListBaseRenderer.js +19 -3
  99. package/src/sap/m/ListItemBase.js +7 -5
  100. package/src/sap/m/MaskEnabler.js +1 -1
  101. package/src/sap/m/MaskInput.js +1 -1
  102. package/src/sap/m/MaskInputRule.js +1 -1
  103. package/src/sap/m/Menu.js +1 -1
  104. package/src/sap/m/MenuButton.js +5 -1
  105. package/src/sap/m/MenuItem.js +1 -1
  106. package/src/sap/m/MenuListItem.js +1 -1
  107. package/src/sap/m/MessageBox.js +1 -1
  108. package/src/sap/m/MessageItem.js +1 -1
  109. package/src/sap/m/MessageListItem.js +1 -1
  110. package/src/sap/m/MessagePage.js +1 -1
  111. package/src/sap/m/MessagePopover.js +18 -36
  112. package/src/sap/m/MessagePopoverItem.js +1 -1
  113. package/src/sap/m/MessageStrip.js +1 -1
  114. package/src/sap/m/MessageToast.js +1 -1
  115. package/src/sap/m/MessageView.js +1 -1
  116. package/src/sap/m/MultiComboBox.js +3 -2
  117. package/src/sap/m/MultiEditField.js +1 -1
  118. package/src/sap/m/MultiInput.js +8 -3
  119. package/src/sap/m/NavContainer.js +40 -40
  120. package/src/sap/m/NewsContent.js +1 -1
  121. package/src/sap/m/NotificationList.js +1 -1
  122. package/src/sap/m/NotificationListBase.js +175 -79
  123. package/src/sap/m/NotificationListGroup.js +1 -2
  124. package/src/sap/m/NotificationListGroupRenderer.js +4 -16
  125. package/src/sap/m/NotificationListItem.js +5 -16
  126. package/src/sap/m/NotificationListItemRenderer.js +0 -1
  127. package/src/sap/m/NumericContent.js +1 -1
  128. package/src/sap/m/NumericInput.js +3 -2
  129. package/src/sap/m/NumericInputRenderer.js +13 -1
  130. package/src/sap/m/ObjectAttribute.js +1 -1
  131. package/src/sap/m/ObjectAttributeRenderer.js +1 -1
  132. package/src/sap/m/ObjectHeader.js +1 -1
  133. package/src/sap/m/ObjectIdentifier.js +1 -1
  134. package/src/sap/m/ObjectListItem.js +1 -1
  135. package/src/sap/m/ObjectMarker.js +34 -10
  136. package/src/sap/m/ObjectMarkerRenderer.js +14 -2
  137. package/src/sap/m/ObjectNumber.js +1 -1
  138. package/src/sap/m/ObjectStatus.js +1 -1
  139. package/src/sap/m/OverflowToolbar.js +17 -1
  140. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  141. package/src/sap/m/OverflowToolbarButton.js +1 -1
  142. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  143. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  144. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  145. package/src/sap/m/P13nColumnsItem.js +1 -1
  146. package/src/sap/m/P13nColumnsPanel.js +1 -1
  147. package/src/sap/m/P13nConditionPanel.js +9 -12
  148. package/src/sap/m/P13nDialog.js +1 -1
  149. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  150. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  151. package/src/sap/m/P13nFilterItem.js +1 -1
  152. package/src/sap/m/P13nFilterPanel.js +1 -1
  153. package/src/sap/m/P13nGroupItem.js +1 -1
  154. package/src/sap/m/P13nGroupPanel.js +1 -1
  155. package/src/sap/m/P13nItem.js +1 -1
  156. package/src/sap/m/P13nPanel.js +1 -1
  157. package/src/sap/m/P13nSelectionItem.js +1 -1
  158. package/src/sap/m/P13nSelectionPanel.js +1 -1
  159. package/src/sap/m/P13nSortItem.js +1 -1
  160. package/src/sap/m/P13nSortPanel.js +1 -1
  161. package/src/sap/m/PDFViewer.js +3 -3
  162. package/src/sap/m/PDFViewerRenderer.js +15 -7
  163. package/src/sap/m/Page.js +4 -4
  164. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  165. package/src/sap/m/PagingButton.js +1 -1
  166. package/src/sap/m/Panel.js +1 -1
  167. package/src/sap/m/PlanningCalendar.js +14 -14
  168. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  169. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  170. package/src/sap/m/PlanningCalendarRow.js +1 -1
  171. package/src/sap/m/PlanningCalendarView.js +1 -1
  172. package/src/sap/m/Popover.js +15 -10
  173. package/src/sap/m/ProgressIndicator.js +1 -1
  174. package/src/sap/m/PullToRefresh.js +1 -1
  175. package/src/sap/m/QuickView.js +1 -1
  176. package/src/sap/m/QuickViewBase.js +1 -1
  177. package/src/sap/m/QuickViewCard.js +1 -1
  178. package/src/sap/m/QuickViewGroup.js +1 -1
  179. package/src/sap/m/QuickViewGroupElement.js +1 -1
  180. package/src/sap/m/QuickViewPage.js +1 -1
  181. package/src/sap/m/RadioButton.js +2 -2
  182. package/src/sap/m/RadioButtonGroup.js +3 -2
  183. package/src/sap/m/RangeSlider.js +19 -4
  184. package/src/sap/m/RatingIndicator.js +1 -1
  185. package/src/sap/m/ResponsivePopover.js +1 -1
  186. package/src/sap/m/ResponsiveScale.js +1 -1
  187. package/src/sap/m/ScrollBar.js +1 -1
  188. package/src/sap/m/ScrollContainer.js +1 -1
  189. package/src/sap/m/SearchField.js +1 -1
  190. package/src/sap/m/SegmentedButton.js +5 -3
  191. package/src/sap/m/SegmentedButtonItem.js +1 -1
  192. package/src/sap/m/Select.js +24 -3
  193. package/src/sap/m/SelectDialog.js +14 -18
  194. package/src/sap/m/SelectDialogBase.js +1 -1
  195. package/src/sap/m/SelectList.js +1 -1
  196. package/src/sap/m/SelectionDetails.js +1 -1
  197. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  198. package/src/sap/m/SelectionDetailsItem.js +1 -1
  199. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  200. package/src/sap/m/Shell.js +1 -1
  201. package/src/sap/m/SimpleFixFlex.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  204. package/src/sap/m/SinglePlanningCalendarGrid.js +94 -52
  205. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +10 -9
  206. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +22 -10
  207. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  208. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  209. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  210. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  211. package/src/sap/m/SlideTile.js +1 -1
  212. package/src/sap/m/Slider.js +1 -1
  213. package/src/sap/m/SliderTooltip.js +1 -1
  214. package/src/sap/m/SliderTooltipBase.js +1 -1
  215. package/src/sap/m/SliderTooltipContainer.js +5 -1
  216. package/src/sap/m/SplitApp.js +1 -1
  217. package/src/sap/m/SplitButton.js +1 -1
  218. package/src/sap/m/SplitContainer.js +1 -1
  219. package/src/sap/m/StandardDynamicDateOption.js +36 -13
  220. package/src/sap/m/StandardListItem.js +3 -3
  221. package/src/sap/m/StandardListItemRenderer.js +1 -1
  222. package/src/sap/m/StandardTile.js +1 -1
  223. package/src/sap/m/StandardTreeItem.js +1 -1
  224. package/src/sap/m/StepInput.js +3 -3
  225. package/src/sap/m/SuggestionItem.js +1 -1
  226. package/src/sap/m/SuggestionsPopover.js +5 -13
  227. package/src/sap/m/Switch.js +1 -1
  228. package/src/sap/m/TabContainer.js +1 -1
  229. package/src/sap/m/TabContainerItem.js +1 -1
  230. package/src/sap/m/TabStrip.js +5 -3
  231. package/src/sap/m/TabStripItem.js +1 -1
  232. package/src/sap/m/Table.js +34 -3
  233. package/src/sap/m/TablePersoController.js +1 -1
  234. package/src/sap/m/TablePersoDialog.js +1 -1
  235. package/src/sap/m/TablePersoProvider.js +1 -1
  236. package/src/sap/m/TableRenderer.js +9 -4
  237. package/src/sap/m/TableSelectDialog.js +13 -9
  238. package/src/sap/m/Text.js +1 -1
  239. package/src/sap/m/TextArea.js +1 -1
  240. package/src/sap/m/Tile.js +1 -1
  241. package/src/sap/m/TileContainer.js +1 -1
  242. package/src/sap/m/TileContent.js +8 -14
  243. package/src/sap/m/TileContentRenderer.js +16 -7
  244. package/src/sap/m/TimePicker.js +52 -60
  245. package/src/sap/m/TimePickerClock.js +1 -1
  246. package/src/sap/m/TimePickerClocks.js +1 -1
  247. package/src/sap/m/TimePickerInputs.js +1 -1
  248. package/src/sap/m/TimePickerInternals.js +1 -1
  249. package/src/sap/m/TimePickerRenderer.js +0 -1
  250. package/src/sap/m/TimePickerSlider.js +1 -1
  251. package/src/sap/m/TimePickerSliders.js +1 -1
  252. package/src/sap/m/Title.js +1 -1
  253. package/src/sap/m/TitlePropagationSupport.js +1 -1
  254. package/src/sap/m/ToggleButton.js +1 -1
  255. package/src/sap/m/Token.js +1 -1
  256. package/src/sap/m/Tokenizer.js +15 -3
  257. package/src/sap/m/Toolbar.js +7 -1
  258. package/src/sap/m/ToolbarLayoutData.js +1 -1
  259. package/src/sap/m/ToolbarSeparator.js +1 -1
  260. package/src/sap/m/ToolbarSpacer.js +1 -1
  261. package/src/sap/m/Tree.js +1 -1
  262. package/src/sap/m/TreeItemBase.js +1 -1
  263. package/src/sap/m/UploadCollection.js +1 -1
  264. package/src/sap/m/UploadCollectionItem.js +2 -1
  265. package/src/sap/m/UploadCollectionParameter.js +2 -1
  266. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +2 -1
  267. package/src/sap/m/VBox.js +1 -1
  268. package/src/sap/m/ValueStateHeader.js +1 -1
  269. package/src/sap/m/VariantManagement.js +2492 -0
  270. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  271. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  272. package/src/sap/m/ViewSettingsDialog.js +8 -9
  273. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  274. package/src/sap/m/ViewSettingsItem.js +1 -1
  275. package/src/sap/m/VisibleItem.js +2 -2
  276. package/src/sap/m/WheelSlider.js +1 -1
  277. package/src/sap/m/WheelSliderContainer.js +1 -1
  278. package/src/sap/m/Wizard.js +22 -4
  279. package/src/sap/m/WizardProgressNavigator.js +10 -3
  280. package/src/sap/m/WizardStep.js +1 -1
  281. package/src/sap/m/changeHandler/AddTableColumn.js +3 -5
  282. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  283. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  284. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  285. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  286. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  287. package/src/sap/m/designtime/ListBase.designtime.js +3 -0
  288. package/src/sap/m/designtime/VariantManagement.designtime.js +56 -0
  289. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  290. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  291. package/src/sap/m/inputUtils/highlightDOMElements.js +3 -2
  292. package/src/sap/m/library.js +55 -19
  293. package/src/sap/m/messagebundle.properties +168 -27
  294. package/src/sap/m/messagebundle_ar.properties +104 -14
  295. package/src/sap/m/messagebundle_bg.properties +104 -14
  296. package/src/sap/m/messagebundle_ca.properties +104 -14
  297. package/src/sap/m/messagebundle_cs.properties +104 -14
  298. package/src/sap/m/messagebundle_cy.properties +104 -14
  299. package/src/sap/m/messagebundle_da.properties +104 -14
  300. package/src/sap/m/messagebundle_de.properties +104 -14
  301. package/src/sap/m/messagebundle_el.properties +104 -14
  302. package/src/sap/m/messagebundle_en.properties +103 -13
  303. package/src/sap/m/messagebundle_en_GB.properties +103 -13
  304. package/src/sap/m/messagebundle_en_US_sappsd.properties +102 -12
  305. package/src/sap/m/messagebundle_en_US_saprigi.properties +102 -12
  306. package/src/sap/m/messagebundle_en_US_saptrc.properties +102 -12
  307. package/src/sap/m/messagebundle_es.properties +104 -14
  308. package/src/sap/m/messagebundle_es_MX.properties +104 -14
  309. package/src/sap/m/messagebundle_et.properties +104 -14
  310. package/src/sap/m/messagebundle_fi.properties +103 -13
  311. package/src/sap/m/messagebundle_fr.properties +105 -15
  312. package/src/sap/m/messagebundle_fr_CA.properties +104 -14
  313. package/src/sap/m/messagebundle_hi.properties +104 -14
  314. package/src/sap/m/messagebundle_hr.properties +104 -14
  315. package/src/sap/m/messagebundle_hu.properties +104 -14
  316. package/src/sap/m/messagebundle_id.properties +104 -14
  317. package/src/sap/m/messagebundle_it.properties +112 -22
  318. package/src/sap/m/messagebundle_iw.properties +104 -14
  319. package/src/sap/m/messagebundle_ja.properties +104 -14
  320. package/src/sap/m/messagebundle_kk.properties +104 -14
  321. package/src/sap/m/messagebundle_ko.properties +105 -15
  322. package/src/sap/m/messagebundle_lt.properties +104 -14
  323. package/src/sap/m/messagebundle_lv.properties +103 -13
  324. package/src/sap/m/messagebundle_ms.properties +104 -14
  325. package/src/sap/m/messagebundle_nl.properties +103 -13
  326. package/src/sap/m/messagebundle_no.properties +104 -14
  327. package/src/sap/m/messagebundle_pl.properties +104 -14
  328. package/src/sap/m/messagebundle_pt.properties +112 -22
  329. package/src/sap/m/messagebundle_pt_PT.properties +104 -14
  330. package/src/sap/m/messagebundle_ro.properties +104 -14
  331. package/src/sap/m/messagebundle_ru.properties +104 -14
  332. package/src/sap/m/messagebundle_sh.properties +104 -14
  333. package/src/sap/m/messagebundle_sk.properties +104 -14
  334. package/src/sap/m/messagebundle_sl.properties +104 -14
  335. package/src/sap/m/messagebundle_sv.properties +105 -15
  336. package/src/sap/m/messagebundle_th.properties +104 -14
  337. package/src/sap/m/messagebundle_tr.properties +104 -14
  338. package/src/sap/m/messagebundle_uk.properties +104 -14
  339. package/src/sap/m/messagebundle_vi.properties +104 -14
  340. package/src/sap/m/messagebundle_zh_CN.properties +104 -14
  341. package/src/sap/m/messagebundle_zh_TW.properties +104 -14
  342. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  343. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  344. package/src/sap/m/p13n/BasePanel.js +9 -3
  345. package/src/sap/m/p13n/Container.js +11 -4
  346. package/src/sap/m/p13n/GroupPanel.js +17 -5
  347. package/src/sap/m/p13n/Popup.js +9 -2
  348. package/src/sap/m/p13n/QueryPanel.js +89 -37
  349. package/src/sap/m/p13n/SelectionPanel.js +30 -5
  350. package/src/sap/m/p13n/SortPanel.js +27 -13
  351. package/src/sap/m/plugins/ColumnResizer.js +41 -6
  352. package/src/sap/m/plugins/DataStateIndicator.js +3 -2
  353. package/src/sap/m/plugins/PasteProvider.js +1 -1
  354. package/src/sap/m/plugins/PluginBase.js +1 -1
  355. package/src/sap/m/rules/CheckBox.support.js +1 -1
  356. package/src/sap/m/rules/Image.support.js +1 -1
  357. package/src/sap/m/rules/Link.support.js +1 -1
  358. package/src/sap/m/rules/MessagePage.support.js +1 -1
  359. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  360. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  361. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  362. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  363. package/src/sap/m/rules/Select.support.js +1 -1
  364. package/src/sap/m/rules/Table.support.js +3 -3
  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 +7 -14
  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/Util.js +98 -16
  406. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  407. package/src/sap/m/table/columnmenu/Entry.js +1 -11
  408. package/src/sap/m/table/columnmenu/Item.js +1 -1
  409. package/src/sap/m/table/columnmenu/ItemBase.js +11 -1
  410. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  411. package/src/sap/m/table/columnmenu/Menu.js +222 -34
  412. package/src/sap/m/table/columnmenu/MenuRenderer.js +5 -28
  413. package/src/sap/m/table/columnmenu/QuickAction.js +14 -3
  414. package/src/sap/m/table/columnmenu/QuickActionBase.js +11 -1
  415. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  416. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -5
  417. package/src/sap/m/table/columnmenu/QuickGroup.js +20 -16
  418. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  419. package/src/sap/m/table/columnmenu/QuickSort.js +2 -1
  420. package/src/sap/m/table/columnmenu/QuickSortItem.js +29 -28
  421. package/src/sap/m/table/columnmenu/QuickTotal.js +20 -25
  422. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  423. package/src/sap/m/themes/base/ActionListItem.less +1 -1
  424. package/src/sap/m/themes/base/Avatar.less +11 -5
  425. package/src/sap/m/themes/base/Button.less +1 -6
  426. package/src/sap/m/themes/base/Carousel.less +72 -87
  427. package/src/sap/m/themes/base/CheckBox.less +0 -1
  428. package/src/sap/m/themes/base/ColumnListItem.less +0 -3
  429. package/src/sap/m/themes/base/ColumnMenu.less +12 -4
  430. package/src/sap/m/themes/base/Dialog.less +10 -6
  431. package/src/sap/m/themes/base/GenericTile.less +758 -179
  432. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  433. package/src/sap/m/themes/base/IconTabBarSelectList.less +5 -4
  434. package/src/sap/m/themes/base/Input.less +1 -1
  435. package/src/sap/m/themes/base/InputBase.less +114 -11
  436. package/src/sap/m/themes/base/Label.less +3 -0
  437. package/src/sap/m/themes/base/LightBox.less +9 -7
  438. package/src/sap/m/themes/base/Link.less +12 -4
  439. package/src/sap/m/themes/base/ListBase.less +4 -0
  440. package/src/sap/m/themes/base/ListItemBase.less +1 -12
  441. package/src/sap/m/themes/base/MenuButton.less +16 -0
  442. package/src/sap/m/themes/base/MessageBox.less +5 -5
  443. package/src/sap/m/themes/base/MultiInput.less +1 -1
  444. package/src/sap/m/themes/base/NewsContent.less +0 -9
  445. package/src/sap/m/themes/base/NotificationListBase.less +9 -14
  446. package/src/sap/m/themes/base/NotificationListGroup.less +30 -44
  447. package/src/sap/m/themes/base/NotificationListItem.less +14 -18
  448. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  449. package/src/sap/m/themes/base/ObjectListItem.less +3 -0
  450. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  451. package/src/sap/m/themes/base/ObjectStatus.less +8 -0
  452. package/src/sap/m/themes/base/Panel.less +1 -1
  453. package/src/sap/m/themes/base/Popover.less +10 -7
  454. package/src/sap/m/themes/base/QuickView.less +14 -2
  455. package/src/sap/m/themes/base/RadioButton.less +21 -3
  456. package/src/sap/m/themes/base/RatingIndicator.less +4 -0
  457. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +3 -29
  458. package/src/sap/m/themes/base/SlideTile.less +18 -0
  459. package/src/sap/m/themes/base/Slider.less +18 -18
  460. package/src/sap/m/themes/base/StandardListItem.less +5 -9
  461. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  462. package/src/sap/m/themes/base/Table.less +18 -21
  463. package/src/sap/m/themes/base/TextArea.less +32 -0
  464. package/src/sap/m/themes/base/Token.less +17 -15
  465. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  466. package/src/sap/m/themes/base/Toolbar.less +1 -1
  467. package/src/sap/m/themes/base/UploadCollection.less +2 -0
  468. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  469. package/src/sap/m/themes/base/VariantManagement.less +97 -0
  470. package/src/sap/m/themes/base/Wizard.less +5 -4
  471. package/src/sap/m/themes/base/WizardProgressNavigator.less +8 -0
  472. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  473. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  474. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  475. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  476. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  477. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  478. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  479. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  480. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  481. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  482. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  483. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  484. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  485. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  486. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  487. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  488. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  489. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  490. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  491. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  492. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  493. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  494. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  495. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  496. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  497. package/src/sap/m/themes/base/library.source.less +1 -0
  498. package/src/sap/m/themes/sap_hcb/Carousel.less +3 -7
  499. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  500. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  501. package/src/sap/m/themes/sap_hcb/Panel.less +4 -0
  502. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  503. package/src/sap/m/themes/sap_hcb/Slider.less +11 -0
  504. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  505. package/src/sap/m/themes/sap_hcb/Tokenizer.less +1 -0
  506. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  507. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  508. package/src/sap/m/upload/UploadSet.js +162 -17
  509. package/src/sap/m/upload/UploadSetItem.js +24 -1
  510. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +45 -0
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @extends sap.ui.core.Control
44
44
  *
45
45
  * @author SAP SE
46
- * @version 1.100.0
46
+ * @version 1.102.1
47
47
  *
48
48
  * @constructor
49
49
  * @public
@@ -671,24 +671,24 @@ sap.ui.define([
671
671
  *
672
672
  * Calling this navigation method triggers first the (cancelable) "navigate" event on the NavContainer, then the "BeforeHide" pseudo event on the source page and "BeforeFirstShow" (if applicable) and"BeforeShow" on the target page. Later - after the transition has completed - the "AfterShow" pseudo event is triggered on the target page and "AfterHide" on the page which has been left. The given data object is available in the "BeforeFirstShow", "BeforeShow" and "AfterShow" event object as "data" property.
673
673
  *
674
- * @param {string} pageId
674
+ * @param {string} vPageIdOrControl
675
675
  * The screen to which drilldown should happen. The ID or the control itself can be given.
676
- * @param {string} [transitionName=slide]
676
+ * @param {string} [sTransitionName=slide]
677
677
  * The type of the transition/animation to apply. Options are "slide" (horizontal movement from the right), "baseSlide", "fade", "flip", and "show"
678
678
  * and the names of any registered custom transitions.
679
679
  *
680
680
  * None of the standard transitions is currently making use of any given transition parameters.
681
- * @param {object} [data={}]
681
+ * @param {object} [oData={}]
682
682
  * Since version 1.7.1. This optional object can carry any payload data which should be made available to the target page.
683
683
  * The "BeforeShow" event on the target page will contain this data object as "data" property.
684
684
 
685
685
  * Use case: in scenarios where the entity triggering the navigation can or should not directly initialize the target page, it can fill this object and the target page itself (or a listener on it) can take over the initialization, using the given data.
686
686
  *
687
- * When the <code>oTransitionParameters</code> parameter is used, this <code>data</code> parameter must also be given (either as object or as <code>null</code> or <code>undefined</code>) in order to have a proper parameter order.
687
+ * When the <code>oTransitionParameters</code> parameter is used, this <code>oData</code> parameter must also be given (either as object or as <code>null</code> or <code>undefined</code>) in order to have a proper parameter order.
688
688
  * @param {object} [oTransitionParameters={}]
689
689
  * Since version 1.7.1. This optional object can contain additional information for the transition function, like the DOM element which triggered the transition or the desired transition duration.
690
690
  *
691
- * For a proper parameter order, the <code>data</code> parameter must be given when the <code>oTransitionParameters</code> parameter is used (it can be given as <code>null</code> or <code>undefined</code>).
691
+ * For a proper parameter order, the <code>oData</code> parameter must be given when the <code>oTransitionParameters</code> parameter is used (it can be given as <code>null</code> or <code>undefined</code>).
692
692
  *
693
693
  * NOTE: it depends on the transition function how the object should be structured and which parameters are actually used to influence the transition.
694
694
  * The "show", "slide", "baseSlide" and "fade" transitions do not use any parameter.
@@ -696,44 +696,44 @@ sap.ui.define([
696
696
  * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
697
697
  * @returns {this} The <code>sap.m.NavContainer</code> instance
698
698
  */
699
- NavContainer.prototype.to = function (pageId, transitionName, data, oTransitionParameters, bFromQueue) {
700
- if (pageId instanceof Control) {
701
- pageId = pageId.getId();
699
+ NavContainer.prototype.to = function (vPageIdOrControl, sTransitionName, oData, oTransitionParameters, bFromQueue) {
700
+ if (vPageIdOrControl instanceof Control) {
701
+ vPageIdOrControl = vPageIdOrControl.getId();
702
702
  }
703
703
 
704
704
  // fix parameters
705
- if (typeof (transitionName) !== "string") {
706
- // transitionName is omitted, shift parameters
707
- oTransitionParameters = data;
708
- data = transitionName;
705
+ if (typeof (sTransitionName) !== "string") {
706
+ // sTransitionName is omitted, shift parameters
707
+ oTransitionParameters = oData;
708
+ oData = sTransitionName;
709
709
  }
710
- transitionName = transitionName || this.getDefaultTransitionName();
710
+ sTransitionName = sTransitionName || this.getDefaultTransitionName();
711
711
  oTransitionParameters = oTransitionParameters || {};
712
- data = data || {};
713
- var oFromPageInfo = {id: pageId, transition: transitionName, data: data};
712
+ oData = oData || {};
713
+ var oFromPageInfo = {id: vPageIdOrControl, transition: sTransitionName, data: oData};
714
714
 
715
715
  // make sure the initial page is on the stack
716
- this._ensurePageStackInitialized(data);
716
+ this._ensurePageStackInitialized(oData);
717
717
 
718
718
  //add to the queue before checking the current page, because this might change
719
719
  if (this._bNavigating) {
720
- Log.info(this.toString() + ": Cannot navigate to page " + pageId + " because another navigation is already in progress. - navigation will be executed after the previous one");
720
+ Log.info(this.toString() + ": Cannot navigate to page " + vPageIdOrControl + " because another navigation is already in progress. - navigation will be executed after the previous one");
721
721
 
722
722
  this._aQueue.push(jQuery.proxy(function () {
723
- this.to(pageId, transitionName, data, oTransitionParameters, true);
723
+ this.to(vPageIdOrControl, sTransitionName, oData, oTransitionParameters, true);
724
724
  }, this));
725
725
 
726
726
  return this;
727
727
  }
728
728
 
729
- // If to is called before rendering, remember the data so we can pass it to the events as soon as the navContainer gets rendered
729
+ // If to is called before rendering, remember the oData so we can pass it to the events as soon as the navContainer gets rendered
730
730
  if (this._bNeverRendered) {
731
- this._oToDataBeforeRendering = data;
731
+ this._oToDataBeforeRendering = oData;
732
732
  }
733
733
 
734
734
  var oFromPage = this.getCurrentPage();
735
- if (oFromPage && (oFromPage.getId() === pageId)) { // cannot navigate to the page that is already current
736
- Log.warning(this.toString() + ": Cannot navigate to page " + pageId + " because this is the current page.");
735
+ if (oFromPage && (oFromPage.getId() === vPageIdOrControl)) { // cannot navigate to the page that is already current
736
+ Log.warning(this.toString() + ": Cannot navigate to page " + vPageIdOrControl + " because this is the current page.");
737
737
  if (bFromQueue) {
738
738
  this._dequeueNavigation();
739
739
  }
@@ -746,11 +746,11 @@ sap.ui.define([
746
746
  return this;
747
747
  }
748
748
 
749
- var oToPage = this.getPage(pageId);
749
+ var oToPage = this.getPage(vPageIdOrControl);
750
750
 
751
751
  if (oToPage) {
752
752
  if (!oFromPage) {
753
- Log.warning("Navigation triggered to page with ID '" + pageId + "', but the current page is not known/aggregated by " + this);
753
+ Log.warning("Navigation triggered to page with ID '" + vPageIdOrControl + "', but the current page is not known/aggregated by " + this);
754
754
  return this;
755
755
  }
756
756
 
@@ -758,8 +758,8 @@ sap.ui.define([
758
758
  from: oFromPage,
759
759
  fromId: oFromPage.getId(),
760
760
  to: oToPage,
761
- toId: pageId,
762
- firstTime: !this._mVisitedPages[pageId],
761
+ toId: vPageIdOrControl,
762
+ firstTime: !this._mVisitedPages[vPageIdOrControl],
763
763
  isTo: true,
764
764
  isBack: false,
765
765
  isBackToTop: false,
@@ -781,27 +781,27 @@ sap.ui.define([
781
781
  // TODO: let one of the pages also cancel navigation?
782
782
  var oEvent = jQuery.Event("BeforeHide", oNavInfo);
783
783
  oEvent.srcControl = this; // store the element on the event (aligned with jQuery syntax)
784
- // no data needed for hiding
784
+ // no oData needed for hiding
785
785
  oFromPage._handleEvent(oEvent);
786
786
 
787
- if (!this._mVisitedPages[pageId]) { // if this page has not been shown before
787
+ if (!this._mVisitedPages[vPageIdOrControl]) { // if this page has not been shown before
788
788
  oEvent = jQuery.Event("BeforeFirstShow", oNavInfo);
789
789
  oEvent.srcControl = this;
790
- oEvent.data = data || {};
790
+ oEvent.data = oData || {};
791
791
  oEvent.backData = {};
792
792
  oToPage._handleEvent(oEvent);
793
793
  }
794
794
 
795
795
  oEvent = jQuery.Event("BeforeShow", oNavInfo);
796
796
  oEvent.srcControl = this;
797
- oEvent.data = data || {};
797
+ oEvent.data = oData || {};
798
798
  oEvent.backData = {};
799
799
  oToPage._handleEvent(oEvent);
800
800
 
801
801
 
802
802
  this._pageStack.push(oFromPageInfo); // this actually causes/is the navigation
803
- Log.info(this.toString() + ": navigating to page '" + pageId + "': " + oToPage.toString());
804
- this._mVisitedPages[pageId] = true;
803
+ Log.info(this.toString() + ": navigating to page '" + vPageIdOrControl + "': " + oToPage.toString());
804
+ this._mVisitedPages[vPageIdOrControl] = true;
805
805
 
806
806
  if (!this.getDomRef()) { // the wanted animation has been recorded, but when the NavContainer is not rendered, we cannot animate, so just return
807
807
  Log.info("'Hidden' 'to' navigation in not-rendered NavContainer " + this.toString());
@@ -826,33 +826,33 @@ sap.ui.define([
826
826
  oToPage.addStyleClass("sapMNavItemHidden").removeStyleClass("sapMNavItemRendering");
827
827
  }
828
828
 
829
- var oTransition = NavContainer.transitions[transitionName] || NavContainer.transitions["slide"];
829
+ var oTransition = NavContainer.transitions[sTransitionName] || NavContainer.transitions["slide"];
830
830
  // Track proper invocation of the callback TODO: only do this during development?
831
831
  var iCompleted = this._iTransitionsCompleted;
832
832
  var that = this;
833
833
  window.setTimeout(function () {
834
834
  if (that && (that._iTransitionsCompleted < iCompleted + 1)) {
835
- Log.warning("Transition '" + transitionName + "' 'to' was triggered five seconds ago, but has not yet invoked the end-of-transition callback.");
835
+ Log.warning("Transition '" + sTransitionName + "' 'to' was triggered five seconds ago, but has not yet invoked the end-of-transition callback.");
836
836
  }
837
837
  }, fnGetDelay(5000));
838
838
 
839
839
  this._bNavigating = true;
840
840
 
841
841
  // check both params since they might have shifted
842
- var sTransitionDirection = (data.safeBackToPage || oTransitionParameters.safeBackToPage) ? "back" : "to";
842
+ var sTransitionDirection = (oData.safeBackToPage || oTransitionParameters.safeBackToPage) ? "back" : "to";
843
843
 
844
- this._cacheTransitionInfo(transitionName, sTransitionDirection);
844
+ this._cacheTransitionInfo(sTransitionName, sTransitionDirection);
845
845
 
846
846
  oTransition[sTransitionDirection].call(this, oFromPage, oToPage, jQuery.proxy(function () {
847
- this._afterTransitionCallback(oNavInfo, data);
847
+ this._afterTransitionCallback(oNavInfo, oData);
848
848
  }, this), oTransitionParameters); // trigger the transition
849
849
 
850
850
  } else {
851
- Log.info("Navigation to page with ID '" + pageId + "' has been aborted by the application");
851
+ Log.info("Navigation to page with ID '" + vPageIdOrControl + "' has been aborted by the application");
852
852
  }
853
853
 
854
854
  } else {
855
- Log.warning("Navigation triggered to page with ID '" + pageId + "', but this page is not known/aggregated by " + this);
855
+ Log.warning("Navigation triggered to page with ID '" + vPageIdOrControl + "', but this page is not known/aggregated by " + this);
856
856
  }
857
857
  return this;
858
858
  };
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.core.Control
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.100.0
29
+ * @version 1.102.1
30
30
  * @since 1.34
31
31
  *
32
32
  * @public
@@ -27,7 +27,7 @@ function(
27
27
  * @extends sap.m.ListBase
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.100.0
30
+ * @version 1.102.1
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -9,6 +9,7 @@ sap.ui.define([
9
9
  'sap/ui/core/Core',
10
10
  'sap/ui/core/Element',
11
11
  'sap/ui/Device',
12
+ 'sap/ui/core/ResizeHandler',
12
13
  './ListItemBase',
13
14
  './Button',
14
15
  './ToolbarSeparator',
@@ -21,6 +22,7 @@ sap.ui.define([
21
22
  Core,
22
23
  Element,
23
24
  Device,
25
+ ResizeHandler,
24
26
  ListItemBase,
25
27
  Button,
26
28
  ToolbarSeparator,
@@ -31,12 +33,18 @@ sap.ui.define([
31
33
  coreLibrary) {
32
34
  'use strict';
33
35
 
36
+ var NLI_RANGE_SET = "NLIRangeSet";
37
+ Device.media.initRangeSet(NLI_RANGE_SET, [600], "px", ["S", "M"], true);
38
+
34
39
  // shortcut for sap.ui.core.Priority
35
40
  var Priority = coreLibrary.Priority;
36
41
 
37
42
  // shortcut for sap.m.ButtonType
38
43
  var ButtonType = library.ButtonType;
39
44
 
45
+ // shortcut for sap.m.ToolbarStyle
46
+ var ToolbarStyle = library.ToolbarStyle;
47
+
40
48
  // shortcut for sap.m.OverflowToolbarPriority
41
49
  var OverflowToolbarPriority = library.OverflowToolbarPriority;
42
50
 
@@ -78,7 +86,7 @@ sap.ui.define([
78
86
  * @extends sap.m.ListItemBase
79
87
  *
80
88
  * @author SAP SE
81
- * @version 1.100.0
89
+ * @version 1.102.1
82
90
  *
83
91
  * @constructor
84
92
  * @public
@@ -183,8 +191,16 @@ sap.ui.define([
183
191
  return '';
184
192
  };
185
193
 
186
- NotificationListBase.prototype.getButtons = function () {
194
+ /**
195
+ * @override
196
+ */
197
+ NotificationListBase.prototype.setProperty = function () {
198
+ this._resetButtonsOverflow();
187
199
 
200
+ return ListItemBase.prototype.setProperty.apply(this, arguments);
201
+ };
202
+
203
+ NotificationListBase.prototype.getButtons = function () {
188
204
  var closeButton = this._getCloseButton(),
189
205
  toolbarSeparator = this._getToolbarSeparator();
190
206
 
@@ -194,25 +210,25 @@ sap.ui.define([
194
210
  };
195
211
 
196
212
  NotificationListBase.prototype.addButton = function (oButton) {
197
-
198
213
  var overflowToolbar = this._getOverflowToolbar(),
199
214
  index = overflowToolbar.getContent().length;
200
215
 
201
- if (Device.system.phone) {
216
+ if (this._getToolbarSeparator()) {
202
217
  index -= 2;
203
218
  }
204
219
 
205
220
  overflowToolbar.insertContent(oButton, index);
206
221
 
222
+ this._resetButtonsOverflow();
207
223
  this.invalidate();
208
224
 
209
225
  return this;
210
226
  };
211
227
 
212
228
  NotificationListBase.prototype.insertButton = function (oButton, index) {
213
-
214
229
  this._getOverflowToolbar().insertContent(oButton, index);
215
230
 
231
+ this._resetButtonsOverflow();
216
232
  this.invalidate();
217
233
 
218
234
  return this;
@@ -221,6 +237,7 @@ sap.ui.define([
221
237
  NotificationListBase.prototype.removeButton = function (oButton) {
222
238
  var result = this._getOverflowToolbar().removeContent(oButton.getId());
223
239
 
240
+ this._resetButtonsOverflow();
224
241
  this.invalidate();
225
242
 
226
243
  return result;
@@ -231,9 +248,10 @@ sap.ui.define([
231
248
  buttons = this.getButtons();
232
249
 
233
250
  buttons.forEach(function (button) {
234
- overflowToolbar.removeContent(button.getId());
251
+ overflowToolbar.removeContent(button);
235
252
  });
236
253
 
254
+ this._resetButtonsOverflow();
237
255
  this.invalidate();
238
256
 
239
257
  return this;
@@ -246,6 +264,7 @@ sap.ui.define([
246
264
  button.destroy();
247
265
  });
248
266
 
267
+ this._resetButtonsOverflow();
249
268
  this.invalidate();
250
269
 
251
270
  return this;
@@ -270,30 +289,13 @@ sap.ui.define([
270
289
  };
271
290
 
272
291
  NotificationListBase.prototype._getOverflowToolbar = function () {
273
- var overflowToolbar = this.getAggregation('_overflowToolbar'),
274
- toolbarSeparator,
275
- oCloseButton;
292
+ var overflowToolbar = this.getAggregation('_overflowToolbar');
276
293
 
277
294
  if (!overflowToolbar) {
278
- overflowToolbar = new OverflowToolbar(this.getId() + '-overflowToolbar', {});
279
-
295
+ overflowToolbar = new OverflowToolbar(this.getId() + '-overflowToolbar', {
296
+ style: ToolbarStyle.Clear
297
+ });
280
298
  this.setAggregation("_overflowToolbar", overflowToolbar, true);
281
-
282
- if (Device.system.phone) {
283
-
284
- oCloseButton = this._getCloseButton();
285
- oCloseButton.setLayoutData(new OverflowToolbarLayoutData({
286
- priority: OverflowToolbarPriority.AlwaysOverflow
287
- }));
288
-
289
- toolbarSeparator = new ToolbarSeparator();
290
- toolbarSeparator.setLayoutData(new OverflowToolbarLayoutData({
291
- priority: OverflowToolbarPriority.AlwaysOverflow
292
- }));
293
-
294
- overflowToolbar.addContent(toolbarSeparator);
295
- overflowToolbar.addContent(oCloseButton);
296
- }
297
299
  }
298
300
 
299
301
  return overflowToolbar;
@@ -306,67 +308,70 @@ sap.ui.define([
306
308
  overflowToolbarContent,
307
309
  closeButtonIndex;
308
310
 
309
- if (Device.system.phone) {
310
-
311
- overflowToolbar = this._getOverflowToolbar();
312
- overflowToolbarContent = overflowToolbar.getContent();
311
+ overflowToolbar = this._getOverflowToolbar();
312
+ overflowToolbarContent = overflowToolbar.getContent();
313
313
 
314
- if (overflowToolbar && overflowToolbarContent.length) {
315
- closeButtonIndex = overflowToolbarContent.length - 1;
314
+ if (overflowToolbarContent.length) {
315
+ closeButtonIndex = overflowToolbarContent.length - 1;
316
+ closeButton = overflowToolbarContent[closeButtonIndex];
316
317
 
317
- closeButton = overflowToolbarContent[closeButtonIndex];
318
+ if (closeButton.getId() !== this.getId() + "-closeButtonX") {
319
+ closeButton = null;
318
320
  }
319
- } else {
320
- closeButton = this.getAggregation("_closeButton");
321
321
  }
322
322
 
323
323
  if (!closeButton) {
324
- if (Device.system.phone) {
325
- closeButton = new Button(this.getId() + '-closeButtonOverflow', {
326
- text: this.isA("sap.m.NotificationListItem") ? closeText : closeAllText,
327
- type: ButtonType.Default,
328
- press: function () {
329
- this.close();
330
- }.bind(this)
331
- });
332
- } else {
333
- closeButton = new Button(this.getId() + '-closeButtonX', {
334
- icon: IconPool.getIconURI('decline'),
335
- type: ButtonType.Transparent,
336
- tooltip: this.isA("sap.m.NotificationListItem") ? closeText : closeAllText,
337
- press: function () {
338
- this.close();
339
- }.bind(this)
340
- });
341
-
342
- this.setAggregation("_closeButton", closeButton);
343
- }
324
+ closeButton = this.getAggregation("_closeButton");
344
325
  }
345
326
 
346
327
  return closeButton;
347
328
  };
348
329
 
349
- NotificationListBase.prototype._getToolbarSeparator = function () {
330
+ NotificationListBase.prototype._createCloseButton = function () {
331
+ var closeButton,
332
+ isNotificationListGroup = this.isA("sap.m.NotificationListGroup"),
333
+ isCollapsed = isNotificationListGroup && this.getCollapsed();
334
+
335
+ if (this._isSmallSize() && !isCollapsed) {
336
+ closeButton = new Button(this.getId() + '-closeButtonX', {
337
+ text: this.isA("sap.m.NotificationListItem") ? closeText : closeAllText,
338
+ type: ButtonType.Default,
339
+ press: function () {
340
+ this.close();
341
+ }.bind(this)
342
+ });
343
+ } else {
344
+ closeButton = new Button(this.getId() + '-closeButtonX', {
345
+ icon: IconPool.getIconURI('decline'),
346
+ type: ButtonType.Transparent,
347
+ tooltip: this.isA("sap.m.NotificationListItem") ? closeText : closeAllText,
348
+ press: function () {
349
+ this.close();
350
+ }.bind(this)
351
+ });
350
352
 
351
- if (!Device.system.phone) {
352
- return null;
353
+ this.setAggregation("_closeButton", closeButton);
353
354
  }
354
355
 
356
+ return closeButton;
357
+ };
358
+
359
+ NotificationListBase.prototype._getToolbarSeparator = function () {
355
360
  var toolbarSeparator,
356
361
  overflowToolbar = this._getOverflowToolbar(),
357
362
  overflowToolbarContent = overflowToolbar.getContent(),
358
363
  toolbarSeparatorIndex;
359
364
 
360
- if (overflowToolbar && overflowToolbarContent.length) {
365
+ if (overflowToolbarContent.length) {
361
366
  toolbarSeparatorIndex = overflowToolbarContent.length - 2;
362
367
  toolbarSeparator = overflowToolbarContent[toolbarSeparatorIndex];
363
368
  }
364
369
 
365
- return toolbarSeparator;
366
- };
367
-
368
- NotificationListBase.prototype.exit = function () {
370
+ if (toolbarSeparator && toolbarSeparator.isA("sap.m.ToolbarSeparator")) {
371
+ return toolbarSeparator;
372
+ }
369
373
 
374
+ return null;
370
375
  };
371
376
 
372
377
  NotificationListBase.prototype._hasActionButtons = function () {
@@ -374,14 +379,13 @@ sap.ui.define([
374
379
  };
375
380
 
376
381
  NotificationListBase.prototype._shouldRenderCloseButton = function () {
377
- return !Device.system.phone && this.getShowCloseButton();
382
+ return !this._isSmallSize() && this.getShowCloseButton();
378
383
  };
379
384
 
380
385
  NotificationListBase.prototype._shouldRenderOverflowToolbar = function () {
381
-
382
386
  var hasActionButtons = this._hasActionButtons();
383
387
 
384
- if (Device.system.phone) {
388
+ if (this._isSmallSize()) {
385
389
  return hasActionButtons || this.getShowCloseButton();
386
390
  }
387
391
 
@@ -389,36 +393,108 @@ sap.ui.define([
389
393
  };
390
394
 
391
395
  NotificationListBase.prototype.onBeforeRendering = function () {
396
+ if (this._resizeListenerId) {
397
+ ResizeHandler.deregister(this._resizeListenerId);
398
+ this._resizeListenerId = null;
399
+ }
392
400
 
393
- var buttons = this.getButtons(),
394
- firstButtonOverflow,
395
- button;
401
+ if (!this._sCurrentLayoutClassName) {
402
+ this._destroyCloseBtnAndSeparator();
403
+ }
404
+ };
405
+
406
+ NotificationListBase.prototype.onAfterRendering = function() {
407
+ if (this.getDomRef()) {
408
+ this._resizeListenerId = ResizeHandler.register(this.getDomRef(), this._onResize.bind(this));
409
+ }
396
410
 
397
- if (Device.system.phone) {
398
- this._updatePhoneButtons();
411
+ this._onResize();
412
+ };
413
+
414
+ NotificationListBase.prototype.exit = function () {
415
+ if (this._resizeListenerId) {
416
+ ResizeHandler.deregister(this._resizeListenerId);
417
+ this._resizeListenerId = null;
418
+ }
419
+
420
+ this._sCurrentLayoutClassName = null;
421
+ };
422
+
423
+ NotificationListBase.prototype._onResize = function () {
424
+ var oDomRef = this.getDomRef(),
425
+ oMediaRange,
426
+ sClassName;
427
+
428
+ if (!oDomRef) {
429
+ return;
430
+ }
431
+
432
+ oMediaRange = Device.media.getCurrentRange(NLI_RANGE_SET, oDomRef.offsetWidth);
433
+ sClassName = "sapMNLIB-Layout" + oMediaRange.name;
434
+
435
+ if (this._sCurrentLayoutClassName === sClassName) {
399
436
  return;
400
437
  }
401
438
 
402
- firstButtonOverflow = buttons.length > 1 ? OverflowToolbarPriority.AlwaysOverflow : OverflowToolbarPriority.NeverOverflow;
439
+ if (this._sCurrentLayoutClassName) {
440
+ this.removeStyleClass(this._sCurrentLayoutClassName);
441
+ }
442
+
443
+ this.addStyleClass(sClassName);
444
+
445
+ this._sCurrentLayoutClassName = sClassName;
446
+
447
+ this._arrangeButtons();
448
+ };
449
+
450
+ NotificationListBase.prototype._destroyCloseBtnAndSeparator = function () {
451
+ var closeButton = this._getCloseButton(),
452
+ toolbarSeparator = this._getToolbarSeparator();
453
+
454
+ if (closeButton) {
455
+ closeButton.destroy();
456
+ }
457
+
458
+ if (toolbarSeparator) {
459
+ toolbarSeparator.destroy();
460
+ }
461
+ };
462
+
463
+ NotificationListBase.prototype._arrangeButtons = function () {
464
+ this._destroyCloseBtnAndSeparator();
465
+
466
+ if (this._isSmallSize()) {
467
+ this._arrangeSSizeButtons();
468
+ } else {
469
+ this._arrangeMSizeButtons();
470
+ }
471
+ };
472
+
473
+ NotificationListBase.prototype._arrangeMSizeButtons = function () {
474
+ var button,
475
+ buttons = this.getButtons(),
476
+ buttonOverflowPriorityType = buttons.length > 1 ? OverflowToolbarPriority.AlwaysOverflow : OverflowToolbarPriority.NeverOverflow;
477
+
478
+ this._createCloseButton();
403
479
 
404
480
  for (var i = 0; i < buttons.length; i++) {
405
481
  button = buttons[i];
406
482
 
407
483
  button.setLayoutData(new OverflowToolbarLayoutData({
408
- priority: i === 0 ? firstButtonOverflow : OverflowToolbarPriority.AlwaysOverflow
484
+ priority: buttonOverflowPriorityType
409
485
  }));
410
486
  }
411
487
  };
412
488
 
413
- NotificationListBase.prototype._updatePhoneButtons = function () {
414
-
415
- var closeButton = this._getCloseButton(),
489
+ NotificationListBase.prototype._arrangeSSizeButtons = function () {
490
+ var overflowToolbar = this._getOverflowToolbar(),
491
+ closeButton = this._createCloseButton(),
416
492
  isNotificationListGroup = this.isA("sap.m.NotificationListGroup"),
417
493
  buttonText = isNotificationListGroup ? closeAllText : closeText,
418
494
  isCollapsed = isNotificationListGroup && this.getCollapsed(),
419
495
  hasActionButtons = !isCollapsed && this._hasActionButtons(),
420
496
  showCloseButton = this.getShowCloseButton(),
421
- toolbarSeparator = this._getToolbarSeparator(),
497
+ toolbarSeparator = new ToolbarSeparator(),
422
498
  priority;
423
499
 
424
500
  this.getButtons().forEach(function (button) {
@@ -435,6 +511,17 @@ sap.ui.define([
435
511
  }));
436
512
  });
437
513
 
514
+ closeButton.setLayoutData(new OverflowToolbarLayoutData({
515
+ priority: OverflowToolbarPriority.AlwaysOverflow
516
+ }));
517
+
518
+ toolbarSeparator.setLayoutData(new OverflowToolbarLayoutData({
519
+ priority: OverflowToolbarPriority.AlwaysOverflow
520
+ }));
521
+
522
+ overflowToolbar.addContent(toolbarSeparator);
523
+ overflowToolbar.addContent(closeButton);
524
+
438
525
  if (!showCloseButton) {
439
526
  closeButton.setVisible(false);
440
527
  toolbarSeparator.setVisible(false);
@@ -453,7 +540,6 @@ sap.ui.define([
453
540
  }));
454
541
 
455
542
  toolbarSeparator.setVisible(true);
456
-
457
543
  } else {
458
544
  closeButton.setText('');
459
545
  closeButton.setTooltip(buttonText);
@@ -503,5 +589,15 @@ sap.ui.define([
503
589
  return priorityIcon;
504
590
  };
505
591
 
592
+ NotificationListBase.prototype._isSmallSize = function () {
593
+ return this._sCurrentLayoutClassName === "sapMNLIB-LayoutS";
594
+ };
595
+
596
+ NotificationListBase.prototype._resetButtonsOverflow = function () {
597
+ // with this line, the actions buttons will be re-arranged
598
+ // next time when the "_onResize" is called
599
+ this._sCurrentLayoutClassName = null;
600
+ };
601
+
506
602
  return NotificationListBase;
507
603
  });
@@ -66,7 +66,7 @@ function(
66
66
  * @extends sap.m.NotificationListBase
67
67
  *
68
68
  * @author SAP SE
69
- * @version 1.100.0
69
+ * @version 1.102.1
70
70
  *
71
71
  * @constructor
72
72
  * @public
@@ -320,7 +320,6 @@ function(
320
320
  * @private
321
321
  */
322
322
  NotificationListGroup.prototype.onBeforeRendering = function () {
323
-
324
323
  NotificationListBase.prototype.onBeforeRendering.apply(this, arguments);
325
324
 
326
325
  this._getCollapseButton().setVisible(this.getEnableCollapseButtonWhenEmpty() || this._getVisibleItemsCount() > 0);