@openui5/sap.m 1.98.0 → 1.101.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 (615) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +6 -6
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +2 -2
  7. package/src/sap/m/ActionListItemRenderer.js +5 -7
  8. package/src/sap/m/ActionSelect.js +1 -1
  9. package/src/sap/m/ActionSelectRenderer.js +1 -1
  10. package/src/sap/m/ActionSheet.js +12 -5
  11. package/src/sap/m/ActionSheetRenderer.js +1 -1
  12. package/src/sap/m/App.js +1 -1
  13. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  14. package/src/sap/m/Avatar.js +21 -4
  15. package/src/sap/m/AvatarRenderer.js +6 -1
  16. package/src/sap/m/BadgeCustomData.js +6 -4
  17. package/src/sap/m/BadgeEnabler.js +3 -2
  18. package/src/sap/m/Bar.js +6 -5
  19. package/src/sap/m/BarRenderer.js +6 -6
  20. package/src/sap/m/Breadcrumbs.js +81 -7
  21. package/src/sap/m/BreadcrumbsRenderer.js +3 -7
  22. package/src/sap/m/BusyDialog.js +1 -1
  23. package/src/sap/m/BusyIndicator.js +1 -1
  24. package/src/sap/m/BusyIndicatorRenderer.js +1 -1
  25. package/src/sap/m/Button.js +2 -2
  26. package/src/sap/m/ButtonRenderer.js +3 -3
  27. package/src/sap/m/Carousel.js +22 -17
  28. package/src/sap/m/CarouselLayout.js +1 -1
  29. package/src/sap/m/CarouselRenderer.js +10 -4
  30. package/src/sap/m/CheckBox.js +2 -4
  31. package/src/sap/m/CheckBoxRenderer.js +1 -1
  32. package/src/sap/m/ColorPalette.js +1 -1
  33. package/src/sap/m/ColorPalettePopover.js +1 -1
  34. package/src/sap/m/Column.js +1 -1
  35. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  36. package/src/sap/m/ColumnListItem.js +1 -1
  37. package/src/sap/m/ColumnListItemRenderer.js +10 -11
  38. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  39. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  40. package/src/sap/m/ColumnPopoverItem.js +1 -1
  41. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  42. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  43. package/src/sap/m/ComboBox.js +3 -2
  44. package/src/sap/m/ComboBoxBase.js +5 -3
  45. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  46. package/src/sap/m/ComboBoxRenderer.js +4 -4
  47. package/src/sap/m/ComboBoxTextField.js +1 -1
  48. package/src/sap/m/ComboBoxTextFieldRenderer.js +2 -2
  49. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  50. package/src/sap/m/CustomListItem.js +1 -1
  51. package/src/sap/m/CustomListItemRenderer.js +4 -6
  52. package/src/sap/m/CustomTile.js +1 -1
  53. package/src/sap/m/CustomTileRenderer.js +2 -2
  54. package/src/sap/m/CustomTreeItem.js +1 -1
  55. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  56. package/src/sap/m/DatePicker.js +36 -7
  57. package/src/sap/m/DatePickerRenderer.js +1 -6
  58. package/src/sap/m/DateRangeSelection.js +42 -4
  59. package/src/sap/m/DateRangeSelectionRenderer.js +1 -1
  60. package/src/sap/m/DateTimeField.js +15 -6
  61. package/src/sap/m/DateTimeInput.js +1 -1
  62. package/src/sap/m/DateTimePicker.js +375 -89
  63. package/src/sap/m/DateTimePickerRenderer.js +57 -0
  64. package/src/sap/m/Dialog.js +20 -7
  65. package/src/sap/m/DialogRenderer.js +1 -1
  66. package/src/sap/m/DisplayListItem.js +1 -1
  67. package/src/sap/m/DisplayListItemRenderer.js +4 -6
  68. package/src/sap/m/DraftIndicator.js +1 -1
  69. package/src/sap/m/DraftIndicatorRenderer.js +1 -1
  70. package/src/sap/m/DynamicDate.js +3 -3
  71. package/src/sap/m/DynamicDateFormat.js +33 -1
  72. package/src/sap/m/DynamicDateOption.js +144 -9
  73. package/src/sap/m/DynamicDateRange.js +145 -49
  74. package/src/sap/m/DynamicDateRangeRenderer.js +1 -1
  75. package/src/sap/m/DynamicDateUtil.js +10 -3
  76. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  77. package/src/sap/m/ExpandableText.js +1 -1
  78. package/src/sap/m/FacetFilter.js +1 -1
  79. package/src/sap/m/FacetFilterItem.js +1 -1
  80. package/src/sap/m/FacetFilterItemRenderer.js +1 -1
  81. package/src/sap/m/FacetFilterList.js +7 -5
  82. package/src/sap/m/FacetFilterRenderer.js +10 -10
  83. package/src/sap/m/FeedContent.js +2 -2
  84. package/src/sap/m/FeedInput.js +2 -2
  85. package/src/sap/m/FeedInputRenderer.js +1 -1
  86. package/src/sap/m/FeedListItem.js +7 -7
  87. package/src/sap/m/FeedListItemAction.js +1 -1
  88. package/src/sap/m/FeedListItemRenderer.js +12 -7
  89. package/src/sap/m/Fiori20Adapter.js +2 -2
  90. package/src/sap/m/FlexBox.js +1 -1
  91. package/src/sap/m/FlexItemData.js +1 -1
  92. package/src/sap/m/FormattedText.js +4 -1
  93. package/src/sap/m/GenericTag.js +5 -3
  94. package/src/sap/m/GenericTagRenderer.js +13 -5
  95. package/src/sap/m/GenericTile.js +62 -16
  96. package/src/sap/m/GenericTileLineModeRenderer.js +77 -3
  97. package/src/sap/m/GenericTileRenderer.js +89 -42
  98. package/src/sap/m/GroupHeaderListItem.js +1 -1
  99. package/src/sap/m/GroupHeaderListItemRenderer.js +2 -2
  100. package/src/sap/m/GrowingEnablement.js +53 -3
  101. package/src/sap/m/GrowingList.js +1 -1
  102. package/src/sap/m/HBox.js +1 -1
  103. package/src/sap/m/HBoxRenderer.js +1 -1
  104. package/src/sap/m/HeaderContainer.js +87 -16
  105. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  106. package/src/sap/m/HeaderContainerRenderer.js +1 -1
  107. package/src/sap/m/HyphenationSupport.js +1 -5
  108. package/src/sap/m/IconTabBar.js +2 -2
  109. package/src/sap/m/IconTabBarDragAndDropUtil.js +5 -4
  110. package/src/sap/m/IconTabBarSelectList.js +3 -5
  111. package/src/sap/m/IconTabFilter.js +1 -1
  112. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  113. package/src/sap/m/IconTabHeader.js +9 -13
  114. package/src/sap/m/IconTabHeaderRenderer.js +1 -1
  115. package/src/sap/m/IconTabSeparator.js +1 -1
  116. package/src/sap/m/IllustratedMessage.js +29 -8
  117. package/src/sap/m/IllustratedMessageRenderer.js +5 -5
  118. package/src/sap/m/IllustratedMessageType.js +26 -2
  119. package/src/sap/m/Illustration.js +1 -1
  120. package/src/sap/m/IllustrationRenderer.js +4 -2
  121. package/src/sap/m/Image.js +1 -1
  122. package/src/sap/m/ImageContent.js +2 -2
  123. package/src/sap/m/ImageRenderer.js +1 -1
  124. package/src/sap/m/Input.js +13 -23
  125. package/src/sap/m/InputBase.js +6 -8
  126. package/src/sap/m/InputBaseRenderer.js +53 -39
  127. package/src/sap/m/InputListItem.js +1 -1
  128. package/src/sap/m/InputListItemRenderer.js +4 -6
  129. package/src/sap/m/InputRenderer.js +12 -9
  130. package/src/sap/m/Label.js +3 -3
  131. package/src/sap/m/LabelRenderer.js +2 -2
  132. package/src/sap/m/LightBox.js +5 -5
  133. package/src/sap/m/LightBoxItem.js +2 -3
  134. package/src/sap/m/LightBoxRenderer.js +1 -1
  135. package/src/sap/m/Link.js +2 -2
  136. package/src/sap/m/LinkRenderer.js +1 -1
  137. package/src/sap/m/List.js +1 -1
  138. package/src/sap/m/ListBase.js +50 -10
  139. package/src/sap/m/ListBaseRenderer.js +38 -24
  140. package/src/sap/m/ListItemBase.js +4 -3
  141. package/src/sap/m/ListItemBaseRenderer.js +23 -23
  142. package/src/sap/m/MaskEnabler.js +11 -11
  143. package/src/sap/m/MaskInput.js +9 -1
  144. package/src/sap/m/MaskInputRenderer.js +9 -43
  145. package/src/sap/m/MaskInputRule.js +5 -5
  146. package/src/sap/m/Menu.js +1 -1
  147. package/src/sap/m/MenuButton.js +5 -1
  148. package/src/sap/m/MenuButtonRenderer.js +1 -1
  149. package/src/sap/m/MenuItem.js +1 -1
  150. package/src/sap/m/MenuListItem.js +1 -1
  151. package/src/sap/m/MenuListItemRenderer.js +2 -2
  152. package/src/sap/m/MessageBox.js +1 -1
  153. package/src/sap/m/MessageItem.js +1 -1
  154. package/src/sap/m/MessageListItem.js +1 -1
  155. package/src/sap/m/MessagePage.js +1 -1
  156. package/src/sap/m/MessagePageRenderer.js +1 -1
  157. package/src/sap/m/MessagePopover.js +19 -34
  158. package/src/sap/m/MessagePopoverItem.js +1 -1
  159. package/src/sap/m/MessagePopoverRenderer.js +1 -1
  160. package/src/sap/m/MessageStrip.js +2 -2
  161. package/src/sap/m/MessageStripRenderer.js +1 -1
  162. package/src/sap/m/MessageToast.js +1 -1
  163. package/src/sap/m/MessageView.js +3 -3
  164. package/src/sap/m/MultiComboBox.js +6 -4
  165. package/src/sap/m/MultiComboBoxRenderer.js +4 -4
  166. package/src/sap/m/MultiEditField.js +1 -1
  167. package/src/sap/m/MultiInput.js +44 -27
  168. package/src/sap/m/NavContainer.js +53 -53
  169. package/src/sap/m/NavContainerRenderer.js +1 -1
  170. package/src/sap/m/NewsContent.js +2 -2
  171. package/src/sap/m/NotificationList.js +1 -1
  172. package/src/sap/m/NotificationListBase.js +1 -1
  173. package/src/sap/m/NotificationListGroup.js +1 -1
  174. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  175. package/src/sap/m/NotificationListItem.js +1 -1
  176. package/src/sap/m/NotificationListItemRenderer.js +1 -1
  177. package/src/sap/m/NotificationListRenderer.js +2 -2
  178. package/src/sap/m/NumericContent.js +30 -22
  179. package/src/sap/m/NumericContentRenderer.js +10 -10
  180. package/src/sap/m/NumericInput.js +3 -2
  181. package/src/sap/m/NumericInputRenderer.js +13 -1
  182. package/src/sap/m/ObjectAttribute.js +4 -5
  183. package/src/sap/m/ObjectAttributeRenderer.js +3 -3
  184. package/src/sap/m/ObjectHeader.js +20 -7
  185. package/src/sap/m/ObjectHeaderRenderer.js +3 -3
  186. package/src/sap/m/ObjectIdentifier.js +3 -3
  187. package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
  188. package/src/sap/m/ObjectListItem.js +1 -1
  189. package/src/sap/m/ObjectListItemRenderer.js +2 -2
  190. package/src/sap/m/ObjectMarker.js +35 -11
  191. package/src/sap/m/ObjectMarkerRenderer.js +15 -3
  192. package/src/sap/m/ObjectNumber.js +1 -1
  193. package/src/sap/m/ObjectNumberRenderer.js +1 -2
  194. package/src/sap/m/ObjectStatus.js +1 -1
  195. package/src/sap/m/ObjectStatusRenderer.js +4 -5
  196. package/src/sap/m/OverflowToolbar.js +23 -3
  197. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  198. package/src/sap/m/OverflowToolbarButton.js +1 -1
  199. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  200. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  201. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  202. package/src/sap/m/P13nColumnsItem.js +1 -1
  203. package/src/sap/m/P13nColumnsPanel.js +1 -1
  204. package/src/sap/m/P13nConditionPanel.js +2 -2
  205. package/src/sap/m/P13nDialog.js +1 -1
  206. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  207. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  208. package/src/sap/m/P13nFilterItem.js +1 -1
  209. package/src/sap/m/P13nFilterPanel.js +1 -1
  210. package/src/sap/m/P13nGroupItem.js +1 -1
  211. package/src/sap/m/P13nGroupPanel.js +3 -3
  212. package/src/sap/m/P13nItem.js +1 -1
  213. package/src/sap/m/P13nPanel.js +1 -1
  214. package/src/sap/m/P13nSelectionItem.js +1 -1
  215. package/src/sap/m/P13nSelectionPanel.js +1 -1
  216. package/src/sap/m/P13nSortItem.js +1 -1
  217. package/src/sap/m/P13nSortPanel.js +1 -1
  218. package/src/sap/m/PDFViewer.js +4 -3
  219. package/src/sap/m/PDFViewerRenderer.js +15 -7
  220. package/src/sap/m/Page.js +1 -1
  221. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  222. package/src/sap/m/PagingButton.js +1 -1
  223. package/src/sap/m/Panel.js +1 -1
  224. package/src/sap/m/PanelRenderer.js +1 -1
  225. package/src/sap/m/PlanningCalendar.js +16 -15
  226. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  227. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  228. package/src/sap/m/PlanningCalendarRow.js +1 -1
  229. package/src/sap/m/PlanningCalendarView.js +1 -1
  230. package/src/sap/m/Popover.js +25 -9
  231. package/src/sap/m/PopoverRenderer.js +1 -1
  232. package/src/sap/m/ProgressIndicator.js +3 -3
  233. package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
  234. package/src/sap/m/PullToRefresh.js +1 -1
  235. package/src/sap/m/PullToRefreshRenderer.js +2 -2
  236. package/src/sap/m/QuickView.js +1 -1
  237. package/src/sap/m/QuickViewBase.js +1 -1
  238. package/src/sap/m/QuickViewCard.js +1 -1
  239. package/src/sap/m/QuickViewCardRenderer.js +1 -1
  240. package/src/sap/m/QuickViewGroup.js +1 -1
  241. package/src/sap/m/QuickViewGroupElement.js +1 -1
  242. package/src/sap/m/QuickViewPage.js +5 -2
  243. package/src/sap/m/QuickViewPageRenderer.js +1 -1
  244. package/src/sap/m/RadioButton.js +1 -1
  245. package/src/sap/m/RadioButtonGroup.js +14 -2
  246. package/src/sap/m/RadioButtonRenderer.js +1 -2
  247. package/src/sap/m/RangeSlider.js +17 -6
  248. package/src/sap/m/RangeSliderRenderer.js +5 -5
  249. package/src/sap/m/RatingIndicator.js +2 -2
  250. package/src/sap/m/RatingIndicatorRenderer.js +1 -1
  251. package/src/sap/m/ResponsivePopover.js +3 -5
  252. package/src/sap/m/ResponsivePopoverRenderer.js +1 -1
  253. package/src/sap/m/ResponsiveScale.js +1 -1
  254. package/src/sap/m/ScrollBar.js +3 -3
  255. package/src/sap/m/ScrollBarRenderer.js +1 -1
  256. package/src/sap/m/ScrollContainer.js +1 -1
  257. package/src/sap/m/ScrollContainerRenderer.js +1 -1
  258. package/src/sap/m/SearchField.js +2 -2
  259. package/src/sap/m/SegmentedButton.js +17 -7
  260. package/src/sap/m/SegmentedButtonItem.js +1 -1
  261. package/src/sap/m/SegmentedButtonRenderer.js +2 -2
  262. package/src/sap/m/Select.js +36 -6
  263. package/src/sap/m/SelectDialog.js +4 -4
  264. package/src/sap/m/SelectDialogBase.js +1 -1
  265. package/src/sap/m/SelectList.js +4 -3
  266. package/src/sap/m/SelectListRenderer.js +5 -5
  267. package/src/sap/m/SelectRenderer.js +5 -5
  268. package/src/sap/m/SelectionDetails.js +3 -5
  269. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  270. package/src/sap/m/SelectionDetailsItem.js +1 -1
  271. package/src/sap/m/SelectionDetailsItemLine.js +3 -3
  272. package/src/sap/m/SelectionDetailsRenderer.js +1 -1
  273. package/src/sap/m/Shell.js +1 -1
  274. package/src/sap/m/ShellRenderer.js +1 -1
  275. package/src/sap/m/SimpleFixFlex.js +1 -1
  276. package/src/sap/m/SimpleFixFlexRenderer.js +1 -1
  277. package/src/sap/m/SinglePlanningCalendar.js +21 -2
  278. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  279. package/src/sap/m/SinglePlanningCalendarGrid.js +118 -67
  280. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +16 -14
  281. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +24 -10
  282. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +1 -1
  283. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  284. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  285. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  286. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  287. package/src/sap/m/SlideTile.js +2 -2
  288. package/src/sap/m/SlideTileRenderer.js +9 -2
  289. package/src/sap/m/Slider.js +1 -1
  290. package/src/sap/m/SliderRenderer.js +9 -9
  291. package/src/sap/m/SliderTooltip.js +3 -3
  292. package/src/sap/m/SliderTooltipBase.js +1 -1
  293. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  294. package/src/sap/m/SliderTooltipContainer.js +6 -2
  295. package/src/sap/m/SliderTooltipContainerRenderer.js +1 -1
  296. package/src/sap/m/SliderTooltipRenderer.js +1 -1
  297. package/src/sap/m/SplitApp.js +1 -1
  298. package/src/sap/m/SplitButton.js +3 -1
  299. package/src/sap/m/SplitButtonRenderer.js +1 -1
  300. package/src/sap/m/SplitContainer.js +24 -31
  301. package/src/sap/m/StandardDynamicDateOption.js +154 -12
  302. package/src/sap/m/StandardListItem.js +1 -1
  303. package/src/sap/m/StandardListItemRenderer.js +8 -8
  304. package/src/sap/m/StandardTile.js +1 -1
  305. package/src/sap/m/StandardTileRenderer.js +1 -1
  306. package/src/sap/m/StandardTreeItem.js +1 -1
  307. package/src/sap/m/StepInput.js +4 -4
  308. package/src/sap/m/SuggestionItem.js +1 -1
  309. package/src/sap/m/SuggestionsPopover.js +7 -22
  310. package/src/sap/m/Switch.js +1 -1
  311. package/src/sap/m/SwitchRenderer.js +3 -3
  312. package/src/sap/m/TabContainer.js +1 -1
  313. package/src/sap/m/TabContainerItem.js +1 -3
  314. package/src/sap/m/TabContainerRenderer.js +2 -2
  315. package/src/sap/m/TabStrip.js +2 -2
  316. package/src/sap/m/TabStripItem.js +1 -1
  317. package/src/sap/m/TabStripRenderer.js +2 -2
  318. package/src/sap/m/Table.js +41 -9
  319. package/src/sap/m/TablePersoController.js +1 -1
  320. package/src/sap/m/TablePersoDialog.js +1 -1
  321. package/src/sap/m/TablePersoProvider.js +1 -1
  322. package/src/sap/m/TableRenderer.js +10 -5
  323. package/src/sap/m/TableSelectDialog.js +19 -19
  324. package/src/sap/m/Text.js +1 -1
  325. package/src/sap/m/TextArea.js +1 -1
  326. package/src/sap/m/TextAreaRenderer.js +1 -1
  327. package/src/sap/m/Tile.js +3 -3
  328. package/src/sap/m/TileContainer.js +6 -4
  329. package/src/sap/m/TileContainerRenderer.js +1 -1
  330. package/src/sap/m/TileContent.js +37 -5
  331. package/src/sap/m/TileContentRenderer.js +43 -6
  332. package/src/sap/m/TileRenderer.js +2 -2
  333. package/src/sap/m/TimePicker.js +4 -56
  334. package/src/sap/m/TimePickerClock.js +5 -6
  335. package/src/sap/m/TimePickerClockRenderer.js +1 -1
  336. package/src/sap/m/TimePickerClocks.js +6 -5
  337. package/src/sap/m/TimePickerClocksRenderer.js +3 -3
  338. package/src/sap/m/TimePickerInputs.js +1 -1
  339. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  340. package/src/sap/m/TimePickerInternals.js +8 -6
  341. package/src/sap/m/TimePickerRenderer.js +5 -17
  342. package/src/sap/m/TimePickerSlider.js +2 -2
  343. package/src/sap/m/TimePickerSliderRenderer.js +2 -2
  344. package/src/sap/m/TimePickerSliders.js +7 -5
  345. package/src/sap/m/TimePickerSlidersRenderer.js +1 -1
  346. package/src/sap/m/Title.js +1 -5
  347. package/src/sap/m/TitlePropagationSupport.js +1 -1
  348. package/src/sap/m/TitleRenderer.js +2 -2
  349. package/src/sap/m/ToggleButton.js +1 -1
  350. package/src/sap/m/Token.js +1 -2
  351. package/src/sap/m/TokenRenderer.js +21 -3
  352. package/src/sap/m/Tokenizer.js +8 -8
  353. package/src/sap/m/TokenizerRenderer.js +41 -7
  354. package/src/sap/m/Toolbar.js +5 -5
  355. package/src/sap/m/ToolbarLayoutData.js +1 -1
  356. package/src/sap/m/ToolbarRenderer.js +3 -3
  357. package/src/sap/m/ToolbarSeparator.js +5 -3
  358. package/src/sap/m/ToolbarSpacer.js +1 -1
  359. package/src/sap/m/Tree.js +1 -1
  360. package/src/sap/m/TreeItemBase.js +6 -6
  361. package/src/sap/m/TreeItemBaseRenderer.js +2 -2
  362. package/src/sap/m/TreeRenderer.js +2 -2
  363. package/src/sap/m/UploadCollection.js +5 -3
  364. package/src/sap/m/UploadCollectionItem.js +1 -1
  365. package/src/sap/m/UploadCollectionParameter.js +1 -1
  366. package/src/sap/m/UploadCollectionRenderer.js +2 -1
  367. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  368. package/src/sap/m/VBox.js +1 -1
  369. package/src/sap/m/VBoxRenderer.js +1 -1
  370. package/src/sap/m/ValueStateHeader.js +1 -1
  371. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  372. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  373. package/src/sap/m/ViewSettingsDialog.js +118 -61
  374. package/src/sap/m/ViewSettingsDialogRenderer.js +1 -1
  375. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  376. package/src/sap/m/ViewSettingsItem.js +1 -1
  377. package/src/sap/m/VisibleItem.js +2 -2
  378. package/src/sap/m/WheelSlider.js +1 -1
  379. package/src/sap/m/WheelSliderContainer.js +1 -1
  380. package/src/sap/m/WheelSliderContainerRenderer.js +1 -1
  381. package/src/sap/m/WheelSliderRenderer.js +2 -2
  382. package/src/sap/m/Wizard.js +22 -4
  383. package/src/sap/m/WizardProgressNavigator.js +10 -3
  384. package/src/sap/m/WizardStep.js +1 -1
  385. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  386. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  387. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  388. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  389. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  390. package/src/sap/m/changeHandler/SplitMenuButton.js +5 -5
  391. package/src/sap/m/delegate/DateNavigation.js +2 -2
  392. package/src/sap/m/designtime/ListBase.designtime.js +29 -0
  393. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  394. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  395. package/src/sap/m/inputUtils/highlightDOMElements.js +1 -1
  396. package/src/sap/m/inputUtils/typeAhead.js +7 -7
  397. package/src/sap/m/library.js +74 -38
  398. package/src/sap/m/messagebundle.properties +80 -20
  399. package/src/sap/m/messagebundle_ar.properties +48 -14
  400. package/src/sap/m/messagebundle_bg.properties +77 -43
  401. package/src/sap/m/messagebundle_ca.properties +48 -14
  402. package/src/sap/m/messagebundle_cs.properties +50 -16
  403. package/src/sap/m/messagebundle_cy.properties +48 -14
  404. package/src/sap/m/messagebundle_da.properties +49 -15
  405. package/src/sap/m/messagebundle_de.properties +49 -15
  406. package/src/sap/m/messagebundle_el.properties +53 -19
  407. package/src/sap/m/messagebundle_en.properties +46 -12
  408. package/src/sap/m/messagebundle_en_GB.properties +46 -12
  409. package/src/sap/m/messagebundle_en_US_sappsd.properties +48 -12
  410. package/src/sap/m/messagebundle_en_US_saprigi.properties +291 -66
  411. package/src/sap/m/messagebundle_en_US_saptrc.properties +46 -12
  412. package/src/sap/m/messagebundle_es.properties +48 -14
  413. package/src/sap/m/messagebundle_es_MX.properties +48 -14
  414. package/src/sap/m/messagebundle_et.properties +48 -14
  415. package/src/sap/m/messagebundle_fi.properties +49 -15
  416. package/src/sap/m/messagebundle_fr.properties +61 -27
  417. package/src/sap/m/messagebundle_fr_CA.properties +47 -13
  418. package/src/sap/m/messagebundle_hi.properties +46 -12
  419. package/src/sap/m/messagebundle_hr.properties +48 -14
  420. package/src/sap/m/messagebundle_hu.properties +49 -15
  421. package/src/sap/m/messagebundle_id.properties +48 -14
  422. package/src/sap/m/messagebundle_it.properties +55 -21
  423. package/src/sap/m/messagebundle_iw.properties +48 -14
  424. package/src/sap/m/messagebundle_ja.properties +51 -17
  425. package/src/sap/m/messagebundle_kk.properties +48 -14
  426. package/src/sap/m/messagebundle_ko.properties +48 -14
  427. package/src/sap/m/messagebundle_lt.properties +48 -14
  428. package/src/sap/m/messagebundle_lv.properties +48 -14
  429. package/src/sap/m/messagebundle_ms.properties +47 -13
  430. package/src/sap/m/messagebundle_nl.properties +48 -14
  431. package/src/sap/m/messagebundle_no.properties +48 -14
  432. package/src/sap/m/messagebundle_pl.properties +48 -14
  433. package/src/sap/m/messagebundle_pt.properties +71 -37
  434. package/src/sap/m/messagebundle_pt_PT.properties +49 -15
  435. package/src/sap/m/messagebundle_ro.properties +48 -14
  436. package/src/sap/m/messagebundle_ru.properties +48 -14
  437. package/src/sap/m/messagebundle_sh.properties +48 -14
  438. package/src/sap/m/messagebundle_sk.properties +48 -14
  439. package/src/sap/m/messagebundle_sl.properties +48 -14
  440. package/src/sap/m/messagebundle_sv.properties +49 -15
  441. package/src/sap/m/messagebundle_th.properties +55 -21
  442. package/src/sap/m/messagebundle_tr.properties +48 -14
  443. package/src/sap/m/messagebundle_uk.properties +48 -14
  444. package/src/sap/m/messagebundle_vi.properties +47 -13
  445. package/src/sap/m/messagebundle_zh_CN.properties +48 -14
  446. package/src/sap/m/messagebundle_zh_TW.properties +47 -13
  447. package/src/sap/m/p13n/AbstractContainer.js +15 -8
  448. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  449. package/src/sap/m/p13n/BasePanel.js +39 -20
  450. package/src/sap/m/p13n/Container.js +20 -14
  451. package/src/sap/m/p13n/GroupPanel.js +6 -5
  452. package/src/sap/m/p13n/Popup.js +9 -2
  453. package/src/sap/m/p13n/QueryPanel.js +93 -30
  454. package/src/sap/m/p13n/SelectionPanel.js +16 -8
  455. package/src/sap/m/p13n/SortPanel.js +9 -6
  456. package/src/sap/m/plugins/ColumnResizer.js +38 -9
  457. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  458. package/src/sap/m/plugins/PasteProvider.js +1 -1
  459. package/src/sap/m/plugins/PluginBase.js +1 -1
  460. package/src/sap/m/rules/Breadcrumbs.support.js +1 -1
  461. package/src/sap/m/rules/MessagePage.support.js +1 -1
  462. package/src/sap/m/rules/Tokenizer.support.js +4 -2
  463. package/src/sap/m/semantic/AddAction.js +1 -1
  464. package/src/sap/m/semantic/CancelAction.js +1 -1
  465. package/src/sap/m/semantic/DeleteAction.js +1 -1
  466. package/src/sap/m/semantic/DetailPage.js +1 -1
  467. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  468. package/src/sap/m/semantic/EditAction.js +1 -1
  469. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  470. package/src/sap/m/semantic/FilterAction.js +1 -1
  471. package/src/sap/m/semantic/FilterSelect.js +1 -1
  472. package/src/sap/m/semantic/FlagAction.js +1 -1
  473. package/src/sap/m/semantic/ForwardAction.js +1 -1
  474. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  475. package/src/sap/m/semantic/GroupAction.js +1 -1
  476. package/src/sap/m/semantic/GroupSelect.js +1 -1
  477. package/src/sap/m/semantic/MainAction.js +1 -1
  478. package/src/sap/m/semantic/MasterPage.js +1 -1
  479. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  480. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  481. package/src/sap/m/semantic/NegativeAction.js +1 -1
  482. package/src/sap/m/semantic/OpenInAction.js +1 -1
  483. package/src/sap/m/semantic/PositiveAction.js +1 -1
  484. package/src/sap/m/semantic/PrintAction.js +1 -1
  485. package/src/sap/m/semantic/SaveAction.js +1 -1
  486. package/src/sap/m/semantic/Segment.js +1 -1
  487. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  488. package/src/sap/m/semantic/SemanticButton.js +1 -1
  489. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  490. package/src/sap/m/semantic/SemanticControl.js +1 -1
  491. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  492. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  493. package/src/sap/m/semantic/SemanticPage.js +1 -1
  494. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  495. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  496. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  497. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  498. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  499. package/src/sap/m/semantic/ShareMenu.js +2 -2
  500. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  501. package/src/sap/m/semantic/SortAction.js +1 -1
  502. package/src/sap/m/semantic/SortSelect.js +1 -1
  503. package/src/sap/m/table/Util.js +104 -23
  504. package/src/sap/m/table/{ActionItem.js → columnmenu/ActionItem.js} +9 -10
  505. package/src/sap/m/table/{ColumnMenuEntry.js → columnmenu/Entry.js} +16 -16
  506. package/src/sap/m/table/{Item.js → columnmenu/Item.js} +8 -8
  507. package/src/sap/m/table/{ItemBase.js → columnmenu/ItemBase.js} +11 -12
  508. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  509. package/src/sap/m/table/columnmenu/Menu.js +556 -0
  510. package/src/sap/m/table/columnmenu/MenuRenderer.js +57 -0
  511. package/src/sap/m/table/columnmenu/QuickAction.js +65 -0
  512. package/src/sap/m/table/columnmenu/QuickActionBase.js +54 -0
  513. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  514. package/src/sap/m/table/columnmenu/QuickActionItem.js +51 -0
  515. package/src/sap/m/table/columnmenu/QuickGroup.js +146 -0
  516. package/src/sap/m/table/columnmenu/QuickGroupItem.js +59 -0
  517. package/src/sap/m/table/columnmenu/QuickSort.js +80 -0
  518. package/src/sap/m/table/columnmenu/QuickSortItem.js +118 -0
  519. package/src/sap/m/table/columnmenu/QuickTotal.js +157 -0
  520. package/src/sap/m/table/columnmenu/QuickTotalItem.js +59 -0
  521. package/src/sap/m/themes/base/AbstractContainer.less +2 -3
  522. package/src/sap/m/themes/base/Avatar.less +11 -5
  523. package/src/sap/m/themes/base/Button.less +2 -2
  524. package/src/sap/m/themes/base/Carousel.less +5 -0
  525. package/src/sap/m/themes/base/CheckBox.less +0 -5
  526. package/src/sap/m/themes/base/ColumnMenu.less +17 -13
  527. package/src/sap/m/themes/base/DatePicker.less +7 -2
  528. package/src/sap/m/themes/base/DateTimePicker.less +147 -1
  529. package/src/sap/m/themes/base/Dialog.less +4 -6
  530. package/src/sap/m/themes/base/DynamicDateRange.less +3 -1
  531. package/src/sap/m/themes/base/FeedListItem.less +1 -1
  532. package/src/sap/m/themes/base/GenericTile.less +418 -55
  533. package/src/sap/m/themes/base/HeaderContainer.less +25 -0
  534. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  535. package/src/sap/m/themes/base/IllustratedMessage.less +16 -16
  536. package/src/sap/m/themes/base/Input.less +1 -1
  537. package/src/sap/m/themes/base/InputBase.less +112 -10
  538. package/src/sap/m/themes/base/Label.less +4 -1
  539. package/src/sap/m/themes/base/Link.less +12 -4
  540. package/src/sap/m/themes/base/ListBase.less +4 -0
  541. package/src/sap/m/themes/base/MenuButton.less +4 -4
  542. package/src/sap/m/themes/base/MessageToast.less +2 -2
  543. package/src/sap/m/themes/base/MultiInput.less +1 -1
  544. package/src/sap/m/themes/base/NewsContent.less +7 -0
  545. package/src/sap/m/themes/base/NumericContent.less +1 -5
  546. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  547. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  548. package/src/sap/m/themes/base/ObjectStatus.less +5 -0
  549. package/src/sap/m/themes/base/Page.less +1 -1
  550. package/src/sap/m/themes/base/Popover.less +10 -7
  551. package/src/sap/m/themes/base/RadioButton.less +22 -3
  552. package/src/sap/m/themes/base/SearchField.less +23 -59
  553. package/src/sap/m/themes/base/SplitButton.less +5 -0
  554. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  555. package/src/sap/m/themes/base/TextArea.less +27 -0
  556. package/src/sap/m/themes/base/TileContent.less +45 -1
  557. package/src/sap/m/themes/base/Token.less +14 -13
  558. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  559. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  560. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  561. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  562. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  563. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  564. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  565. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  566. package/src/sap/m/themes/base/illustrations/{sapIllus-Dialog-SimpleCheckmark.svg → sapIllus-Dialog-SimpleCheckMark.svg} +1 -1
  567. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  568. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessBalloon.svg +16 -0
  569. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessCheckMark.svg +8 -0
  570. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +45 -0
  571. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  572. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToLoadImage.svg +38 -0
  573. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  574. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  575. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  576. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  577. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  578. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  579. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  580. package/src/sap/m/themes/base/illustrations/{sapIllus-Scene-SimpleCheckmark.svg → sapIllus-Scene-SimpleCheckMark.svg} +1 -1
  581. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  582. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessBalloon.svg +33 -0
  583. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessCheckMark.svg +43 -0
  584. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +27 -0
  585. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  586. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToLoadImage.svg +35 -0
  587. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  588. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  589. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  590. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  591. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  592. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  593. package/src/sap/m/themes/base/illustrations/{sapIllus-Spot-SimpleCheckmark.svg → sapIllus-Spot-SimpleCheckMark.svg} +1 -1
  594. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  595. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessBalloon.svg +19 -0
  596. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessCheckMark.svg +7 -0
  597. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +31 -0
  598. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  599. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToLoadImage.svg +36 -0
  600. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  601. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  602. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  603. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  604. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  605. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  606. package/src/sap/m/upload/UploadSet.js +421 -59
  607. package/src/sap/m/upload/UploadSetItem.js +77 -8
  608. package/src/sap/m/upload/UploadSetRenderer.js +1 -1
  609. package/src/sap/m/table/ColumnMenu.js +0 -378
  610. package/src/sap/m/table/ColumnMenuRenderer.js +0 -82
  611. package/src/sap/m/table/QuickAction.js +0 -53
  612. package/src/sap/m/table/QuickActionBase.js +0 -53
  613. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NewMail.svg +0 -21
  614. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NewMail.svg +0 -54
  615. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NewMail.svg +0 -18
