@openui5/sap.m 1.108.1 → 1.109.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 (443) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +1 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +1 -1
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/ActionTile.js +1 -1
  9. package/src/sap/m/ActionTileContent.js +1 -1
  10. package/src/sap/m/AdditionalTextButton.js +1 -1
  11. package/src/sap/m/App.js +1 -1
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +1 -1
  14. package/src/sap/m/Bar.js +1 -1
  15. package/src/sap/m/Breadcrumbs.js +1 -1
  16. package/src/sap/m/BusyDialog.js +1 -1
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +1 -1
  19. package/src/sap/m/Carousel.js +5 -3
  20. package/src/sap/m/CarouselLayout.js +1 -1
  21. package/src/sap/m/CheckBox.js +3 -2
  22. package/src/sap/m/ColorPalette.js +1 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +1 -1
  25. package/src/sap/m/ColumnHeaderPopover.js +8 -4
  26. package/src/sap/m/ColumnListItem.js +19 -1
  27. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  32. package/src/sap/m/ComboBox.js +1 -1
  33. package/src/sap/m/ComboBoxBase.js +1 -1
  34. package/src/sap/m/ComboBoxTextField.js +1 -1
  35. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  36. package/src/sap/m/CustomListItem.js +1 -1
  37. package/src/sap/m/CustomTile.js +1 -1
  38. package/src/sap/m/CustomTreeItem.js +1 -1
  39. package/src/sap/m/DatePicker.js +1 -1
  40. package/src/sap/m/DateRangeSelection.js +2 -2
  41. package/src/sap/m/DateTimeField.js +1 -1
  42. package/src/sap/m/DateTimeInput.js +1 -1
  43. package/src/sap/m/DateTimePicker.js +7 -11
  44. package/src/sap/m/Dialog.js +5 -5
  45. package/src/sap/m/DisplayListItem.js +1 -1
  46. package/src/sap/m/DraftIndicator.js +1 -1
  47. package/src/sap/m/DynamicDate.js +1 -1
  48. package/src/sap/m/DynamicDateOption.js +1 -1
  49. package/src/sap/m/DynamicDateRange.js +1 -1
  50. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  51. package/src/sap/m/ExpandableText.js +1 -1
  52. package/src/sap/m/FacetFilter.js +1 -1
  53. package/src/sap/m/FacetFilterItem.js +1 -1
  54. package/src/sap/m/FacetFilterList.js +1 -1
  55. package/src/sap/m/FeedContent.js +1 -1
  56. package/src/sap/m/FeedInput.js +1 -1
  57. package/src/sap/m/FeedListItem.js +1 -1
  58. package/src/sap/m/FeedListItemAction.js +1 -1
  59. package/src/sap/m/Fiori20Adapter.js +2 -2
  60. package/src/sap/m/FlexBox.js +1 -1
  61. package/src/sap/m/FlexItemData.js +1 -1
  62. package/src/sap/m/FormattedText.js +1 -1
  63. package/src/sap/m/GenericTag.js +1 -1
  64. package/src/sap/m/GenericTile.js +24 -12
  65. package/src/sap/m/GenericTileRenderer.js +3 -0
  66. package/src/sap/m/GroupHeaderListItem.js +2 -2
  67. package/src/sap/m/GrowingEnablement.js +13 -3
  68. package/src/sap/m/GrowingList.js +1 -1
  69. package/src/sap/m/HBox.js +1 -1
  70. package/src/sap/m/HeaderContainer.js +4 -3
  71. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  72. package/src/sap/m/IconTabBar.js +2 -2
  73. package/src/sap/m/IconTabBarSelectList.js +1 -1
  74. package/src/sap/m/IconTabFilter.js +1 -1
  75. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  76. package/src/sap/m/IconTabHeader.js +1 -1
  77. package/src/sap/m/IconTabSeparator.js +1 -1
  78. package/src/sap/m/IllustratedMessage.js +1 -1
  79. package/src/sap/m/IllustratedMessageType.js +20 -2
  80. package/src/sap/m/Illustration.js +1 -1
  81. package/src/sap/m/Image.js +1 -1
  82. package/src/sap/m/ImageContent.js +1 -1
  83. package/src/sap/m/Input.js +83 -22
  84. package/src/sap/m/InputBase.js +1 -1
  85. package/src/sap/m/InputBaseRenderer.js +2 -2
  86. package/src/sap/m/InputListItem.js +1 -1
  87. package/src/sap/m/Label.js +1 -1
  88. package/src/sap/m/LightBox.js +51 -65
  89. package/src/sap/m/LightBoxItem.js +1 -1
  90. package/src/sap/m/LightBoxRenderer.js +6 -4
  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 +19 -9
  94. package/src/sap/m/ListItemBase.js +2 -2
  95. package/src/sap/m/ListItemBaseRenderer.js +2 -2
  96. package/src/sap/m/MaskEnabler.js +1 -1
  97. package/src/sap/m/MaskInput.js +1 -1
  98. package/src/sap/m/MaskInputRule.js +1 -1
  99. package/src/sap/m/Menu.js +1 -1
  100. package/src/sap/m/MenuButton.js +1 -1
  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 -1
  104. package/src/sap/m/MessageListItem.js +1 -1
  105. package/src/sap/m/MessagePage.js +1 -1
  106. package/src/sap/m/MessagePopover.js +1 -1
  107. package/src/sap/m/MessagePopoverItem.js +1 -1
  108. package/src/sap/m/MessageStrip.js +1 -1
  109. package/src/sap/m/MessageToast.js +1 -1
  110. package/src/sap/m/MessageView.js +1 -1
  111. package/src/sap/m/MultiComboBox.js +47 -36
  112. package/src/sap/m/MultiEditField.js +1 -1
  113. package/src/sap/m/MultiInput.js +5 -5
  114. package/src/sap/m/NavContainer.js +1 -1
  115. package/src/sap/m/NewsContent.js +1 -1
  116. package/src/sap/m/NotificationList.js +1 -1
  117. package/src/sap/m/NotificationListBase.js +1 -1
  118. package/src/sap/m/NotificationListGroup.js +1 -1
  119. package/src/sap/m/NotificationListItem.js +1 -1
  120. package/src/sap/m/NotificationListRenderer.js +2 -2
  121. package/src/sap/m/NumericContent.js +1 -1
  122. package/src/sap/m/NumericInput.js +1 -1
  123. package/src/sap/m/ObjectAttribute.js +1 -1
  124. package/src/sap/m/ObjectHeader.js +1 -1
  125. package/src/sap/m/ObjectIdentifier.js +1 -1
  126. package/src/sap/m/ObjectListItem.js +1 -1
  127. package/src/sap/m/ObjectMarker.js +1 -1
  128. package/src/sap/m/ObjectNumber.js +1 -1
  129. package/src/sap/m/ObjectNumberRenderer.js +21 -8
  130. package/src/sap/m/ObjectStatus.js +1 -1
  131. package/src/sap/m/OverflowToolbar.js +3 -3
  132. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  133. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +37 -3
  134. package/src/sap/m/OverflowToolbarButton.js +1 -1
  135. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  136. package/src/sap/m/OverflowToolbarMenuButton.js +72 -0
  137. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  138. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  139. package/src/sap/m/P13nColumnsItem.js +1 -1
  140. package/src/sap/m/P13nColumnsPanel.js +1 -1
  141. package/src/sap/m/P13nConditionPanel.js +1 -1
  142. package/src/sap/m/P13nDialog.js +1 -1
  143. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  144. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  145. package/src/sap/m/P13nFilterItem.js +1 -1
  146. package/src/sap/m/P13nFilterPanel.js +1 -1
  147. package/src/sap/m/P13nGroupItem.js +1 -1
  148. package/src/sap/m/P13nGroupPanel.js +1 -1
  149. package/src/sap/m/P13nItem.js +1 -1
  150. package/src/sap/m/P13nOperationsHelper.js +1 -0
  151. package/src/sap/m/P13nPanel.js +1 -1
  152. package/src/sap/m/P13nSelectionItem.js +1 -1
  153. package/src/sap/m/P13nSelectionPanel.js +1 -1
  154. package/src/sap/m/P13nSortItem.js +1 -1
  155. package/src/sap/m/P13nSortPanel.js +1 -1
  156. package/src/sap/m/PDFViewer.js +1 -1
  157. package/src/sap/m/Page.js +2 -2
  158. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  159. package/src/sap/m/PagingButton.js +1 -1
  160. package/src/sap/m/Panel.js +11 -1
  161. package/src/sap/m/PlanningCalendar.js +137 -15
  162. package/src/sap/m/PlanningCalendarHeader.js +48 -4
  163. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  164. package/src/sap/m/PlanningCalendarRow.js +1 -1
  165. package/src/sap/m/PlanningCalendarView.js +1 -1
  166. package/src/sap/m/Popover.js +19 -28
  167. package/src/sap/m/ProgressIndicator.js +6 -5
  168. package/src/sap/m/PullToRefresh.js +1 -1
  169. package/src/sap/m/QuickView.js +1 -1
  170. package/src/sap/m/QuickViewBase.js +1 -1
  171. package/src/sap/m/QuickViewCard.js +1 -1
  172. package/src/sap/m/QuickViewGroup.js +1 -1
  173. package/src/sap/m/QuickViewGroupElement.js +1 -1
  174. package/src/sap/m/QuickViewPage.js +1 -1
  175. package/src/sap/m/RadioButton.js +1 -1
  176. package/src/sap/m/RadioButtonGroup.js +1 -1
  177. package/src/sap/m/RangeSlider.js +1 -1
  178. package/src/sap/m/RatingIndicator.js +1 -1
  179. package/src/sap/m/ResponsivePopover.js +4 -2
  180. package/src/sap/m/ResponsiveScale.js +1 -1
  181. package/src/sap/m/ScrollBar.js +1 -1
  182. package/src/sap/m/ScrollContainer.js +1 -1
  183. package/src/sap/m/SearchField.js +1 -1
  184. package/src/sap/m/SegmentedButton.js +1 -1
  185. package/src/sap/m/SegmentedButtonItem.js +1 -1
  186. package/src/sap/m/Select.js +1 -1
  187. package/src/sap/m/SelectDialog.js +8 -6
  188. package/src/sap/m/SelectDialogBase.js +1 -1
  189. package/src/sap/m/SelectList.js +4 -3
  190. package/src/sap/m/SelectionDetails.js +1 -1
  191. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  192. package/src/sap/m/SelectionDetailsItem.js +1 -1
  193. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  194. package/src/sap/m/Shell.js +1 -1
  195. package/src/sap/m/SimpleFixFlex.js +1 -1
  196. package/src/sap/m/SinglePlanningCalendar.js +2 -2
  197. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  199. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  204. package/src/sap/m/SlideTile.js +3 -3
  205. package/src/sap/m/Slider.js +1 -1
  206. package/src/sap/m/SliderRenderer.js +4 -3
  207. package/src/sap/m/SliderTooltip.js +1 -1
  208. package/src/sap/m/SliderTooltipBase.js +1 -1
  209. package/src/sap/m/SliderTooltipContainer.js +1 -1
  210. package/src/sap/m/SplitApp.js +1 -1
  211. package/src/sap/m/SplitButton.js +1 -1
  212. package/src/sap/m/SplitContainer.js +1 -1
  213. package/src/sap/m/StandardDynamicDateOption.js +1 -1
  214. package/src/sap/m/StandardListItem.js +1 -1
  215. package/src/sap/m/StandardTile.js +1 -1
  216. package/src/sap/m/StandardTreeItem.js +1 -1
  217. package/src/sap/m/StepInput.js +1 -1
  218. package/src/sap/m/SuggestionItem.js +1 -1
  219. package/src/sap/m/SuggestionsPopover.js +1 -1
  220. package/src/sap/m/Switch.js +1 -1
  221. package/src/sap/m/TabContainer.js +1 -1
  222. package/src/sap/m/TabContainerItem.js +1 -1
  223. package/src/sap/m/TabStrip.js +1 -1
  224. package/src/sap/m/TabStripItem.js +1 -1
  225. package/src/sap/m/Table.js +37 -20
  226. package/src/sap/m/TablePersoController.js +1 -1
  227. package/src/sap/m/TablePersoDialog.js +1 -1
  228. package/src/sap/m/TablePersoProvider.js +1 -1
  229. package/src/sap/m/TableRenderer.js +1 -1
  230. package/src/sap/m/TableSelectDialog.js +7 -5
  231. package/src/sap/m/Text.js +1 -1
  232. package/src/sap/m/TextArea.js +1 -1
  233. package/src/sap/m/Tile.js +1 -1
  234. package/src/sap/m/TileContainer.js +1 -1
  235. package/src/sap/m/TileContent.js +1 -1
  236. package/src/sap/m/TimePicker.js +1 -1
  237. package/src/sap/m/TimePickerClock.js +1 -1
  238. package/src/sap/m/TimePickerClocks.js +1 -1
  239. package/src/sap/m/TimePickerInputs.js +1 -1
  240. package/src/sap/m/TimePickerInternals.js +1 -1
  241. package/src/sap/m/TimePickerSlider.js +1 -1
  242. package/src/sap/m/TimePickerSliders.js +1 -1
  243. package/src/sap/m/Title.js +1 -1
  244. package/src/sap/m/TitlePropagationSupport.js +1 -1
  245. package/src/sap/m/ToggleButton.js +1 -1
  246. package/src/sap/m/Token.js +4 -10
  247. package/src/sap/m/Tokenizer.js +2 -1
  248. package/src/sap/m/Toolbar.js +1 -1
  249. package/src/sap/m/ToolbarLayoutData.js +1 -1
  250. package/src/sap/m/ToolbarSeparator.js +1 -1
  251. package/src/sap/m/ToolbarSpacer.js +1 -1
  252. package/src/sap/m/Tree.js +1 -1
  253. package/src/sap/m/TreeItemBase.js +1 -1
  254. package/src/sap/m/TreeRenderer.js +4 -0
  255. package/src/sap/m/UploadCollection.js +1 -1
  256. package/src/sap/m/UploadCollectionItem.js +1 -1
  257. package/src/sap/m/UploadCollectionParameter.js +1 -1
  258. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  259. package/src/sap/m/VBox.js +1 -1
  260. package/src/sap/m/ValueStateHeader.js +1 -1
  261. package/src/sap/m/VariantManagement.js +33 -7
  262. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  263. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  264. package/src/sap/m/ViewSettingsDialog.js +25 -21
  265. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  266. package/src/sap/m/ViewSettingsItem.js +1 -1
  267. package/src/sap/m/VisibleItem.js +1 -1
  268. package/src/sap/m/WheelSlider.js +1 -1
  269. package/src/sap/m/WheelSliderContainer.js +1 -1
  270. package/src/sap/m/Wizard.js +1 -1
  271. package/src/sap/m/WizardProgressNavigator.js +1 -1
  272. package/src/sap/m/WizardStep.js +1 -1
  273. package/src/sap/m/changeHandler/AddTableColumn.js +2 -2
  274. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  275. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  276. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  277. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  278. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  279. package/src/sap/m/designtime/Slider.designtime.js +1 -1
  280. package/src/sap/m/designtime/VariantManagement.designtime.js +7 -1
  281. package/src/sap/m/library.js +13 -11
  282. package/src/sap/m/messagebundle.properties +52 -12
  283. package/src/sap/m/messagebundle_ar.properties +15 -6
  284. package/src/sap/m/messagebundle_bg.properties +15 -6
  285. package/src/sap/m/messagebundle_ca.properties +16 -7
  286. package/src/sap/m/messagebundle_cs.properties +16 -7
  287. package/src/sap/m/messagebundle_cy.properties +16 -7
  288. package/src/sap/m/messagebundle_da.properties +16 -7
  289. package/src/sap/m/messagebundle_de.properties +15 -6
  290. package/src/sap/m/messagebundle_el.properties +16 -7
  291. package/src/sap/m/messagebundle_en.properties +16 -7
  292. package/src/sap/m/messagebundle_en_GB.properties +16 -7
  293. package/src/sap/m/messagebundle_en_US_sappsd.properties +21 -7
  294. package/src/sap/m/messagebundle_en_US_saprigi.properties +28 -1
  295. package/src/sap/m/messagebundle_en_US_saptrc.properties +16 -7
  296. package/src/sap/m/messagebundle_es.properties +16 -7
  297. package/src/sap/m/messagebundle_es_MX.properties +16 -7
  298. package/src/sap/m/messagebundle_et.properties +15 -6
  299. package/src/sap/m/messagebundle_fi.properties +16 -7
  300. package/src/sap/m/messagebundle_fr.properties +17 -8
  301. package/src/sap/m/messagebundle_fr_CA.properties +15 -6
  302. package/src/sap/m/messagebundle_hi.properties +15 -6
  303. package/src/sap/m/messagebundle_hr.properties +15 -6
  304. package/src/sap/m/messagebundle_hu.properties +20 -11
  305. package/src/sap/m/messagebundle_id.properties +16 -7
  306. package/src/sap/m/messagebundle_it.properties +15 -6
  307. package/src/sap/m/messagebundle_iw.properties +16 -7
  308. package/src/sap/m/messagebundle_ja.properties +16 -7
  309. package/src/sap/m/messagebundle_kk.properties +15 -6
  310. package/src/sap/m/messagebundle_ko.properties +16 -7
  311. package/src/sap/m/messagebundle_lt.properties +16 -7
  312. package/src/sap/m/messagebundle_lv.properties +15 -6
  313. package/src/sap/m/messagebundle_ms.properties +15 -6
  314. package/src/sap/m/messagebundle_nl.properties +16 -7
  315. package/src/sap/m/messagebundle_no.properties +15 -6
  316. package/src/sap/m/messagebundle_pl.properties +16 -7
  317. package/src/sap/m/messagebundle_pt.properties +18 -9
  318. package/src/sap/m/messagebundle_pt_PT.properties +16 -7
  319. package/src/sap/m/messagebundle_ro.properties +16 -7
  320. package/src/sap/m/messagebundle_ru.properties +16 -7
  321. package/src/sap/m/messagebundle_sh.properties +16 -7
  322. package/src/sap/m/messagebundle_sk.properties +16 -7
  323. package/src/sap/m/messagebundle_sl.properties +15 -6
  324. package/src/sap/m/messagebundle_sv.properties +16 -7
  325. package/src/sap/m/messagebundle_th.properties +16 -7
  326. package/src/sap/m/messagebundle_tr.properties +15 -6
  327. package/src/sap/m/messagebundle_uk.properties +16 -7
  328. package/src/sap/m/messagebundle_vi.properties +16 -7
  329. package/src/sap/m/messagebundle_zh_CN.properties +16 -7
  330. package/src/sap/m/messagebundle_zh_TW.properties +16 -7
  331. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  332. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  333. package/src/sap/m/p13n/BasePanel.js +1 -1
  334. package/src/sap/m/p13n/Container.js +3 -3
  335. package/src/sap/m/p13n/Engine.js +92 -57
  336. package/src/sap/m/p13n/GroupController.js +1 -1
  337. package/src/sap/m/p13n/GroupPanel.js +1 -1
  338. package/src/sap/m/p13n/PersistenceProvider.js +4 -4
  339. package/src/sap/m/p13n/Popup.js +12 -10
  340. package/src/sap/m/p13n/QueryPanel.js +1 -1
  341. package/src/sap/m/p13n/SelectionController.js +24 -10
  342. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  343. package/src/sap/m/p13n/SortController.js +1 -1
  344. package/src/sap/m/p13n/SortPanel.js +1 -1
  345. package/src/sap/m/p13n/enum/ProcessingStrategy.js +39 -0
  346. package/src/sap/m/p13n/modification/FlexModificationHandler.js +1 -1
  347. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +1 -1
  348. package/src/sap/m/p13n/modification/ModificationHandler.js +1 -1
  349. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +5 -5
  350. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  351. package/src/sap/m/p13n/modules/UIManager.js +25 -10
  352. package/src/sap/m/p13n/modules/xConfigAPI.js +17 -15
  353. package/src/sap/m/plugins/CellSelector.js +1 -1
  354. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  355. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  356. package/src/sap/m/plugins/PasteProvider.js +1 -1
  357. package/src/sap/m/plugins/PluginBase.js +1 -1
  358. package/src/sap/m/semantic/AddAction.js +1 -1
  359. package/src/sap/m/semantic/CancelAction.js +1 -1
  360. package/src/sap/m/semantic/DeleteAction.js +1 -1
  361. package/src/sap/m/semantic/DetailPage.js +1 -1
  362. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  363. package/src/sap/m/semantic/EditAction.js +1 -1
  364. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  365. package/src/sap/m/semantic/FilterAction.js +1 -1
  366. package/src/sap/m/semantic/FilterSelect.js +1 -1
  367. package/src/sap/m/semantic/FlagAction.js +1 -1
  368. package/src/sap/m/semantic/ForwardAction.js +1 -1
  369. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  370. package/src/sap/m/semantic/GroupAction.js +1 -1
  371. package/src/sap/m/semantic/GroupSelect.js +1 -1
  372. package/src/sap/m/semantic/MainAction.js +1 -1
  373. package/src/sap/m/semantic/MasterPage.js +1 -1
  374. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  375. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  376. package/src/sap/m/semantic/NegativeAction.js +1 -1
  377. package/src/sap/m/semantic/OpenInAction.js +1 -1
  378. package/src/sap/m/semantic/PositiveAction.js +1 -1
  379. package/src/sap/m/semantic/PrintAction.js +1 -1
  380. package/src/sap/m/semantic/SaveAction.js +1 -1
  381. package/src/sap/m/semantic/Segment.js +1 -1
  382. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  383. package/src/sap/m/semantic/SemanticButton.js +1 -1
  384. package/src/sap/m/semantic/SemanticConfiguration.js +6 -3
  385. package/src/sap/m/semantic/SemanticControl.js +1 -1
  386. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  387. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  388. package/src/sap/m/semantic/SemanticPage.js +1 -1
  389. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  390. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  391. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  392. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  393. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  394. package/src/sap/m/semantic/ShareMenu.js +1 -1
  395. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  396. package/src/sap/m/semantic/SortAction.js +1 -1
  397. package/src/sap/m/semantic/SortSelect.js +1 -1
  398. package/src/sap/m/table/Util.js +103 -4
  399. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  400. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  401. package/src/sap/m/table/columnmenu/Item.js +1 -1
  402. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  403. package/src/sap/m/table/columnmenu/Menu.js +40 -24
  404. package/src/sap/m/table/columnmenu/MenuRenderer.js +27 -0
  405. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  406. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  407. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  408. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  409. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  410. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  411. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  412. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  413. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  414. package/src/sap/m/themes/base/ColumnMenu.less +13 -17
  415. package/src/sap/m/themes/base/LightBox.less +0 -53
  416. package/src/sap/m/themes/base/ListBase.less +1 -0
  417. package/src/sap/m/themes/base/MenuListItem.less +27 -22
  418. package/src/sap/m/themes/base/NewsContent.less +6 -0
  419. package/src/sap/m/themes/base/Panel.less +1 -1
  420. package/src/sap/m/themes/base/PlanningCalendar.less +13 -0
  421. package/src/sap/m/themes/base/Slider.less +9 -9
  422. package/src/sap/m/themes/base/Table.less +12 -2
  423. package/src/sap/m/themes/base/UploadCollection.less +1 -1
  424. package/src/sap/m/themes/base/VariantManagement.less +29 -27
  425. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-AddDimensions.svg +38 -0
  426. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoDimensionsSet.svg +39 -0
  427. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UploadToCloud.svg +30 -0
  428. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-AddDimensions.svg +15 -0
  429. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoDimensionsSet.svg +6 -0
  430. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-ResizeColumn.svg +26 -0
  431. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-UploadCollection.svg +6 -0
  432. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-UploadToCloud.svg +5 -0
  433. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-AddDimensions.svg +34 -0
  434. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoDimensionsSet.svg +38 -0
  435. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UploadToCloud.svg +24 -0
  436. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-AddDimensions.svg +38 -0
  437. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoDimensionsSet.svg +42 -0
  438. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UploadToCloud.svg +30 -0
  439. package/src/sap/m/themes/base/p13n.Container.less +2 -2
  440. package/src/sap/m/themes/sap_hcb/Slider.less +4 -4
  441. package/src/sap/m/upload/UploadSet.js +40 -34
  442. package/src/sap/m/upload/UploadSetItem.js +16 -2
  443. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