@@ -23,9 +23,12 @@ sap.ui.define([
23
23
  "sap/m/upload/UploadSetItem",
24
24
  "sap/m/upload/Uploader",
25
25
  "sap/m/upload/UploadSetRenderer",
26
- "sap/m/upload/UploaderHttpRequestMethod"
26
+ "sap/m/upload/UploaderHttpRequestMethod",
27
+ "sap/ui/core/dnd/DragDropInfo",
28
+ "sap/ui/core/dnd/DropInfo",
29
+ "sap/m/library"
27
30
  ], function (Control, Icon, KeyCodes, Log, deepEqual, MobileLibrary, Button, Dialog, List, MessageBox, OverflowToolbar,
28
- StandardListItem, Text, ToolbarSpacer, FileUploader, UploadSetItem, Uploader, Renderer, UploaderHttpRequestMethod) {
31
+ StandardListItem, Text, ToolbarSpacer, FileUploader, UploadSetItem, Uploader, Renderer, UploaderHttpRequestMethod, DragDropInfo, DropInfo, Library) {
29
32
  "use strict";
30
33
 
31
34
  /**
@@ -39,7 +42,7 @@ sap.ui.define([
39
42
  * and requests, unified behavior of instant and deferred uploads, as well as improved progress indication.
40
43
  * @extends sap.ui.core.Control
41
44
  * @author SAP SE
42
- * @version 1.98.0
45
+ * @version 1.101.0
43
46
  * @constructor
44
47
  * @public
45
48
  * @since 1.63
@@ -101,10 +104,35 @@ sap.ui.define([
101
104
  */
102
105
  uploadUrl: {type: "string", defaultValue: null},
103
106
  /**
107
+ * If set to true, the button used for uploading files become invisible.
108
+ * @since 1.99.0
109
+ */
110
+ uploadButtonInvisible: {type: "boolean", group: "Appearance", defaultValue: false},
111
+ /**
112
+ * Allows the user to use the same name for a file while editing the file name.
113
+ *'Same name' refers to an already existing file name in the list.
114
+ * @since 1.100.0
115
+ */
116
+ sameFilenameAllowed: {type: "boolean", group: "Behavior", defaultValue: false},
117
+ /**
104
118
  * HTTP request method chosen for file upload.
105
119
  * @since 1.90
106
120
  */
107
- httpRequestMethod: {type: "sap.m.upload.UploaderHttpRequestMethod", defaultValue: UploaderHttpRequestMethod.Post}
121
+ httpRequestMethod: {type: "sap.m.upload.UploaderHttpRequestMethod", defaultValue: UploaderHttpRequestMethod.Post},
122
+ /**
123
+ * Lets the user select multiple files from the same folder and then upload them.
124
+ *
125
+ * If multiple property is set to false, the control shows an error message if more than one file is chosen for drag & drop.
126
+ */
127
+ multiple: {type: "boolean", group: "Behavior", defaultValue: false},
128
+ /**
129
+ * Defines the selection mode of the control (e.g. None, SingleSelect, MultiSelect, SingleSelectLeft, SingleSelectMaster).
130
+ * Since the UploadSet reacts like a list for attachments, the API is close to the ListBase Interface.
131
+ * sap.m.ListMode.Delete mode is not supported and will be automatically set to sap.m.ListMode.None.
132
+ * In addition, if instant upload is set to false the mode sap.m.ListMode.MultiSelect is not supported and will be automatically set to sap.m.ListMode.None.
133
+ * @since 1.100.0
134
+ */
135
+ mode: {type: "sap.m.ListMode", group: "Behavior", defaultValue: Library.ListMode.MultiSelect}
108
136
  },
109
137
  defaultAggregation: "items",
110
138
  aggregations: {
@@ -141,6 +169,18 @@ sap.ui.define([
141
169
  item: {type: "sap.m.upload.UploadSetItem"}
142
170
  }
143
171
  },
172
+ /**
173
+ * The event is triggered when the file name is changed.
174
+ * @since 1.100.0
175
+ */
176
+ fileRenamed: {
177
+ parameters: {
178
+ /**
179
+ * The renamed UI element as an UploadSetItem.
180
+ */
181
+ item: {type: "sap.m.upload.UploadSetItem"}
182
+ }
183
+ },
144
184
  /**
145
185
  * This event is fired after the item is removed on click of ok button in confirmation dialog.
146
186
  * @since 1.83
@@ -374,6 +414,37 @@ sap.ui.define([
374
414
  */
375
415
  items: {type: "sap.m.upload.UploadSetItem[]"}
376
416
  }
417
+ },
418
+ /**
419
+ * This event is fired when the user starts dragging an uploaded item.
420
+ * @event
421
+ * @param {sap.ui.base.Event} oControlEvent
422
+ * @param {sap.ui.base.EventProvider} oControlEvent.getSource
423
+ * @param {object} oControlEvent.getParameters
424
+ * @param {sap.ui.core.Element} oControlEvent.getParameters.target The target element that will be dragged
425
+ * @param {sap.ui.core.dnd.DragSession} oControlEvent.getParameters.dragSession The UI5 <code>dragSession</code> object that exists only during drag and drop
426
+ * @param {Event} oControlEvent.getParameters.browserEvent The underlying browser event
427
+ * @public
428
+ * @since 1.99
429
+ */
430
+ itemDragStart: {
431
+ },
432
+
433
+ /**
434
+ * This event is fired when an uploaded item is dropped on the new list position.
435
+ * @event
436
+ * @param {sap.ui.base.Event} oControlEvent
437
+ * @param {sap.ui.base.EventProvider} oControlEvent.getSource
438
+ * @param {object} oControlEvent.getParameters
439
+ * @param {sap.ui.core.dnd.DragSession} oControlEvent.getParameters.dragSession The UI5 <code>dragSession</code> object that exists only during drag and drop
440
+ * @param {sap.ui.core.Element} oControlEvent.getParameters.draggedControl The element being dragged
441
+ * @param {sap.ui.core.Element} oControlEvent.getParameters.droppedControl The element being dropped
442
+ * @param {sap.ui.core.dnd.RelativeDropPosition} oControlEvent.getParameters.dropPosition The calculated position of the drop action relative to the <code>droppedControl</code>.
443
+ * @param {Event} oControlEvent.getParameters.browserEvent The underlying browser event
444
+ * @public
445
+ * @since 1.99
446
+ */
447
+ itemDrop: {
377
448
  }
378
449
  }
379
450
  },
@@ -403,20 +474,39 @@ sap.ui.define([
403
474
  this._$Body = null;
404
475
  this._$DragDropArea = null;
405
476
  this._oLastEnteredTarget = null;
477
+
478
+ this._aGroupHeadersAdded = [];
406
479
  };
407
480
 
408
481
  UploadSet.prototype.exit = function () {
409
- this._unbindDragAndDrop();
410
482
  this._oNoDataIcon.destroy();
411
483
  this._oNoDataIcon = null;
484
+ if (this._oList) {
485
+ this._oList.destroy();
486
+ this._oList = null;
487
+ }
488
+ if (this._oToolbar) {
489
+ this._oToolbar.destroy();
490
+ this._oToolbar = null;
491
+ }
492
+ if (this._oFileUploader) {
493
+ this._oFileUploader.destroy();
494
+ this._oFileUploader = null;
495
+ }
496
+ if (this._oUploader) {
497
+ this._oUploader.destroy();
498
+ this._oUploader = null;
499
+ }
412
500
  };
413
501
 
414
502
  /* ===================== */
415
503
  /* Overriden API methods */
416
504
  /* ===================== */
417
505
 
418
- UploadSet.prototype.onBeforeRendering = function () {
419
- this._unbindDragAndDrop();
506
+ UploadSet.prototype.onBeforeRendering = function (oEvent) {
507
+ this._aGroupHeadersAdded = [];
508
+ this._clearList();
509
+ this._fillListWithUploadSetItems(this.getItems());
420
510
  };
421
511
 
422
512
  UploadSet.prototype.onAfterRendering = function () {
@@ -430,8 +520,6 @@ sap.ui.define([
430
520
  oInput.trigger("focus");
431
521
  }
432
522
  }
433
-
434
- this._bindDragAndDrop();
435
523
  };
436
524
 
437
525
  UploadSet.prototype.onkeydown = function (oEvent) {
@@ -518,25 +606,22 @@ sap.ui.define([
518
606
 
519
607
  UploadSet.prototype.addAggregation = function (sAggregationName, oObject, bSuppressInvalidate) {
520
608
  Control.prototype.addAggregation.call(this, sAggregationName, oObject, bSuppressInvalidate);
521
- if (oObject && (sAggregationName === "items" || sAggregationName === "incompleteItems")) {
522
- this._projectToNewListItem(oObject);
523
- this._refreshInnerListStyle();
524
- }
525
609
  };
526
610
 
527
611
  UploadSet.prototype.insertAggregation = function (sAggregationName, oObject, iIndex, bSuppressInvalidate) {
528
612
  Control.prototype.insertAggregation.call(this, sAggregationName, oObject, iIndex, bSuppressInvalidate);
529
- if (oObject && (sAggregationName === "items" || sAggregationName === "incompleteItems")) {
530
- this._projectToNewListItem(oObject, iIndex || 0);
531
- this._refreshInnerListStyle();
532
- }
533
613
  };
534
614
 
535
615
  UploadSet.prototype.removeAggregation = function (sAggregationName, oObject, bSuppressInvalidate) {
536
- var oListItem;
616
+ var oListItem,oItems;
537
617
  Control.prototype.removeAggregation.call(this, sAggregationName, oObject, bSuppressInvalidate);
538
- if (oObject && (sAggregationName === "items" || sAggregationName === "incompleteItems")) {
539
- oListItem = oObject._getListItem();
618
+ if (sAggregationName === "items" || sAggregationName === "incompleteItems") {
619
+ if (typeof oObject === 'number') { // "oObject" is the index now
620
+ oItems = this.getItems();
621
+ oListItem = oItems[oObject];
622
+ } else if (typeof oObject === 'object') { // the object itself is given or has just been retrieved
623
+ oListItem = oObject._getListItem();
624
+ }
540
625
  var oItem = this.getList().removeAggregation("items", oListItem, bSuppressInvalidate);
541
626
  if (oItem && oObject) {
542
627
  oObject.destroy();
@@ -549,11 +634,15 @@ sap.ui.define([
549
634
  UploadSet.prototype.removeAllAggregation = function (sAggregationName, bSuppressInvalidate) {
550
635
  if (sAggregationName === "items") {
551
636
  this.getItems().forEach(function (oItem) {
552
- this.getList().removeAggregation("items", oItem._getListItem(), bSuppressInvalidate);
637
+ if (this._oList) {
638
+ this._oList.removeAggregation("items", oItem._getListItem(), bSuppressInvalidate);
639
+ }
553
640
  }.bind(this));
554
641
  } else if (sAggregationName === "incompleteItems") {
555
642
  this.getIncompleteItems().forEach(function (oItem) {
556
- this.getList().removeAggregation("items", oItem._getListItem(), bSuppressInvalidate);
643
+ if (this._oList) {
644
+ this._oList.removeAggregation("items", oItem._getListItem(), bSuppressInvalidate);
645
+ }
557
646
  }.bind(this));
558
647
  }
559
648
  Control.prototype.removeAllAggregation.call(this, sAggregationName, bSuppressInvalidate);
@@ -563,8 +652,8 @@ sap.ui.define([
563
652
  if (sAggregationName === "items" || sAggregationName === "incompleteItems") {
564
653
  this.removeAllAggregation(sAggregationName, bSuppressInvalidate);
565
654
  }
566
- if (this.getList().getItems().length === 0) {
567
- this.getList().destroyAggregation("items", bSuppressInvalidate);
655
+ if (this._oList && this._oList.getItems().length === 0) {
656
+ this._oList.destroyAggregation("items", bSuppressInvalidate);
568
657
  }
569
658
  Control.prototype.destroyAggregation.call(this, sAggregationName, bSuppressInvalidate);
570
659
  };
@@ -637,6 +726,16 @@ sap.ui.define([
637
726
  return this;
638
727
  };
639
728
 
729
+ UploadSet.prototype.setUploadButtonInvisible = function (bUploadButtonInvisible) {
730
+ if (this.getUploadButtonInvisible() === bUploadButtonInvisible) {
731
+ return this;
732
+ }
733
+ this.setProperty("uploadButtonInvisible", bUploadButtonInvisible, true);
734
+ this.getDefaultFileUploader().setVisible(!bUploadButtonInvisible);
735
+
736
+ return this;
737
+ };
738
+
640
739
  UploadSet.prototype.setUploadEnabled = function (bEnable) {
641
740
  if (bEnable !== this.getUploadEnabled()) {
642
741
  this.getDefaultFileUploader().setEnabled(bEnable); // TODO: This can go, FileUploader doesn't upload anymore
@@ -645,6 +744,30 @@ sap.ui.define([
645
744
  return this;
646
745
  };
647
746
 
747
+ UploadSet.prototype.setMultiple = function (bMultiple) {
748
+ if (this.getMultiple() !== bMultiple) {
749
+ this.setProperty("multiple", bMultiple);
750
+ this.getDefaultFileUploader().setMultiple(bMultiple);
751
+ }
752
+ return this;
753
+ };
754
+
755
+ UploadSet.prototype.setMode = function(sMode) {
756
+ if (sMode === Library.ListMode.Delete) {
757
+ this.setProperty("mode", Library.ListMode.None);
758
+ Log.info("sap.m.ListMode.Delete is not supported by UploadSet. Value has been resetted to 'None'");
759
+ } else if (sMode === Library.ListMode.MultiSelect && !this.getInstantUpload()) {
760
+ this.setProperty("mode", Library.ListMode.None);
761
+ Log.info("sap.m.ListMode.MultiSelect is not supported by UploadSet for Pending Upload. Value has been reset to 'None'");
762
+ } else {
763
+ this.setProperty("mode", sMode);
764
+ }
765
+ if (this._oList) {
766
+ this._oList.setMode(this.getMode());
767
+ }
768
+ return this;
769
+ };
770
+
648
771
  /* ============== */
649
772
  /* Public methods */
650
773
  /* ============== */
@@ -658,7 +781,24 @@ sap.ui.define([
658
781
  if (!this._oList) {
659
782
  this._oList = new List(this.getId() + "-list", {
660
783
  selectionChange: [this._handleSelectionChange, this],
661
- headerToolbar: this.getToolbar()
784
+ headerToolbar: this.getToolbar(),
785
+ dragDropConfig: [
786
+ new DragDropInfo({
787
+ dropPosition: "Between",
788
+ sourceAggregation: "items",
789
+ targetAggregation: "items",
790
+ dragStart: [this._onDragStartItem, this],
791
+ drop: [this._onDropItem, this]
792
+ })
793
+ ,
794
+ new DropInfo({
795
+ dropEffect:"Move",
796
+ dropPosition:"OnOrBetween",
797
+ dragEnter: [this._onDragEnterFile, this],
798
+ drop: [this._onDropFile, this]
799
+ })
800
+ ],
801
+ mode: this.getMode()
662
802
  });
663
803
  this._oList.addStyleClass("sapMUCList");
664
804
  this.addDependent(this._oList);
@@ -667,6 +807,38 @@ sap.ui.define([
667
807
  return this._oList;
668
808
  };
669
809
 
810
+ UploadSet.prototype._onDragStartItem = function (oEvent) {
811
+ this.fireItemDragStart(oEvent);
812
+ };
813
+
814
+ UploadSet.prototype._onDropItem = function (oEvent) {
815
+ this.fireItemDrop(oEvent);
816
+ };
817
+
818
+ UploadSet.prototype._onDragEnterFile = function (oEvent) {
819
+ var oDragSession = oEvent.getParameter("dragSession");
820
+ var oDraggedControl = oDragSession.getDragControl();
821
+ if (oDraggedControl) {
822
+ oEvent.preventDefault();
823
+ }
824
+ };
825
+
826
+ UploadSet.prototype._onDropFile = function (oEvent) {
827
+ var oFiles;
828
+ oEvent.preventDefault();
829
+ if (this.getUploadEnabled()) {
830
+ oFiles = oEvent.getParameter("browserEvent").dataTransfer.files;
831
+ // Handling drag and drop of multiple files to upload with multiple property set
832
+ if (oFiles && oFiles.length > 1 && !this.getMultiple()) {
833
+ var sMessage = this._oRb.getText("UPLOADCOLLECTION_MULTIPLE_FALSE");
834
+ Log.warning("Multiple files upload is retsricted for this multiple property set");
835
+ MessageBox.error(sMessage);
836
+ return;
837
+ }
838
+ this._processNewFileObjects(oFiles);
839
+ }
840
+ };
841
+
670
842
  /**
671
843
  * Starts uploading all files that comply with the restrictions defined in the <code>fileTypes</code>,
672
844
  * <code>maxFileNameLength</code>, <code>maxFileSize</code>, and <code>mediaTypes</code> properties.
@@ -715,7 +887,7 @@ sap.ui.define([
715
887
  mimeType: this.getMediaTypes(),
716
888
  icon: "",
717
889
  iconFirst: false,
718
- multiple: true,
890
+ multiple: this.getMultiple(),
719
891
  style: "Transparent",
720
892
  name: "uploadSetFileUploader",
721
893
  sameFilenameAllowed: true,
@@ -728,7 +900,8 @@ sap.ui.define([
728
900
  uploadAborted: [this._onUploadAborted, this],
729
901
  typeMissmatch: [this._fireFileTypeMismatch, this],
730
902
  fileSizeExceed: [this._fireFileSizeExceed, this],
731
- filenameLengthExceed: [this._fireFilenameLengthExceed, this]
903
+ filenameLengthExceed: [this._fireFilenameLengthExceed, this],
904
+ visible: !this.getUploadButtonInvisible()
732
905
  });
733
906
  }
734
907
 
@@ -749,6 +922,72 @@ sap.ui.define([
749
922
  oUploader.attachUploadAborted(this._onUploadAborted.bind(this));
750
923
  };
751
924
 
925
+ /**
926
+ * Returns an array containing the selected UploadSetItems.
927
+ * @returns {sap.m.upload.UploadSetItem[]} Array of all selected items
928
+ * @public
929
+ * @since 1.100.0
930
+ */
931
+ UploadSet.prototype.getSelectedItems = function() {
932
+ var aSelectedListItems = this._oList.getSelectedItems();
933
+ return this._getUploadSetItemsByListItems(aSelectedListItems);
934
+ };
935
+
936
+ /**
937
+ * Retrieves the currently selected UploadSetItem.
938
+ * @returns {sap.m.upload.UploadSetItem | null} The currently selected item or null
939
+ * @public
940
+ * @since 1.100.0
941
+ */
942
+ UploadSet.prototype.getSelectedItem = function() {
943
+ var oSelectedListItem = this._oList.getSelectedItem();
944
+ if (oSelectedListItem) {
945
+ return this._getUploadSetItemsByListItems([oSelectedListItem]);
946
+ }
947
+ return null;
948
+ };
949
+
950
+ /**
951
+ * Sets an UploadSetItem to be selected by ID. In single selection mode, the method removes the previous selection.
952
+ * @param {string} id The ID of the item whose selection is to be changed.
953
+ * @param {boolean} [select=true] The selection state of the item.
954
+ * @returns {this} this to allow method chaining
955
+ * @public
956
+ * @since 1.100.0
957
+ */
958
+ UploadSet.prototype.setSelectedItemById = function(id, select) {
959
+ this._oList.setSelectedItemById(id + "-listItem", select);
960
+ this._setSelectedForItems([this._getUploadSetItemById(id)], select);
961
+ return this;
962
+ };
963
+
964
+ /**
965
+ * Selects or deselects the given list item.
966
+ * @param {sap.m.upload.UploadSetItem} uploadSetItem The item whose selection is to be changed. This parameter is mandatory.
967
+ * @param {boolean} [select=true] The selection state of the item.
968
+ * @returns {this} this to allow method chaining
969
+ * @public
970
+ * @since 1.100.0
971
+ */
972
+ UploadSet.prototype.setSelectedItem = function(uploadSetItem, select) {
973
+ return this.setSelectedItemById(uploadSetItem.getId(), select);
974
+ };
975
+
976
+ /**
977
+ * Select all items in "MultiSelection" mode.
978
+ * @returns {this} this to allow method chaining
979
+ * @public
980
+ * @since 1.100.0
981
+ */
982
+ UploadSet.prototype.selectAll = function() {
983
+ var aSelectedList = this._oList.selectAll();
984
+ if (aSelectedList.getItems().length !== this.getItems().length) {
985
+ Log.info("Internal 'List' and external 'UploadSet' are not in sync.");
986
+ }
987
+ this._setSelectedForItems(this.getItems(), true);
988
+ return this;
989
+ };
990
+
752
991
  /* ============== */
753
992
  /* Event handlers */
754
993
  /* ============== */
@@ -825,22 +1064,55 @@ sap.ui.define([
825
1064
  var oEdit = oItem._getFileNameEdit(),
826
1065
  sNewFileName, sNewFullName,
827
1066
  sOrigFullFileName = oItem.getFileName(),
828
- oFile = UploadSetItem._splitFileName(sOrigFullFileName);
1067
+ oFile = UploadSetItem._splitFileName(sOrigFullFileName),
1068
+ oSourceItem = UploadSetItem._findById(oItem.getId(), this._getAllItems());
1069
+
1070
+ // get new/changed file name and remove potential leading spaces
1071
+ if (oEdit !== null) {
1072
+ sNewFileName = oEdit.getValue().trim();
1073
+ }
1074
+ oEdit.focus();
829
1075
 
830
- sNewFileName = oEdit.getValue().trim();
831
1076
  if (!sNewFileName || sNewFileName.length === 0) {
832
1077
  oItem._setContainsError(true);
833
1078
  return;
834
1079
  }
835
1080
 
836
- if (oFile.name !== sNewFileName) {
1081
+ if (oFile.name === sNewFileName) {
1082
+ this._removeErrorStateFromItem(this, oSourceItem);
1083
+ // nothing changed -> nothing to do!
1084
+ oItem._setInEditMode(false);
1085
+ this.fireAfterItemEdited({item: oItem});
1086
+ this._oEditedItem = null;
1087
+ return;
1088
+ }
1089
+
1090
+ if (!this.getSameFilenameAllowed() && UploadSetItem._checkDoubleFileName(oEdit.getValue() + "." + oFile.extension, this._getAllItems())) {
1091
+ oEdit.setValueStateText(this._oRb.getText("UPLOAD_SET_FILE_NAME_EXISTS"));
1092
+ oEdit.setProperty("valueState", "Error", true);
1093
+ oEdit.setShowValueStateMessage(true);
1094
+ } else {
837
1095
  sNewFullName = oFile.extension ? sNewFileName + "." + oFile.extension : sNewFileName;
838
1096
  oItem.setFileName(sNewFullName);
1097
+ this._removeErrorStateFromItem(this, oSourceItem);
1098
+ oItem._setInEditMode(false);
1099
+ this.fireFileRenamed({item: oItem});
839
1100
  }
840
- oItem._setContainsError(false);
841
- oItem._setInEditMode(false);
842
- this.fireAfterItemEdited({item: oItem});
1101
+
843
1102
  this._oEditedItem = null;
1103
+ this.invalidate();
1104
+ };
1105
+
1106
+ /**
1107
+ * Removes the error state from the list item. Used when the name of the file has been corrected.
1108
+ * @private
1109
+ * @param {object} oContext The UploadSet instance on which an attempt was made to save a new name of an existing List item.
1110
+ * @param {sap.m.UploadSetItem} oItem The List item on which the event was triggered.
1111
+ */
1112
+ UploadSet.prototype._removeErrorStateFromItem = function(oContext, oItem) {
1113
+ oItem.errorState = null;
1114
+ oContext.sErrorState = null;
1115
+ oContext.editModeItem = null;
844
1116
  };
845
1117
 
846
1118
  /**
@@ -1079,11 +1351,11 @@ sap.ui.define([
1079
1351
  UploadSet.prototype._projectToNewListItem = function (oItem, iIndex) {
1080
1352
  var oListItem = oItem._getListItem();
1081
1353
  this._mListItemIdToItemMap[oListItem.getId()] = oItem; // TODO: Probably unnecessary
1082
- if (iIndex || iIndex === 0) {
1083
- this.getList().insertAggregation("items", oListItem, iIndex, true);
1084
- } else {
1085
- this.getList().addAggregation("items", oListItem, true);
1354
+ if (oItem.sParentAggregationName === 'items') {
1355
+ // maps groups for each item if group configuration provided
1356
+ this._mapGroupForItem(oItem);
1086
1357
  }
1358
+ this.getList().addAggregation("items", oListItem, true);
1087
1359
  this._checkRestrictionsForItem(oItem);
1088
1360
  };
1089
1361
 
@@ -1134,28 +1406,6 @@ sap.ui.define([
1134
1406
  return this._oDragDropHandlers;
1135
1407
  };
1136
1408
 
1137
- UploadSet.prototype._bindDragAndDrop = function () {
1138
- this._$Body = jQuery(document.body);
1139
- Object.keys(this._getDragDropHandlers().body).forEach(function (sEvent) {
1140
- this._$Body.on(sEvent, this._getDragDropHandlers().body[sEvent]);
1141
- }.bind(this));
1142
- this._$DragDropArea = this.$("drag-drop-area");
1143
- Object.keys(this._getDragDropHandlers().set).forEach(function (sEvent) {
1144
- this.$().on(sEvent, this._getDragDropHandlers().set[sEvent]);
1145
- }.bind(this));
1146
- };
1147
-
1148
- UploadSet.prototype._unbindDragAndDrop = function () {
1149
- if (this._$Body) {
1150
- Object.keys(this._getDragDropHandlers().body).forEach(function (sEvent) {
1151
- this._$Body.off(sEvent, this._getDragDropHandlers().body[sEvent]);
1152
- }.bind(this));
1153
- }
1154
- Object.keys(this._getDragDropHandlers().set).forEach(function (sEvent) {
1155
- this.$().off(sEvent, this._getDragDropHandlers().set[sEvent]);
1156
- }.bind(this));
1157
- };
1158
-
1159
1409
  UploadSet.prototype._checkRestrictions = function () {
1160
1410
  // this will only check the restriction for the newly uploaded files
1161
1411
  // or files for which the upload is pending
@@ -1196,5 +1446,117 @@ sap.ui.define([
1196
1446
  this.fireFileNameLengthExceeded({item: oItem});
1197
1447
  };
1198
1448
 
1449
+ /**
1450
+ * Sets the selected value for elements in given array to state of the given parameter. It also handles list specific rules
1451
+ * @param {sap.m.ListItemBase[]} uploadSetItemsToUpdate The list items the selection state is to be set for
1452
+ * @param {boolean} selected The new selection state
1453
+ * @private
1454
+ */
1455
+ UploadSet.prototype._setSelectedForItems = function(uploadSetItemsToUpdate, selected) {
1456
+ //Reset all 'selected' values in UploadSetItems
1457
+ if (this.getMode() !== Library.ListMode.MultiSelect && selected) {
1458
+ var aUploadSetItems = this.getItems();
1459
+ for (var j = 0; j < aUploadSetItems.length; j++) {
1460
+ aUploadSetItems[j].setSelected(false);
1461
+ }
1462
+ }
1463
+ for (var i = 0; i < uploadSetItemsToUpdate.length; i++) {
1464
+ uploadSetItemsToUpdate[i].setSelected(selected);
1465
+ }
1466
+ };
1467
+
1468
+ /**
1469
+ * Returns UploadSetItem based on the items aggregation
1470
+ * @param {string} uploadSetItemId used for finding the UploadSetItem
1471
+ * @returns {sap.m.UploadSetItem} The matching UploadSetItem
1472
+ * @private
1473
+ */
1474
+ UploadSet.prototype._getUploadSetItemById = function(uploadSetItemId) {
1475
+ var aAllItems = this.getItems();
1476
+ for (var i = 0; i < aAllItems.length; i++) {
1477
+ if (aAllItems[i].getId() === uploadSetItemId) {
1478
+ return aAllItems[i];
1479
+ }
1480
+ }
1481
+ return null;
1482
+ };
1483
+
1484
+ /**
1485
+ * Returns an array of UploadSet items based on the items aggregation
1486
+ * @param {sap.m.ListItemBase[]} listItems The list items used for finding the UploadSetItems
1487
+ * @returns {sap.m.UploadSetItem[]} The matching UploadSetItems
1488
+ * @private
1489
+ */
1490
+ UploadSet.prototype._getUploadSetItemsByListItems = function(listItems) {
1491
+ var aUploadSetItems = [];
1492
+ var aLocalUploadSetItems = this.getItems();
1493
+
1494
+ if (listItems) {
1495
+ for (var i = 0; i < listItems.length; i++) {
1496
+ for (var j = 0; j < aLocalUploadSetItems.length; j++) {
1497
+ if (listItems[i].getId() === aLocalUploadSetItems[j].getId() + "-listItem") {
1498
+ aUploadSetItems.push(aLocalUploadSetItems[j]);
1499
+ break;
1500
+ }
1501
+ }
1502
+ }
1503
+ return aUploadSetItems;
1504
+ }
1505
+ return null;
1506
+ };
1507
+
1508
+ /**
1509
+ * Destroy the items in the List.
1510
+ * @private
1511
+ */
1512
+ UploadSet.prototype._clearList = function() {
1513
+ if (this._oList) {
1514
+ this.getList().destroyAggregation("items", true); // note: suppress re-rendering
1515
+ }
1516
+ };
1517
+
1518
+ /**
1519
+ * Map group for item.
1520
+ * @param {sap.m.UploadSetItem} item The UploadSetItem to map group
1521
+ * @private
1522
+ */
1523
+ UploadSet.prototype._mapGroupForItem = function(item) {
1524
+ var oItemsBinding = this.getBinding("items"),
1525
+ sModelName = this.getBindingInfo("items") ? this.getBindingInfo("items").oModel : undefined,
1526
+ fnGroupHeader = this.getBindingInfo("items") ? this.getBindingInfo("items").groupHeaderFactory : null;
1527
+ var fnGroup = function(oItem) {
1528
+ //Added sModelName to consider named model cases if empty default model is picked without checking model bind to items.
1529
+ return oItem.getBindingContext(sModelName) ? oItemsBinding.getGroup(oItem.getBindingContext(sModelName)) : null;
1530
+ };
1531
+ var fnGroupKey = function(item) {
1532
+ return fnGroup(item) && fnGroup(item).key;
1533
+ };
1534
+
1535
+ if (oItemsBinding && oItemsBinding.isGrouped() && item) {
1536
+ if ( !this._aGroupHeadersAdded.some( function(group){ return group === fnGroupKey(item);} ) ) {
1537
+ if (fnGroupHeader) {
1538
+ this.getList().addItemGroup(fnGroup(item), fnGroupHeader(fnGroup(item)), true);
1539
+ } else if (fnGroup(item)) {
1540
+ this.getList().addItemGroup(fnGroup(item), null, true);
1541
+ }
1542
+ this._aGroupHeadersAdded.push(fnGroupKey(item));
1543
+ }
1544
+ }
1545
+ };
1546
+
1547
+ /**
1548
+ * Fills list with uploadSet items.
1549
+ * @param {sap.m.UploadSetItem[]} aItems The UploadSetItems the internal list is to be filled with
1550
+ * @private
1551
+ */
1552
+ UploadSet.prototype._fillListWithUploadSetItems = function (aItems){
1553
+ var that = this;
1554
+ aItems.forEach(function(item, index) {
1555
+ item._reset();
1556
+ that._projectToNewListItem(item, index, true);
1557
+ that._refreshInnerListStyle();
1558
+ });
1559
+ };
1560
+
1199
1561
  return UploadSet;
1200
1562
  });