@@ -157,7 +157,7 @@ function(
157
157
  * @extends sap.m.InputBase
158
158
  * @implements sap.ui.core.IAccessKeySupport
159
159
  * @author SAP SE
160
- * @version 1.108.1
160
+ * @version 1.109.0
161
161
  *
162
162
  * @constructor
163
163
  * @public
@@ -791,7 +791,7 @@ function(
791
791
  oSuggestionsPopover = this._getSuggestionsPopover(),
792
792
  oList = oSuggestionsPopover && oSuggestionsPopover.getItemsContainer();
793
793
 
794
- if (sKey === '') {
794
+ if (!this._hasTabularSuggestions() && sKey === '') {
795
795
  return;
796
796
  }
797
797
 
@@ -808,11 +808,6 @@ function(
808
808
  this.setProperty("selectedKey", '', true);
809
809
  this.setAssociation("selectedRow", null, true);
810
810
  this.setAssociation("selectedItem", null, true);
811
-
812
- this.fireSuggestionItemSelected({
813
- selectedItem: null,
814
- selectedRow: null
815
- });
816
811
  };
817
812
 
818
813
  /**
@@ -1413,6 +1408,7 @@ function(
1413
1408
  if (this._isSuggestionsPopoverOpen()) {
1414
1409
  // mark the event as already handled
1415
1410
  oEvent.originalEvent._sapui_handledByControl = true;
1411
+ this._setProposedItemText(null);
1416
1412
  this.setSelectionUpdatedFromList(false);
1417
1413
  this._closeSuggestionPopup();
1418
1414
 
@@ -1517,7 +1513,7 @@ function(
1517
1513
 
1518
1514
  this.bValueHelpRequested = false;
1519
1515
 
1520
- if (!this._sProposedItemText && this.isMobileDevice()) {
1516
+ if (!this._getProposedItemText() && this.isMobileDevice()) {
1521
1517
  return;
1522
1518
  }
1523
1519
 
@@ -1532,7 +1528,7 @@ function(
1532
1528
  // but there is a proposed item due to the typeahead
1533
1529
  var oSelectedItem = this.getSuggestionItems()
1534
1530
  .filter(function (oItem) {
1535
- return oItem.getText() === this._sProposedItemText;
1531
+ return oItem.getText() === this._getProposedItemText();
1536
1532
  }.bind(this))[0];
1537
1533
 
1538
1534
  if (oSelectedItem) {
@@ -1601,8 +1597,7 @@ function(
1601
1597
  };
1602
1598
 
1603
1599
  /**
1604
- * Updates the selection, when the picker is closed and the suggestions selection
1605
- * was updated, while navigating.
1600
+ * Updates the selection, when the picker closes and there is selected item/row in the list/table.
1606
1601
  *
1607
1602
  * @param {sap.m.StandardListItem | sap.m.ColumnListItem | sap.m.GroupHeaderListItem} oSelectedItem The selected from navigation item
1608
1603
  * @private
@@ -1793,7 +1788,6 @@ function(
1793
1788
 
1794
1789
  if (this.getValueLiveUpdate()) {
1795
1790
  this.setProperty("value", sValue, true);
1796
- this._onValueUpdated(sValue);
1797
1791
  }
1798
1792
 
1799
1793
  this.fireLiveChange({
@@ -1833,10 +1827,21 @@ function(
1833
1827
  Input.prototype.onkeyup = function (oEvent) {
1834
1828
  var sValue = this.getValue();
1835
1829
  var sLastValue = this.getLastValue();
1830
+ var bIsNavigationKey = (oEvent.which === KeyCodes.ARROW_DOWN) || (oEvent.which === KeyCodes.ARROW_UP);
1831
+ var oSuggestionsPopover, oItemsContainer, oSelectedItem;
1836
1832
 
1837
- if ([KeyCodes.BACKSPACE, KeyCodes.DELETE].indexOf(oEvent.which) !== -1 && !sValue) {
1833
+ if (!this._bDoTypeAhead && !sValue) {
1838
1834
  this.getShowSuggestion() && this.setSelectedKey(null);
1839
1835
  (sLastValue !== sValue) && this.setLastValue(sLastValue);
1836
+ } else if (!this._bDoTypeAhead && !bIsNavigationKey && sValue) {
1837
+ oSuggestionsPopover = this.getShowSuggestion() && this._getSuggestionsPopover();
1838
+ oItemsContainer = oSuggestionsPopover && oSuggestionsPopover.getItemsContainer();
1839
+ oSelectedItem = oItemsContainer && oItemsContainer.getSelectedItem();
1840
+
1841
+ this._setProposedItemText(null);
1842
+ if (oSelectedItem) {
1843
+ oSelectedItem.setSelected(false);
1844
+ }
1840
1845
  }
1841
1846
 
1842
1847
  this.getShowClearIcon() && this.setProperty("effectiveShowClearIcon", !!sValue);
@@ -2186,19 +2191,24 @@ function(
2186
2191
  /**
2187
2192
  * Handles Input's specific type ahead logic.
2188
2193
  *
2189
- * @param oInput {sap.m.Input} Input's instance to which the type ahead would be applied. For example: this OR Dialog's Input instance.
2194
+ * @param {sap.m.Input} oInput Input's instance to which the type ahead would be applied. For example: this OR Dialog's Input instance.
2195
+ * @returns {null|object} Map object containing type-ahead info or null if no type-ahead is performed.
2190
2196
  * @private
2191
2197
  */
2192
2198
  Input.prototype._handleTypeAhead = function (oInput) {
2193
2199
  var sValue = this.getValue();
2200
+ var mTypeAheadInfo = {
2201
+ value: "",
2202
+ selectedItem: null
2203
+ };
2194
2204
 
2195
2205
  // check if typeahead is already performed
2196
- if ((oInput && oInput.getValue().toLowerCase()) === (this._sProposedItemText && this._sProposedItemText.toLowerCase())) {
2206
+ if ((oInput && oInput.getValue().toLowerCase()) === (this._getProposedItemText() && this._getProposedItemText().toLowerCase())) {
2197
2207
  return;
2198
2208
  }
2199
2209
 
2200
2210
  this._setTypedInValue(sValue);
2201
- oInput._sProposedItemText = null;
2211
+ oInput._setProposedItemText(null);
2202
2212
 
2203
2213
  if (!this._bDoTypeAhead || sValue === "" ||
2204
2214
  sValue.length < this.getStartSuggestion() || document.activeElement !== this.getFocusDomRef()) {
@@ -2219,7 +2229,12 @@ function(
2219
2229
  return this._formatTypedAheadValue(fnExtractText(oItem));
2220
2230
  }.bind(this));
2221
2231
 
2222
- oInput._sProposedItemText = fnExtractText(aItemsToSelect[0]);
2232
+ mTypeAheadInfo.value = fnExtractText(aItemsToSelect[0]);
2233
+ mTypeAheadInfo.selectedItem = aItemsToSelect[0];
2234
+
2235
+ oInput._setProposedItemText(mTypeAheadInfo.value);
2236
+
2237
+ return mTypeAheadInfo;
2223
2238
  };
2224
2239
 
2225
2240
  /**
@@ -2231,7 +2246,7 @@ function(
2231
2246
  Input.prototype._resetTypeAhead = function (oInput) {
2232
2247
  oInput = oInput || this;
2233
2248
 
2234
- oInput._sProposedItemText = null;
2249
+ oInput._setProposedItemText(null);
2235
2250
  this._setTypedInValue('');
2236
2251
  };
2237
2252
 
@@ -2815,7 +2830,7 @@ function(
2815
2830
 
2816
2831
  oInput.addEventDelegate({
2817
2832
  onsapenter: function () {
2818
- this.setValue(this._sProposedItemText);
2833
+ this.setValue(this._getProposedItemText());
2819
2834
  }
2820
2835
  }, this);
2821
2836
 
@@ -2919,7 +2934,25 @@ function(
2919
2934
  }, this);
2920
2935
 
2921
2936
  oPopover.attachAfterOpen(function () {
2922
- this._handleTypeAhead(this);
2937
+ var mTypeAheadInfo;
2938
+ var oSuggPopover = this.getShowSuggestion() && this._getSuggestionsPopover();
2939
+ var oList = oSuggPopover && oSuggPopover.getItemsContainer();
2940
+ var oItemToBeSelected;
2941
+
2942
+ mTypeAheadInfo = this._handleTypeAhead(this);
2943
+
2944
+ // In case the items were provided on a later stage and the type-ahead was called
2945
+ // when the items were refreshed, there will be no selected item / row in the list,
2946
+ // no matter that we use the first matching item to auto-complete the user's input.
2947
+ // This will, later on, result in no item being added in the selectedItem/Row association.
2948
+ // Here we need to make sure that the first item (which's text was already used) is indeed selected.
2949
+ if (!(this._getProposedItemText() && oList && !oList.getSelectedItem() && mTypeAheadInfo && mTypeAheadInfo.selectedItem)) {
2950
+ return;
2951
+ }
2952
+
2953
+ oItemToBeSelected = this._hasTabularSuggestions() ? mTypeAheadInfo.selectedItem : ListHelpers.getListItem(mTypeAheadInfo.selectedItem);
2954
+ oItemToBeSelected.setSelected(true);
2955
+ this.setSelectionUpdatedFromList(true);
2923
2956
  }, this);
2924
2957
 
2925
2958
  if (this.isMobileDevice()) {
@@ -3233,7 +3266,10 @@ function(
3233
3266
  oTabularRow.setVisible(bShowItem);
3234
3267
  bShowItem && aFilteredItems.push(oTabularRow);
3235
3268
 
3236
- if (!bIsAnySuggestionAlreadySelected && bShowItem && this._sProposedItemText === this._getRowResultFunction()(oTabularRow)) {
3269
+ if (!bIsAnySuggestionAlreadySelected && bShowItem && this._getProposedItemText() === this._getRowResultFunction()(oTabularRow)) {
3270
+ // Setting the row to selected only works in case the items were there prior the user's input
3271
+ // as otherwise there will be no proposed text.
3272
+ // In case the items became available on a later stage, the typeahead functionality will set the selected row.
3237
3273
  oTabularRow.setSelected(true);
3238
3274
  bIsAnySuggestionAlreadySelected = true;
3239
3275
  }
@@ -3280,7 +3316,10 @@ function(
3280
3316
  oListItem = ListHelpers.createListItemFromCoreItem(oItem, true);
3281
3317
  oList.addItem(oListItem);
3282
3318
 
3283
- if (!bIsAnySuggestionAlreadySelected && this._sProposedItemText === oItem.getText()) {
3319
+ if (!bIsAnySuggestionAlreadySelected && this._getProposedItemText() === oItem.getText()) {
3320
+ // Setting the item to selected only works in case the items were there prior the user's input
3321
+ // as otherwise there will be no proposed text.
3322
+ // In case the items became available on a later stage, the typeahead functionality will set the selected item.
3284
3323
  oListItem.setSelected(true);
3285
3324
  bIsAnySuggestionAlreadySelected = true;
3286
3325
  }
@@ -3342,6 +3381,28 @@ function(
3342
3381
  return this;
3343
3382
  };
3344
3383
 
3384
+ /**
3385
+ * Setter for the _sProposedItemText property, representing the text extracted from the proposed item/row.
3386
+ *
3387
+ * @private
3388
+ * @param {string} sProposedText The new proposed text, extracted from the item/row.
3389
+ * @returns {this} <code>this</code> to allow method chaining.
3390
+ */
3391
+ Input.prototype._setProposedItemText = function (sProposedText) {
3392
+ this._sProposedItemText = sProposedText;
3393
+ return this;
3394
+ };
3395
+
3396
+ /**
3397
+ * Getter for the _sProposedItemText property representing the text extracted from the proposed item/row.
3398
+ *
3399
+ * @private
3400
+ * @returns {string} The text extracted from the proposed item/row.
3401
+ */
3402
+ Input.prototype._getProposedItemText = function () {
3403
+ return this._sProposedItemText;
3404
+ };
3405
+
3345
3406
  return Input;
3346
3407
 
3347
3408
  });
@@ -64,7 +64,7 @@ function(
64
64
  * @implements sap.ui.core.IFormContent
65
65
  *
66
66
  * @author SAP SE
67
- * @version 1.108.1
67
+ * @version 1.109.0
68
68
  *
69
69
  * @constructor
70
70
  * @public
@@ -603,7 +603,7 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/Core', 'sap/ui/core/library'
603
603
  /**
604
604
  * This method is reserved for derived classes to add extra styles for the placeholder, if rendered as label.
605
605
  *
606
- * @deprecated
606
+ * @deprecated Since version 1.58.0.
607
607
  * @protected
608
608
  * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
609
609
  * @param {sap.m.InputBase} oControl An object representation of the control that should be rendered.
@@ -615,7 +615,7 @@ sap.ui.define(['sap/ui/core/Renderer', 'sap/ui/core/Core', 'sap/ui/core/library'
615
615
  * To be overwritten by subclasses.
616
616
  * Note that this method should not be used anymore as native placeholder is used on all browsers
617
617
  *
618
- * @deprecated
618
+ * @deprecated Since version 1.58.0.
619
619
  * @protected
620
620
  * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
621
621
  * @param {sap.m.InputBase} oControl An object representation of the control that should be rendered.
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @extends sap.m.ListItemBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.108.1
33
+ * @version 1.109.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -78,7 +78,7 @@ function(
78
78
  * @implements sap.ui.core.Label, sap.ui.core.IShrinkable, sap.ui.core.IAccessKeySupport
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.108.1
81
+ * @version 1.109.0
82
82
  *
83
83
  * @constructor
84
84
  * @public
@@ -9,12 +9,12 @@ sap.ui.define([
9
9
  "sap/ui/core/Control",
10
10
  "sap/ui/core/Popup",
11
11
  "sap/ui/core/Core",
12
- "sap/m/Text",
12
+ "sap/m/IllustratedMessage",
13
+ "sap/m/IllustratedMessageType",
14
+ "sap/m/IllustratedMessageSize",
13
15
  "sap/m/Button",
14
16
  "sap/ui/core/ResizeHandler",
15
17
  "sap/ui/Device",
16
- "sap/ui/core/Icon",
17
- "sap/ui/layout/VerticalLayout",
18
18
  "./InstanceManager",
19
19
  "sap/ui/core/InvisibleText",
20
20
  "sap/ui/core/library",
@@ -27,12 +27,12 @@ sap.ui.define([
27
27
  Control,
28
28
  Popup,
29
29
  Core,
30
- Text,
30
+ IllustratedMessage,
31
+ IllustratedMessageType,
32
+ IllustratedMessageSize,
31
33
  Button,
32
34
  ResizeHandler,
33
35
  Device,
34
- Icon,
35
- VerticalLayout,
36
36
  InstanceManager,
37
37
  InvisibleText,
38
38
  coreLibrary,
@@ -52,9 +52,6 @@ sap.ui.define([
52
52
  // shortcut for sap.ui.core.OpenState
53
53
  var OpenState = coreLibrary.OpenState;
54
54
 
55
- // shortcut for sap.ui.core.TextAlign
56
- var TextAlign = coreLibrary.TextAlign;
57
-
58
55
  /**
59
56
  * Constructor for a new LightBox.
60
57
  *
@@ -99,7 +96,7 @@ sap.ui.define([
99
96
  * @extends sap.ui.core.Control
100
97
  *
101
98
  * @author SAP SE
102
- * @version 1.108.1
99
+ * @version 1.109.0
103
100
  *
104
101
  * @constructor
105
102
  * @public
@@ -127,10 +124,10 @@ sap.ui.define([
127
124
  _closeButton: {type: "sap.m.Button", multiple: false, visibility: "hidden"},
128
125
 
129
126
  /**
130
- * A layout control used to display the error texts when the image could not be loaded.
127
+ * Control used to display the error message when the image could not be loaded.
131
128
  * @private
132
129
  */
133
- _verticalLayout: {type: "sap.ui.layout.VerticalLayout", multiple: false, visibility: "hidden"},
130
+ _errorMessage: {type: "sap.m.IllustratedMessage", multiple: false, visibility: "hidden"},
134
131
 
135
132
  /**
136
133
  * Hidden text used for accessibility of the popup.
@@ -218,6 +215,7 @@ sap.ui.define([
218
215
  this._calculateSizes(oNativeImage);
219
216
  break;
220
217
  case LightBoxLoadingStates.Error:
218
+ case LightBoxLoadingStates.TimeOutError:
221
219
  clearTimeout(this._iTimeoutId);
222
220
  sInvisiblePopupText += " " + sErrorMessageTitle + " " + sErrorMessageSubtitle;
223
221
  break;
@@ -310,7 +308,7 @@ sap.ui.define([
310
308
  this._oPopup.setContent(this);
311
309
 
312
310
  if (oImageContent && oImageContent.getImageSrc()) {
313
- this._oPopup.open(300, "center center", "center center", document.body, null);
311
+ this._oPopup.open(300, Popup.Dock.CenterCenter, Popup.Dock.CenterCenter, window, null);
314
312
  InstanceManager.addLightBoxInstance(this);
315
313
  }
316
314
 
@@ -397,13 +395,12 @@ sap.ui.define([
397
395
  * Forces invalidation of the control when an image loads/fails to load.
398
396
  *
399
397
  * @private
400
- * @param {sap.m.LightBoxLoadingStates} sNewState The new state of the image. Possible values are: "LOADING", "LOADED" and "ERROR".
398
+ * @param {sap.m.LightBoxLoadingStates} sNewState The new state of the image.
401
399
  */
402
400
  LightBox.prototype._imageStateChanged = function (sNewState) {
403
- var bEndState = sNewState === LightBoxLoadingStates.Loaded || sNewState === LightBoxLoadingStates.Error;
404
401
 
405
- if (bEndState && !this._isRendering) {
406
- this.rerender();
402
+ if (sNewState !== LightBoxLoadingStates.Loading && !this._isRendering) {
403
+ this.invalidate();
407
404
  }
408
405
  };
409
406
 
@@ -447,41 +444,33 @@ sap.ui.define([
447
444
  * @private
448
445
  */
449
446
  LightBox.prototype._createErrorControls = function() {
450
- var sErrorTitle,
451
- sErrorSubtitle,
452
- oTitle,
453
- oSubtitle,
454
- oIcon;
447
+ var sErrorTitle = this._oRB.getText("LIGHTBOX_IMAGE_TIMED_OUT"),
448
+ sErrorSubtitle = this._oRB.getText("LIGHTBOX_IMAGE_TIMED_OUT_DETAILS"),
449
+ oIllustratedMessage;
450
+
451
+ if (this.getAggregation("_errorMessage")) {
452
+ if (this._getImageContent()._getImageState() === LightBoxLoadingStates.TimeOutError) {
453
+ this.getAggregation("_errorMessage").setTitle(sErrorTitle);
454
+ this.getAggregation("_errorMessage").setDescription(sErrorSubtitle);
455
+ }
455
456
 
456
- if (this.getAggregation("_verticalLayout")) {
457
457
  return;
458
458
  }
459
459
 
460
- if (this._getImageContent()._getImageState() === LightBoxLoadingStates.TimeOutError) {
461
- sErrorTitle = this._oRB.getText("LIGHTBOX_IMAGE_TIMED_OUT");
462
- sErrorSubtitle = this._oRB.getText("LIGHTBOX_IMAGE_TIMED_OUT_DETAILS");
463
- } else {
460
+ if (this._getImageContent()._getImageState() !== LightBoxLoadingStates.TimeOutError) {
464
461
  sErrorTitle = this._oRB.getText("LIGHTBOX_IMAGE_ERROR");
465
462
  sErrorSubtitle = this._oRB.getText("LIGHTBOX_IMAGE_ERROR_DETAILS");
466
463
  }
467
464
 
468
- oTitle = new Text({
469
- text: sErrorTitle,
470
- textAlign: TextAlign.Center
471
- }).addStyleClass("sapMLightBoxErrorTitle");
472
-
473
- oSubtitle = new Text({
474
- text: sErrorSubtitle,
475
- textAlign: TextAlign.Center
476
- }).addStyleClass("sapMLightBoxErrorSubtitle");
477
-
478
- oIcon = new Icon({
479
- src: "sap-icon://picture"
480
- }).addStyleClass("sapMLightBoxErrorIcon");
465
+ oIllustratedMessage = new IllustratedMessage({
466
+ illustrationType: IllustratedMessageType.UnableToLoadImage,
467
+ illustrationSize: Device.system.phone ? IllustratedMessageSize.Auto : IllustratedMessageSize.Scene,
468
+ enableVerticalResponsiveness: true,
469
+ title: sErrorTitle,
470
+ description: sErrorSubtitle
471
+ });
481
472
 
482
- this.setAggregation("_verticalLayout", new VerticalLayout({
483
- content: [oIcon, oTitle, oSubtitle]
484
- }).addStyleClass("sapMLightBoxVerticalLayout"));
473
+ this.setAggregation("_errorMessage", oIllustratedMessage);
485
474
  };
486
475
 
487
476
  /**
@@ -490,16 +479,20 @@ sap.ui.define([
490
479
  * @private
491
480
  */
492
481
  LightBox.prototype._onResize = function () {
493
- var iMinimumSideOffset = this._calculateOffset() / 2 + "px",
494
- vTop = iMinimumSideOffset,
495
- vLeft = iMinimumSideOffset,
496
- vMarginTop = "",
497
- vMarginLeft = "",
498
- oImageContent = this._getImageContent(),
499
- oDomRef = this.getDomRef(),
500
- vLightBoxWidth,
482
+ var oDomRef = this.getDomRef();
483
+ if (!oDomRef) {
484
+ return;
485
+ }
486
+
487
+ var vLightBoxWidth,
501
488
  vLightBoxHeight,
502
- iMinimumOffset = this._calculateOffset();
489
+ fHeight,
490
+ fWidth,
491
+ iScrollOffsetY = Math.round(window.scrollY),
492
+ iScrollOffsetX = Math.round(window.scrollX),
493
+ iTop,
494
+ iLeft,
495
+ oImageContent = this._getImageContent();
503
496
 
504
497
  if (oImageContent._getImageState() === LightBoxLoadingStates.Loaded) {
505
498
  this._calculateSizes(oImageContent._getNativeImage());
@@ -514,21 +507,14 @@ sap.ui.define([
514
507
  vLightBoxHeight = oDomRef.clientHeight;
515
508
  }
516
509
 
517
- if (window.innerWidth > vLightBoxWidth + iMinimumOffset) {
518
- vLeft = "50%";
519
- vMarginLeft = Math.round(-vLightBoxWidth / 2);
520
- }
521
-
522
- if (window.innerHeight > vLightBoxHeight + iMinimumOffset) {
523
- vTop = "50%";
524
- vMarginTop = Math.round(-vLightBoxHeight / 2);
525
- }
510
+ fHeight = window.innerHeight - vLightBoxHeight;
511
+ fWidth = window.innerWidth - vLightBoxWidth;
512
+ iTop = iScrollOffsetY + Math.round(fHeight / 2);
513
+ iLeft = iScrollOffsetX + Math.round(fWidth / 2);
526
514
 
527
515
  this._$lightBox.css({
528
- "top": vTop,
529
- "margin-top": vMarginTop,
530
- "left": vLeft,
531
- "margin-left": vMarginLeft
516
+ "top": iTop,
517
+ "left": iLeft
532
518
  });
533
519
  };
534
520
 
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @extends sap.ui.core.Element
44
44
  *
45
45
  * @author SAP SE
46
- * @version 1.108.1
46
+ * @version 1.109.0
47
47
  *
48
48
  * @constructor
49
49
  * @public
@@ -52,11 +52,13 @@ sap.ui.define([
52
52
  oRM.class("sapMLightBoxTopCornersRadius");
53
53
  }
54
54
 
55
- if (oImageState !== LightBoxLoadingStates.Error) {
55
+ if (oImageState === LightBoxLoadingStates.TimeOutError || oImageState === LightBoxLoadingStates.Error) {
56
+ oRM.class("sapMLightBoxError");
57
+ oRM.style("width", "auto");
58
+ oRM.style("height", "auto");
59
+ } else {
56
60
  oRM.style("width", oControl._iWidth + "px");
57
61
  oRM.style("height", oControl._iHeight + "px");
58
- } else {
59
- oRM.class("sapMLightBoxError");
60
62
  }
61
63
 
62
64
  oRM.openEnd();
@@ -109,7 +111,7 @@ sap.ui.define([
109
111
 
110
112
  oRM.openEnd();
111
113
 
112
- oRM.renderControl(oControl.getAggregation("_verticalLayout"));
114
+ oRM.renderControl(oControl.getAggregation("_errorMessage"));
113
115
 
114
116
  oRM.close("div");
115
117
  };
package/src/sap/m/Link.js CHANGED
@@ -86,7 +86,7 @@ function(
86
86
  * @implements sap.ui.core.IShrinkable, sap.ui.core.IFormContent, sap.ui.core.ITitleContent, sap.ui.core.IAccessKeySupport
87
87
  *
88
88
  * @author SAP SE
89
- * @version 1.108.1
89
+ * @version 1.109.0
90
90
  *
91
91
  * @constructor
92
92
  * @public
package/src/sap/m/List.js CHANGED
@@ -30,7 +30,7 @@ sap.ui.define(["./library", "./ListBase", "./ListRenderer"],
30
30
  * @extends sap.m.ListBase
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.108.1
33
+ * @version 1.109.0
34
34
  *
35
35
  * @constructor
36
36
  * @public
@@ -23,6 +23,7 @@ sap.ui.define([
23
23
  "sap/ui/thirdparty/jquery",
24
24
  "sap/base/Log",
25
25
  "sap/ui/core/InvisibleMessage",
26
+ "sap/m/table/Util",
26
27
  "sap/ui/dom/jquery/control", // jQuery Plugin "control"
27
28
  "sap/ui/dom/jquery/Selectors", // jQuery custom selectors ":sapTabbable"
28
29
  "sap/ui/dom/jquery/Aria" // jQuery Plugin "addAriaLabelledBy", "removeAriaLabelledBy"
@@ -44,7 +45,8 @@ function(
44
45
  capitalize,
45
46
  jQuery,
46
47
  Log,
47
- InvisibleMessage
48
+ InvisibleMessage,
49
+ Util
48
50
  ) {
49
51
  "use strict";
50
52
 
@@ -87,12 +89,14 @@ function(
87
89
  *
88
90
  * See section "{@link topic:295e44b2d0144318bcb7bdd56bfa5189 List, List Item, and Table}"
89
91
  * in the documentation for an introduction to subclasses of <code>sap.m.ListBase</code> control.
92
+ * More information on how to use binding-related functionality, such as {@link topic:ec79a5d5918f4f7f9cbc2150e66778cc Sorting, Grouping, and Filtering},
93
+ * is also available in the documentation.
90
94
  *
91
95
  * <b>Note:</b> The ListBase including all contained items may be completely re-rendered when the data of a bound model is changed. Due to the limited hardware resources of mobile devices this can lead to longer delays for lists that contain many items. As such the usage of a list is not recommended for these use cases.
92
96
  * @extends sap.ui.core.Control
93
97
  *
94
98
  * @author SAP SE
95
- * @version 1.108.1
99
+ * @version 1.109.0
96
100
  *
97
101
  * @constructor
98
102
  * @public
@@ -1018,6 +1022,18 @@ function(
1018
1022
  this._fireSelectionChangeEvent(aChangedListItems, bFireEvent);
1019
1023
  }
1020
1024
 
1025
+ var iSelectableItemCount = this.getItems().filter(function(oListItem) {
1026
+ return oListItem.isSelectable();
1027
+ }).length;
1028
+ if (bFireEvent && this.getGrowing() && this.getMultiSelectMode() === "SelectAll" && this.getBinding("items").getLength() > iSelectableItemCount) {
1029
+ var oSelectAllDomRef = this._getSelectAllCheckbox ? this._getSelectAllCheckbox() : undefined;
1030
+ if (oSelectAllDomRef) {
1031
+ Util.showSelectionLimitPopover(iSelectableItemCount, oSelectAllDomRef);
1032
+ } else {
1033
+ throw Error("Unsupported Operation");
1034
+ }
1035
+ }
1036
+
1021
1037
  return this;
1022
1038
  };
1023
1039
 
@@ -2055,13 +2071,7 @@ function(
2055
2071
  // prepare the announcement for the screen reader
2056
2072
  var oAccInfo = oItem.getAccessibilityInfo(),
2057
2073
  oBundle = Core.getLibraryResourceBundle("sap.m"),
2058
- sDescription = "";
2059
-
2060
- // when items have the role="listitem", aria-roledescription attribute containing the "type" info is already added to DOM,
2061
- // hence there is no need to add this information again to the custom announcement
2062
- if (this.getAriaRole() !== "list") {
2063
- sDescription += oAccInfo.type + " . ";
2064
- }
2074
+ sDescription = oAccInfo.type + " . ";
2065
2075
 
2066
2076
  if (this.isA("sap.m.Table")) {
2067
2077
  var mPosition = this.getAccessbilityPosition(oItem);
@@ -78,7 +78,7 @@ function(
78
78
  * @extends sap.ui.core.Control
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.108.1
81
+ * @version 1.109.0
82
82
  *
83
83
  * @constructor
84
84
  * @public
@@ -394,7 +394,7 @@ function(
394
394
  };
395
395
 
396
396
  ListItemBase.prototype.getAccessibilityType = function(oBundle) {
397
- return oBundle.getText("ACC_CTR_TYPE_OPTION");
397
+ return this.getListProperty("ariaRole") == "list" ? oBundle.getText("ACC_CTR_TYPE_LISTITEM") : "";
398
398
  };
399
399
 
400
400
  ListItemBase.prototype.getGroupAnnouncement = function() {
@@ -285,8 +285,7 @@ sap.ui.define(["./library", "sap/ui/core/Core", "sap/ui/Device", "sap/ui/core/In
285
285
  sAriaDescribedBy = this.getAriaDescribedBy(oLI),
286
286
  sRole = this.getAriaRole(oLI),
287
287
  mAccessibilityState = {
288
- role: sRole,
289
- roledescription: sRole === "listitem" ? oLI.getAccessibilityType(Core.getLibraryResourceBundle("sap.m")) : null
288
+ role: sRole
290
289
  };
291
290
 
292
291
  if (sAriaLabelledBy) {
@@ -311,6 +310,7 @@ sap.ui.define(["./library", "sap/ui/core/Core", "sap/ui/Device", "sap/ui/core/In
311
310
  mAccessibilityState.selected = null;
312
311
  if (oLI.isGroupHeader()) {
313
312
  mAccessibilityState.role = "group";
313
+ mAccessibilityState.roledescription = oLI.getAccessibilityType(Core.getLibraryResourceBundle("sap.m"));
314
314
  var aGroupedItems = oLI.getGroupedItems();
315
315
  if (aGroupedItems && aGroupedItems.length) {
316
316
  mAccessibilityState.owns = aGroupedItems.join(" ");
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * Applies mask support for input controls.
27
27
  * It should should be applied to the prototype of a <code>sap.m.InputBase</code>.
28
28
  *
29
- * @version 1.108.1
29
+ * @version 1.109.0
30
30
  * @private
31
31
  * @mixin
32
32
  * @alias sap.m.MaskEnabler
@@ -29,7 +29,7 @@ sap.ui.define(['./InputBase', './MaskEnabler', './MaskInputRenderer'], function(
29
29
  *
30
30
  * @author SAP SE
31
31
  * @extends sap.m.InputBase
32
- * @version 1.108.1
32
+ * @version 1.109.0
33
33
  *
34
34
  * @constructor
35
35
  * @public