@openui5/sap.m 1.100.0 → 1.102.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +5 -5
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +2 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +1 -1
  7. package/src/sap/m/ActionSelect.js +1 -1
  8. package/src/sap/m/ActionSheet.js +10 -3
  9. package/src/sap/m/App.js +1 -1
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +1 -1
  12. package/src/sap/m/Bar.js +12 -21
  13. package/src/sap/m/Breadcrumbs.js +3 -3
  14. package/src/sap/m/BreadcrumbsRenderer.js +0 -5
  15. package/src/sap/m/BusyDialog.js +1 -1
  16. package/src/sap/m/BusyIndicator.js +1 -1
  17. package/src/sap/m/Button.js +1 -1
  18. package/src/sap/m/Carousel.js +4 -1
  19. package/src/sap/m/CarouselLayout.js +1 -1
  20. package/src/sap/m/CarouselRenderer.js +2 -1
  21. package/src/sap/m/CheckBox.js +1 -1
  22. package/src/sap/m/ColorPalette.js +13 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +10 -1
  25. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  26. package/src/sap/m/ColumnListItem.js +1 -1
  27. package/src/sap/m/ColumnListItemRenderer.js +1 -0
  28. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  33. package/src/sap/m/ComboBox.js +22 -2
  34. package/src/sap/m/ComboBoxBase.js +4 -2
  35. package/src/sap/m/ComboBoxTextField.js +1 -1
  36. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  37. package/src/sap/m/CustomListItem.js +1 -1
  38. package/src/sap/m/CustomTile.js +1 -1
  39. package/src/sap/m/CustomTreeItem.js +1 -1
  40. package/src/sap/m/DatePicker.js +53 -7
  41. package/src/sap/m/DatePickerRenderer.js +0 -1
  42. package/src/sap/m/DateRangeSelection.js +42 -4
  43. package/src/sap/m/DateTimeField.js +5 -2
  44. package/src/sap/m/DateTimeInput.js +1 -1
  45. package/src/sap/m/DateTimePicker.js +40 -53
  46. package/src/sap/m/DateTimePickerRenderer.js +2 -2
  47. package/src/sap/m/Dialog.js +21 -8
  48. package/src/sap/m/DialogRenderer.js +1 -1
  49. package/src/sap/m/DisplayListItem.js +1 -1
  50. package/src/sap/m/DraftIndicator.js +1 -1
  51. package/src/sap/m/DynamicDate.js +1 -1
  52. package/src/sap/m/DynamicDateFormat.js +5 -4
  53. package/src/sap/m/DynamicDateOption.js +12 -2
  54. package/src/sap/m/DynamicDateRange.js +107 -16
  55. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  56. package/src/sap/m/ExpandableText.js +1 -1
  57. package/src/sap/m/FacetFilter.js +8 -1
  58. package/src/sap/m/FacetFilterItem.js +1 -1
  59. package/src/sap/m/FacetFilterList.js +1 -1
  60. package/src/sap/m/FeedContent.js +1 -1
  61. package/src/sap/m/FeedInput.js +2 -2
  62. package/src/sap/m/FeedListItem.js +1 -1
  63. package/src/sap/m/FeedListItemAction.js +1 -1
  64. package/src/sap/m/Fiori20Adapter.js +2 -2
  65. package/src/sap/m/FlexBox.js +1 -1
  66. package/src/sap/m/FlexItemData.js +1 -1
  67. package/src/sap/m/FormattedText.js +10 -10
  68. package/src/sap/m/GenericTag.js +1 -1
  69. package/src/sap/m/GenericTagRenderer.js +10 -2
  70. package/src/sap/m/GenericTile.js +132 -16
  71. package/src/sap/m/GenericTileLineModeRenderer.js +80 -3
  72. package/src/sap/m/GenericTileRenderer.js +174 -87
  73. package/src/sap/m/GroupHeaderListItem.js +1 -1
  74. package/src/sap/m/GrowingEnablement.js +127 -93
  75. package/src/sap/m/GrowingList.js +1 -1
  76. package/src/sap/m/HBox.js +1 -1
  77. package/src/sap/m/HeaderContainer.js +41 -21
  78. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  79. package/src/sap/m/IconTabBar.js +3 -3
  80. package/src/sap/m/IconTabBarSelectList.js +1 -1
  81. package/src/sap/m/IconTabFilter.js +1 -1
  82. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  83. package/src/sap/m/IconTabHeader.js +1 -1
  84. package/src/sap/m/IconTabSeparator.js +1 -1
  85. package/src/sap/m/IllustratedMessage.js +19 -1
  86. package/src/sap/m/Illustration.js +1 -1
  87. package/src/sap/m/Image.js +1 -1
  88. package/src/sap/m/ImageContent.js +1 -1
  89. package/src/sap/m/Input.js +4 -10
  90. package/src/sap/m/InputBase.js +5 -5
  91. package/src/sap/m/InputListItem.js +1 -1
  92. package/src/sap/m/Label.js +1 -1
  93. package/src/sap/m/LightBox.js +1 -1
  94. package/src/sap/m/LightBoxItem.js +1 -1
  95. package/src/sap/m/Link.js +1 -1
  96. package/src/sap/m/List.js +1 -1
  97. package/src/sap/m/ListBase.js +52 -20
  98. package/src/sap/m/ListBaseRenderer.js +19 -3
  99. package/src/sap/m/ListItemBase.js +7 -5
  100. package/src/sap/m/MaskEnabler.js +1 -1
  101. package/src/sap/m/MaskInput.js +1 -1
  102. package/src/sap/m/MaskInputRule.js +1 -1
  103. package/src/sap/m/Menu.js +1 -1
  104. package/src/sap/m/MenuButton.js +5 -1
  105. package/src/sap/m/MenuItem.js +1 -1
  106. package/src/sap/m/MenuListItem.js +1 -1
  107. package/src/sap/m/MessageBox.js +1 -1
  108. package/src/sap/m/MessageItem.js +1 -1
  109. package/src/sap/m/MessageListItem.js +1 -1
  110. package/src/sap/m/MessagePage.js +1 -1
  111. package/src/sap/m/MessagePopover.js +18 -36
  112. package/src/sap/m/MessagePopoverItem.js +1 -1
  113. package/src/sap/m/MessageStrip.js +1 -1
  114. package/src/sap/m/MessageToast.js +1 -1
  115. package/src/sap/m/MessageView.js +1 -1
  116. package/src/sap/m/MultiComboBox.js +3 -2
  117. package/src/sap/m/MultiEditField.js +1 -1
  118. package/src/sap/m/MultiInput.js +8 -3
  119. package/src/sap/m/NavContainer.js +40 -40
  120. package/src/sap/m/NewsContent.js +1 -1
  121. package/src/sap/m/NotificationList.js +1 -1
  122. package/src/sap/m/NotificationListBase.js +175 -79
  123. package/src/sap/m/NotificationListGroup.js +1 -2
  124. package/src/sap/m/NotificationListGroupRenderer.js +4 -16
  125. package/src/sap/m/NotificationListItem.js +5 -16
  126. package/src/sap/m/NotificationListItemRenderer.js +0 -1
  127. package/src/sap/m/NumericContent.js +1 -1
  128. package/src/sap/m/NumericInput.js +3 -2
  129. package/src/sap/m/NumericInputRenderer.js +13 -1
  130. package/src/sap/m/ObjectAttribute.js +1 -1
  131. package/src/sap/m/ObjectAttributeRenderer.js +1 -1
  132. package/src/sap/m/ObjectHeader.js +1 -1
  133. package/src/sap/m/ObjectIdentifier.js +1 -1
  134. package/src/sap/m/ObjectListItem.js +1 -1
  135. package/src/sap/m/ObjectMarker.js +34 -10
  136. package/src/sap/m/ObjectMarkerRenderer.js +14 -2
  137. package/src/sap/m/ObjectNumber.js +1 -1
  138. package/src/sap/m/ObjectStatus.js +1 -1
  139. package/src/sap/m/OverflowToolbar.js +17 -1
  140. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  141. package/src/sap/m/OverflowToolbarButton.js +1 -1
  142. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  143. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  144. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  145. package/src/sap/m/P13nColumnsItem.js +1 -1
  146. package/src/sap/m/P13nColumnsPanel.js +1 -1
  147. package/src/sap/m/P13nConditionPanel.js +9 -12
  148. package/src/sap/m/P13nDialog.js +1 -1
  149. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  150. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  151. package/src/sap/m/P13nFilterItem.js +1 -1
  152. package/src/sap/m/P13nFilterPanel.js +1 -1
  153. package/src/sap/m/P13nGroupItem.js +1 -1
  154. package/src/sap/m/P13nGroupPanel.js +1 -1
  155. package/src/sap/m/P13nItem.js +1 -1
  156. package/src/sap/m/P13nPanel.js +1 -1
  157. package/src/sap/m/P13nSelectionItem.js +1 -1
  158. package/src/sap/m/P13nSelectionPanel.js +1 -1
  159. package/src/sap/m/P13nSortItem.js +1 -1
  160. package/src/sap/m/P13nSortPanel.js +1 -1
  161. package/src/sap/m/PDFViewer.js +3 -3
  162. package/src/sap/m/PDFViewerRenderer.js +15 -7
  163. package/src/sap/m/Page.js +4 -4
  164. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  165. package/src/sap/m/PagingButton.js +1 -1
  166. package/src/sap/m/Panel.js +1 -1
  167. package/src/sap/m/PlanningCalendar.js +14 -14
  168. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  169. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  170. package/src/sap/m/PlanningCalendarRow.js +1 -1
  171. package/src/sap/m/PlanningCalendarView.js +1 -1
  172. package/src/sap/m/Popover.js +15 -10
  173. package/src/sap/m/ProgressIndicator.js +1 -1
  174. package/src/sap/m/PullToRefresh.js +1 -1
  175. package/src/sap/m/QuickView.js +1 -1
  176. package/src/sap/m/QuickViewBase.js +1 -1
  177. package/src/sap/m/QuickViewCard.js +1 -1
  178. package/src/sap/m/QuickViewGroup.js +1 -1
  179. package/src/sap/m/QuickViewGroupElement.js +1 -1
  180. package/src/sap/m/QuickViewPage.js +1 -1
  181. package/src/sap/m/RadioButton.js +2 -2
  182. package/src/sap/m/RadioButtonGroup.js +3 -2
  183. package/src/sap/m/RangeSlider.js +19 -4
  184. package/src/sap/m/RatingIndicator.js +1 -1
  185. package/src/sap/m/ResponsivePopover.js +1 -1
  186. package/src/sap/m/ResponsiveScale.js +1 -1
  187. package/src/sap/m/ScrollBar.js +1 -1
  188. package/src/sap/m/ScrollContainer.js +1 -1
  189. package/src/sap/m/SearchField.js +1 -1
  190. package/src/sap/m/SegmentedButton.js +5 -3
  191. package/src/sap/m/SegmentedButtonItem.js +1 -1
  192. package/src/sap/m/Select.js +24 -3
  193. package/src/sap/m/SelectDialog.js +14 -18
  194. package/src/sap/m/SelectDialogBase.js +1 -1
  195. package/src/sap/m/SelectList.js +1 -1
  196. package/src/sap/m/SelectionDetails.js +1 -1
  197. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  198. package/src/sap/m/SelectionDetailsItem.js +1 -1
  199. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  200. package/src/sap/m/Shell.js +1 -1
  201. package/src/sap/m/SimpleFixFlex.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  204. package/src/sap/m/SinglePlanningCalendarGrid.js +94 -52
  205. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +10 -9
  206. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +22 -10
  207. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  208. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  209. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  210. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  211. package/src/sap/m/SlideTile.js +1 -1
  212. package/src/sap/m/Slider.js +1 -1
  213. package/src/sap/m/SliderTooltip.js +1 -1
  214. package/src/sap/m/SliderTooltipBase.js +1 -1
  215. package/src/sap/m/SliderTooltipContainer.js +5 -1
  216. package/src/sap/m/SplitApp.js +1 -1
  217. package/src/sap/m/SplitButton.js +1 -1
  218. package/src/sap/m/SplitContainer.js +1 -1
  219. package/src/sap/m/StandardDynamicDateOption.js +36 -13
  220. package/src/sap/m/StandardListItem.js +3 -3
  221. package/src/sap/m/StandardListItemRenderer.js +1 -1
  222. package/src/sap/m/StandardTile.js +1 -1
  223. package/src/sap/m/StandardTreeItem.js +1 -1
  224. package/src/sap/m/StepInput.js +3 -3
  225. package/src/sap/m/SuggestionItem.js +1 -1
  226. package/src/sap/m/SuggestionsPopover.js +5 -13
  227. package/src/sap/m/Switch.js +1 -1
  228. package/src/sap/m/TabContainer.js +1 -1
  229. package/src/sap/m/TabContainerItem.js +1 -1
  230. package/src/sap/m/TabStrip.js +5 -3
  231. package/src/sap/m/TabStripItem.js +1 -1
  232. package/src/sap/m/Table.js +34 -3
  233. package/src/sap/m/TablePersoController.js +1 -1
  234. package/src/sap/m/TablePersoDialog.js +1 -1
  235. package/src/sap/m/TablePersoProvider.js +1 -1
  236. package/src/sap/m/TableRenderer.js +9 -4
  237. package/src/sap/m/TableSelectDialog.js +13 -9
  238. package/src/sap/m/Text.js +1 -1
  239. package/src/sap/m/TextArea.js +1 -1
  240. package/src/sap/m/Tile.js +1 -1
  241. package/src/sap/m/TileContainer.js +1 -1
  242. package/src/sap/m/TileContent.js +8 -14
  243. package/src/sap/m/TileContentRenderer.js +16 -7
  244. package/src/sap/m/TimePicker.js +52 -60
  245. package/src/sap/m/TimePickerClock.js +1 -1
  246. package/src/sap/m/TimePickerClocks.js +1 -1
  247. package/src/sap/m/TimePickerInputs.js +1 -1
  248. package/src/sap/m/TimePickerInternals.js +1 -1
  249. package/src/sap/m/TimePickerRenderer.js +0 -1
  250. package/src/sap/m/TimePickerSlider.js +1 -1
  251. package/src/sap/m/TimePickerSliders.js +1 -1
  252. package/src/sap/m/Title.js +1 -1
  253. package/src/sap/m/TitlePropagationSupport.js +1 -1
  254. package/src/sap/m/ToggleButton.js +1 -1
  255. package/src/sap/m/Token.js +1 -1
  256. package/src/sap/m/Tokenizer.js +15 -3
  257. package/src/sap/m/Toolbar.js +7 -1
  258. package/src/sap/m/ToolbarLayoutData.js +1 -1
  259. package/src/sap/m/ToolbarSeparator.js +1 -1
  260. package/src/sap/m/ToolbarSpacer.js +1 -1
  261. package/src/sap/m/Tree.js +1 -1
  262. package/src/sap/m/TreeItemBase.js +1 -1
  263. package/src/sap/m/UploadCollection.js +1 -1
  264. package/src/sap/m/UploadCollectionItem.js +2 -1
  265. package/src/sap/m/UploadCollectionParameter.js +2 -1
  266. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +2 -1
  267. package/src/sap/m/VBox.js +1 -1
  268. package/src/sap/m/ValueStateHeader.js +1 -1
  269. package/src/sap/m/VariantManagement.js +2492 -0
  270. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  271. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  272. package/src/sap/m/ViewSettingsDialog.js +8 -9
  273. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  274. package/src/sap/m/ViewSettingsItem.js +1 -1
  275. package/src/sap/m/VisibleItem.js +2 -2
  276. package/src/sap/m/WheelSlider.js +1 -1
  277. package/src/sap/m/WheelSliderContainer.js +1 -1
  278. package/src/sap/m/Wizard.js +22 -4
  279. package/src/sap/m/WizardProgressNavigator.js +10 -3
  280. package/src/sap/m/WizardStep.js +1 -1
  281. package/src/sap/m/changeHandler/AddTableColumn.js +3 -5
  282. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  283. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  284. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  285. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  286. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  287. package/src/sap/m/designtime/ListBase.designtime.js +3 -0
  288. package/src/sap/m/designtime/VariantManagement.designtime.js +56 -0
  289. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  290. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  291. package/src/sap/m/inputUtils/highlightDOMElements.js +3 -2
  292. package/src/sap/m/library.js +55 -19
  293. package/src/sap/m/messagebundle.properties +168 -27
  294. package/src/sap/m/messagebundle_ar.properties +104 -14
  295. package/src/sap/m/messagebundle_bg.properties +104 -14
  296. package/src/sap/m/messagebundle_ca.properties +104 -14
  297. package/src/sap/m/messagebundle_cs.properties +104 -14
  298. package/src/sap/m/messagebundle_cy.properties +104 -14
  299. package/src/sap/m/messagebundle_da.properties +104 -14
  300. package/src/sap/m/messagebundle_de.properties +104 -14
  301. package/src/sap/m/messagebundle_el.properties +104 -14
  302. package/src/sap/m/messagebundle_en.properties +103 -13
  303. package/src/sap/m/messagebundle_en_GB.properties +103 -13
  304. package/src/sap/m/messagebundle_en_US_sappsd.properties +102 -12
  305. package/src/sap/m/messagebundle_en_US_saprigi.properties +102 -12
  306. package/src/sap/m/messagebundle_en_US_saptrc.properties +102 -12
  307. package/src/sap/m/messagebundle_es.properties +104 -14
  308. package/src/sap/m/messagebundle_es_MX.properties +104 -14
  309. package/src/sap/m/messagebundle_et.properties +104 -14
  310. package/src/sap/m/messagebundle_fi.properties +103 -13
  311. package/src/sap/m/messagebundle_fr.properties +105 -15
  312. package/src/sap/m/messagebundle_fr_CA.properties +104 -14
  313. package/src/sap/m/messagebundle_hi.properties +104 -14
  314. package/src/sap/m/messagebundle_hr.properties +104 -14
  315. package/src/sap/m/messagebundle_hu.properties +104 -14
  316. package/src/sap/m/messagebundle_id.properties +104 -14
  317. package/src/sap/m/messagebundle_it.properties +112 -22
  318. package/src/sap/m/messagebundle_iw.properties +104 -14
  319. package/src/sap/m/messagebundle_ja.properties +104 -14
  320. package/src/sap/m/messagebundle_kk.properties +104 -14
  321. package/src/sap/m/messagebundle_ko.properties +105 -15
  322. package/src/sap/m/messagebundle_lt.properties +104 -14
  323. package/src/sap/m/messagebundle_lv.properties +103 -13
  324. package/src/sap/m/messagebundle_ms.properties +104 -14
  325. package/src/sap/m/messagebundle_nl.properties +103 -13
  326. package/src/sap/m/messagebundle_no.properties +104 -14
  327. package/src/sap/m/messagebundle_pl.properties +104 -14
  328. package/src/sap/m/messagebundle_pt.properties +112 -22
  329. package/src/sap/m/messagebundle_pt_PT.properties +104 -14
  330. package/src/sap/m/messagebundle_ro.properties +104 -14
  331. package/src/sap/m/messagebundle_ru.properties +104 -14
  332. package/src/sap/m/messagebundle_sh.properties +104 -14
  333. package/src/sap/m/messagebundle_sk.properties +104 -14
  334. package/src/sap/m/messagebundle_sl.properties +104 -14
  335. package/src/sap/m/messagebundle_sv.properties +105 -15
  336. package/src/sap/m/messagebundle_th.properties +104 -14
  337. package/src/sap/m/messagebundle_tr.properties +104 -14
  338. package/src/sap/m/messagebundle_uk.properties +104 -14
  339. package/src/sap/m/messagebundle_vi.properties +104 -14
  340. package/src/sap/m/messagebundle_zh_CN.properties +104 -14
  341. package/src/sap/m/messagebundle_zh_TW.properties +104 -14
  342. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  343. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  344. package/src/sap/m/p13n/BasePanel.js +9 -3
  345. package/src/sap/m/p13n/Container.js +11 -4
  346. package/src/sap/m/p13n/GroupPanel.js +17 -5
  347. package/src/sap/m/p13n/Popup.js +9 -2
  348. package/src/sap/m/p13n/QueryPanel.js +89 -37
  349. package/src/sap/m/p13n/SelectionPanel.js +30 -5
  350. package/src/sap/m/p13n/SortPanel.js +27 -13
  351. package/src/sap/m/plugins/ColumnResizer.js +41 -6
  352. package/src/sap/m/plugins/DataStateIndicator.js +3 -2
  353. package/src/sap/m/plugins/PasteProvider.js +1 -1
  354. package/src/sap/m/plugins/PluginBase.js +1 -1
  355. package/src/sap/m/rules/CheckBox.support.js +1 -1
  356. package/src/sap/m/rules/Image.support.js +1 -1
  357. package/src/sap/m/rules/Link.support.js +1 -1
  358. package/src/sap/m/rules/MessagePage.support.js +1 -1
  359. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  360. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  361. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  362. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  363. package/src/sap/m/rules/Select.support.js +1 -1
  364. package/src/sap/m/rules/Table.support.js +3 -3
  365. package/src/sap/m/semantic/AddAction.js +1 -1
  366. package/src/sap/m/semantic/CancelAction.js +1 -1
  367. package/src/sap/m/semantic/DeleteAction.js +1 -1
  368. package/src/sap/m/semantic/DetailPage.js +1 -1
  369. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  370. package/src/sap/m/semantic/EditAction.js +1 -1
  371. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  372. package/src/sap/m/semantic/FilterAction.js +1 -1
  373. package/src/sap/m/semantic/FilterSelect.js +1 -1
  374. package/src/sap/m/semantic/FlagAction.js +1 -1
  375. package/src/sap/m/semantic/ForwardAction.js +1 -1
  376. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  377. package/src/sap/m/semantic/GroupAction.js +1 -1
  378. package/src/sap/m/semantic/GroupSelect.js +1 -1
  379. package/src/sap/m/semantic/MainAction.js +1 -1
  380. package/src/sap/m/semantic/MasterPage.js +1 -1
  381. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  382. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  383. package/src/sap/m/semantic/NegativeAction.js +1 -1
  384. package/src/sap/m/semantic/OpenInAction.js +1 -1
  385. package/src/sap/m/semantic/PositiveAction.js +1 -1
  386. package/src/sap/m/semantic/PrintAction.js +1 -1
  387. package/src/sap/m/semantic/SaveAction.js +1 -1
  388. package/src/sap/m/semantic/Segment.js +1 -1
  389. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  390. package/src/sap/m/semantic/SemanticButton.js +1 -1
  391. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  392. package/src/sap/m/semantic/SemanticControl.js +1 -1
  393. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  394. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  395. package/src/sap/m/semantic/SemanticPage.js +1 -1
  396. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  397. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  398. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  399. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  400. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  401. package/src/sap/m/semantic/ShareMenu.js +1 -1
  402. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  403. package/src/sap/m/semantic/SortAction.js +1 -1
  404. package/src/sap/m/semantic/SortSelect.js +1 -1
  405. package/src/sap/m/table/Util.js +98 -16
  406. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  407. package/src/sap/m/table/columnmenu/Entry.js +1 -11
  408. package/src/sap/m/table/columnmenu/Item.js +1 -1
  409. package/src/sap/m/table/columnmenu/ItemBase.js +11 -1
  410. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  411. package/src/sap/m/table/columnmenu/Menu.js +222 -34
  412. package/src/sap/m/table/columnmenu/MenuRenderer.js +5 -28
  413. package/src/sap/m/table/columnmenu/QuickAction.js +14 -3
  414. package/src/sap/m/table/columnmenu/QuickActionBase.js +11 -1
  415. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  416. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -5
  417. package/src/sap/m/table/columnmenu/QuickGroup.js +20 -16
  418. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  419. package/src/sap/m/table/columnmenu/QuickSort.js +2 -1
  420. package/src/sap/m/table/columnmenu/QuickSortItem.js +29 -28
  421. package/src/sap/m/table/columnmenu/QuickTotal.js +20 -25
  422. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  423. package/src/sap/m/themes/base/ActionListItem.less +1 -1
  424. package/src/sap/m/themes/base/Avatar.less +11 -5
  425. package/src/sap/m/themes/base/Button.less +1 -6
  426. package/src/sap/m/themes/base/Carousel.less +72 -87
  427. package/src/sap/m/themes/base/CheckBox.less +0 -1
  428. package/src/sap/m/themes/base/ColumnListItem.less +0 -3
  429. package/src/sap/m/themes/base/ColumnMenu.less +12 -4
  430. package/src/sap/m/themes/base/Dialog.less +10 -6
  431. package/src/sap/m/themes/base/GenericTile.less +758 -179
  432. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  433. package/src/sap/m/themes/base/IconTabBarSelectList.less +5 -4
  434. package/src/sap/m/themes/base/Input.less +1 -1
  435. package/src/sap/m/themes/base/InputBase.less +114 -11
  436. package/src/sap/m/themes/base/Label.less +3 -0
  437. package/src/sap/m/themes/base/LightBox.less +9 -7
  438. package/src/sap/m/themes/base/Link.less +12 -4
  439. package/src/sap/m/themes/base/ListBase.less +4 -0
  440. package/src/sap/m/themes/base/ListItemBase.less +1 -12
  441. package/src/sap/m/themes/base/MenuButton.less +16 -0
  442. package/src/sap/m/themes/base/MessageBox.less +5 -5
  443. package/src/sap/m/themes/base/MultiInput.less +1 -1
  444. package/src/sap/m/themes/base/NewsContent.less +0 -9
  445. package/src/sap/m/themes/base/NotificationListBase.less +9 -14
  446. package/src/sap/m/themes/base/NotificationListGroup.less +30 -44
  447. package/src/sap/m/themes/base/NotificationListItem.less +14 -18
  448. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  449. package/src/sap/m/themes/base/ObjectListItem.less +3 -0
  450. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  451. package/src/sap/m/themes/base/ObjectStatus.less +8 -0
  452. package/src/sap/m/themes/base/Panel.less +1 -1
  453. package/src/sap/m/themes/base/Popover.less +10 -7
  454. package/src/sap/m/themes/base/QuickView.less +14 -2
  455. package/src/sap/m/themes/base/RadioButton.less +21 -3
  456. package/src/sap/m/themes/base/RatingIndicator.less +4 -0
  457. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +3 -29
  458. package/src/sap/m/themes/base/SlideTile.less +18 -0
  459. package/src/sap/m/themes/base/Slider.less +18 -18
  460. package/src/sap/m/themes/base/StandardListItem.less +5 -9
  461. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  462. package/src/sap/m/themes/base/Table.less +18 -21
  463. package/src/sap/m/themes/base/TextArea.less +32 -0
  464. package/src/sap/m/themes/base/Token.less +17 -15
  465. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  466. package/src/sap/m/themes/base/Toolbar.less +1 -1
  467. package/src/sap/m/themes/base/UploadCollection.less +2 -0
  468. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  469. package/src/sap/m/themes/base/VariantManagement.less +97 -0
  470. package/src/sap/m/themes/base/Wizard.less +5 -4
  471. package/src/sap/m/themes/base/WizardProgressNavigator.less +8 -0
  472. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  473. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  474. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  475. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  476. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  477. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  478. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  479. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  480. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  481. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  482. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  483. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  484. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  485. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  486. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  487. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  488. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  489. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  490. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  491. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  492. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  493. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  494. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  495. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  496. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  497. package/src/sap/m/themes/base/library.source.less +1 -0
  498. package/src/sap/m/themes/sap_hcb/Carousel.less +3 -7
  499. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  500. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  501. package/src/sap/m/themes/sap_hcb/Panel.less +4 -0
  502. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  503. package/src/sap/m/themes/sap_hcb/Slider.less +11 -0
  504. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  505. package/src/sap/m/themes/sap_hcb/Tokenizer.less +1 -0
  506. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  507. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  508. package/src/sap/m/upload/UploadSet.js +162 -17
  509. package/src/sap/m/upload/UploadSetItem.js +24 -1
  510. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +45 -0
@@ -26,9 +26,10 @@ sap.ui.define([
26
26
  "sap/m/upload/UploaderHttpRequestMethod",
27
27
  "sap/ui/core/dnd/DragDropInfo",
28
28
  "sap/ui/core/dnd/DropInfo",
29
- "sap/m/library"
29
+ "sap/m/library",
30
+ "sap/m/upload/UploadSetToolbarPlaceholder"
30
31
  ], function (Control, Icon, KeyCodes, Log, deepEqual, MobileLibrary, Button, Dialog, List, MessageBox, OverflowToolbar,
31
- StandardListItem, Text, ToolbarSpacer, FileUploader, UploadSetItem, Uploader, Renderer, UploaderHttpRequestMethod, DragDropInfo, DropInfo, Library) {
32
+ StandardListItem, Text, ToolbarSpacer, FileUploader, UploadSetItem, Uploader, Renderer, UploaderHttpRequestMethod, DragDropInfo, DropInfo, Library, UploadSetToolbarPlaceholder) {
32
33
  "use strict";
33
34
 
34
35
  /**
@@ -42,7 +43,7 @@ sap.ui.define([
42
43
  * and requests, unified behavior of instant and deferred uploads, as well as improved progress indication.
43
44
  * @extends sap.ui.core.Control
44
45
  * @author SAP SE
45
- * @version 1.100.0
46
+ * @version 1.102.1
46
47
  * @constructor
47
48
  * @public
48
49
  * @since 1.63
@@ -474,18 +475,41 @@ sap.ui.define([
474
475
  this._$Body = null;
475
476
  this._$DragDropArea = null;
476
477
  this._oLastEnteredTarget = null;
478
+
479
+ this._aGroupHeadersAdded = [];
480
+ this._iFileUploaderPH = null;
481
+ this._oItemToUpdate = null;
477
482
  };
478
483
 
479
484
  UploadSet.prototype.exit = function () {
480
485
  this._oNoDataIcon.destroy();
481
486
  this._oNoDataIcon = null;
487
+ if (this._oList) {
488
+ this._oList.destroy();
489
+ this._oList = null;
490
+ }
491
+ if (this._oToolbar) {
492
+ this._oToolbar.destroy();
493
+ this._oToolbar = null;
494
+ }
495
+ if (this._oFileUploader) {
496
+ this._oFileUploader.destroy();
497
+ this._oFileUploader = null;
498
+ }
499
+ if (this._oUploader) {
500
+ this._oUploader.destroy();
501
+ this._oUploader = null;
502
+ }
482
503
  };
483
504
 
484
505
  /* ===================== */
485
506
  /* Overriden API methods */
486
507
  /* ===================== */
487
508
 
488
- UploadSet.prototype.onBeforeRendering = function () {
509
+ UploadSet.prototype.onBeforeRendering = function (oEvent) {
510
+ this._aGroupHeadersAdded = [];
511
+ this._clearGroupHeaders();
512
+ this._fillListWithUploadSetItems(this.getItems());
489
513
  };
490
514
 
491
515
  UploadSet.prototype.onAfterRendering = function () {
@@ -555,9 +579,15 @@ sap.ui.define([
555
579
  this._oToolbar = new OverflowToolbar(this.getId() + "-toolbar", {
556
580
  content: [this._oNumberOfAttachmentsTitle, new ToolbarSpacer(), this.getDefaultFileUploader()]
557
581
  });
582
+ this._iFileUploaderPH = 2;
558
583
  this.addDependent(this._oToolbar);
559
584
  } else {
560
- this._oToolbar.addContent(this.getDefaultFileUploader());
585
+ this._iFileUploaderPH = this._getFileUploaderPlaceHolderPosition(this._oToolbar);
586
+ if (this._oToolbar && this._iFileUploaderPH > -1) {
587
+ this._setFileUploaderInToolbar(this.getDefaultFileUploader());
588
+ } else if (this._oToolbar) {
589
+ this._oToolbar.insertContent(this.getDefaultFileUploader());
590
+ }
561
591
  }
562
592
  }
563
593
 
@@ -585,7 +615,7 @@ sap.ui.define([
585
615
 
586
616
  UploadSet.prototype.addAggregation = function (sAggregationName, oObject, bSuppressInvalidate) {
587
617
  Control.prototype.addAggregation.call(this, sAggregationName, oObject, bSuppressInvalidate);
588
- if (oObject && (sAggregationName === "items" || sAggregationName === "incompleteItems")) {
618
+ if (oObject && (sAggregationName === 'items' || sAggregationName === "incompleteItems")) {
589
619
  this._projectToNewListItem(oObject);
590
620
  this._refreshInnerListStyle();
591
621
  }
@@ -593,7 +623,7 @@ sap.ui.define([
593
623
 
594
624
  UploadSet.prototype.insertAggregation = function (sAggregationName, oObject, iIndex, bSuppressInvalidate) {
595
625
  Control.prototype.insertAggregation.call(this, sAggregationName, oObject, iIndex, bSuppressInvalidate);
596
- if (oObject && (sAggregationName === "items" || sAggregationName === "incompleteItems")) {
626
+ if (oObject && (sAggregationName === 'items' || sAggregationName === 'incompleteItems')) {
597
627
  this._projectToNewListItem(oObject, iIndex || 0);
598
628
  this._refreshInnerListStyle();
599
629
  }
@@ -607,12 +637,14 @@ sap.ui.define([
607
637
  oItems = this.getItems();
608
638
  oListItem = oItems[oObject];
609
639
  } else if (typeof oObject === 'object') { // the object itself is given or has just been retrieved
610
- oListItem = oObject._getListItem();
640
+ if (this.getList() && this.getList().getItems().length) {
641
+ oListItem = oObject._getListItem();
642
+ }
611
643
  }
612
644
  var oItem = this.getList().removeAggregation("items", oListItem, bSuppressInvalidate);
613
645
  if (oItem && oObject) {
614
- oObject.destroy();
615
646
  oItem.destroy();
647
+ oObject.destroy();
616
648
  }
617
649
  this._refreshInnerListStyle();
618
650
  }
@@ -621,11 +653,15 @@ sap.ui.define([
621
653
  UploadSet.prototype.removeAllAggregation = function (sAggregationName, bSuppressInvalidate) {
622
654
  if (sAggregationName === "items") {
623
655
  this.getItems().forEach(function (oItem) {
624
- this.getList().removeAggregation("items", oItem._getListItem(), bSuppressInvalidate);
656
+ if (this._oList) {
657
+ this._oList.removeAggregation("items", oItem._getListItem(), bSuppressInvalidate);
658
+ }
625
659
  }.bind(this));
626
660
  } else if (sAggregationName === "incompleteItems") {
627
661
  this.getIncompleteItems().forEach(function (oItem) {
628
- this.getList().removeAggregation("items", oItem._getListItem(), bSuppressInvalidate);
662
+ if (this._oList) {
663
+ this._oList.removeAggregation("items", oItem._getListItem(), bSuppressInvalidate);
664
+ }
629
665
  }.bind(this));
630
666
  }
631
667
  Control.prototype.removeAllAggregation.call(this, sAggregationName, bSuppressInvalidate);
@@ -635,8 +671,8 @@ sap.ui.define([
635
671
  if (sAggregationName === "items" || sAggregationName === "incompleteItems") {
636
672
  this.removeAllAggregation(sAggregationName, bSuppressInvalidate);
637
673
  }
638
- if (this.getList().getItems().length === 0) {
639
- this.getList().destroyAggregation("items", bSuppressInvalidate);
674
+ if (this._oList && this._oList.getItems().length === 0) {
675
+ this._oList.destroyAggregation("items", bSuppressInvalidate);
640
676
  }
641
677
  Control.prototype.destroyAggregation.call(this, sAggregationName, bSuppressInvalidate);
642
678
  };
@@ -907,7 +943,7 @@ sap.ui.define([
907
943
 
908
944
  /**
909
945
  * Returns an array containing the selected UploadSetItems.
910
- * @returns {sap.m.UploadSetItem[]} Array of all selected items
946
+ * @returns {sap.m.upload.UploadSetItem[]} Array of all selected items
911
947
  * @public
912
948
  * @since 1.100.0
913
949
  */
@@ -918,7 +954,7 @@ sap.ui.define([
918
954
 
919
955
  /**
920
956
  * Retrieves the currently selected UploadSetItem.
921
- * @returns {sap.m.UploadSetItem | null} The currently selected item or null
957
+ * @returns {sap.m.upload.UploadSetItem | null} The currently selected item or null
922
958
  * @public
923
959
  * @since 1.100.0
924
960
  */
@@ -946,7 +982,7 @@ sap.ui.define([
946
982
 
947
983
  /**
948
984
  * Selects or deselects the given list item.
949
- * @param {sap.m.UploadSetItem} uploadSetItem The item whose selection is to be changed. This parameter is mandatory.
985
+ * @param {sap.m.upload.UploadSetItem} uploadSetItem The item whose selection is to be changed. This parameter is mandatory.
950
986
  * @param {boolean} [select=true] The selection state of the item.
951
987
  * @returns {this} this to allow method chaining
952
988
  * @public
@@ -971,6 +1007,28 @@ sap.ui.define([
971
1007
  return this;
972
1008
  };
973
1009
 
1010
+ /**
1011
+ * Opens the FileUploader dialog. When an UploadSetItem is provided, this method can be used to update a file with a new version.
1012
+ * @param {sap.m.UploadSetItem} item The UploadSetItem to update with a new version. This parameter is mandatory.
1013
+ * @returns {this} this to allow method chaining
1014
+ * @public
1015
+ */
1016
+ UploadSet.prototype.openFileDialog = function(item) {
1017
+ if (this._oFileUploader) {
1018
+ if (item) {
1019
+ if (!this._oFileUploader.getMultiple()) {
1020
+ this._oItemToUpdate = item;
1021
+ this._oFileUploader.$().find("input[type=file]").trigger("click");
1022
+ } else {
1023
+ Log.warning("Version Upload cannot be used in multiple upload mode");
1024
+ }
1025
+ } else {
1026
+ this._oFileUploader.$().find("input[type=file]").trigger("click");
1027
+ }
1028
+ }
1029
+ return this;
1030
+ };
1031
+
974
1032
  /* ============== */
975
1033
  /* Event handlers */
976
1034
  /* ============== */
@@ -1008,8 +1066,12 @@ sap.ui.define([
1008
1066
  "headers": oResponseXHRParams.headers
1009
1067
  };
1010
1068
  oItem.setProgress(100);
1069
+ if (this._oItemToUpdate && this.getInstantUpload()) {
1070
+ this.removeAggregation('items', this._oItemToUpdate, false);
1071
+ }
1011
1072
  this.insertItem(oItem, 0);
1012
1073
  oItem.setUploadState(UploadState.Complete);
1074
+ this._oItemToUpdate = null;
1013
1075
  this.fireUploadCompleted(oXhrParams);
1014
1076
  };
1015
1077
 
@@ -1334,7 +1396,11 @@ sap.ui.define([
1334
1396
  UploadSet.prototype._projectToNewListItem = function (oItem, iIndex) {
1335
1397
  var oListItem = oItem._getListItem();
1336
1398
  this._mListItemIdToItemMap[oListItem.getId()] = oItem; // TODO: Probably unnecessary
1337
- if (iIndex || iIndex === 0) {
1399
+ if (oItem.sParentAggregationName === 'items') {
1400
+ // maps groups for each item if group configuration provided
1401
+ this._mapGroupForItem(oItem);
1402
+ }
1403
+ if (iIndex === 0) {
1338
1404
  this.getList().insertAggregation("items", oListItem, iIndex, true);
1339
1405
  } else {
1340
1406
  this.getList().addAggregation("items", oListItem, true);
@@ -1488,5 +1554,84 @@ sap.ui.define([
1488
1554
  return null;
1489
1555
  };
1490
1556
 
1557
+ /**
1558
+ * Destroy the items in the List.
1559
+ * @private
1560
+ */
1561
+ UploadSet.prototype._clearGroupHeaders = function() {
1562
+ this.getList().getItems().forEach(function(oItem) {
1563
+ if (oItem.isGroupHeader()) {
1564
+ oItem.destroy(false);
1565
+ }
1566
+ });
1567
+ };
1568
+
1569
+ /**
1570
+ * Map group for item.
1571
+ * @param {sap.m.UploadSetItem} item The UploadSetItem to map group
1572
+ * @private
1573
+ */
1574
+ UploadSet.prototype._mapGroupForItem = function(item) {
1575
+ var oItemsBinding = this.getBinding("items"),
1576
+ sModelName = this.getBindingInfo("items") ? this.getBindingInfo("items").oModel : undefined,
1577
+ fnGroupHeader = this.getBindingInfo("items") ? this.getBindingInfo("items").groupHeaderFactory : null;
1578
+ var fnGroup = function(oItem) {
1579
+ //Added sModelName to consider named model cases if empty default model is picked without checking model bind to items.
1580
+ return oItem.getBindingContext(sModelName) ? oItemsBinding.getGroup(oItem.getBindingContext(sModelName)) : null;
1581
+ };
1582
+ var fnGroupKey = function(item) {
1583
+ return fnGroup(item) && fnGroup(item).key;
1584
+ };
1585
+
1586
+ if (oItemsBinding && oItemsBinding.isGrouped() && item) {
1587
+ if ( !this._aGroupHeadersAdded.some( function(group){ return group === fnGroupKey(item);} ) ) {
1588
+ if (fnGroupHeader) {
1589
+ this.getList().addItemGroup(fnGroup(item), fnGroupHeader(fnGroup(item)), true);
1590
+ } else if (fnGroup(item)) {
1591
+ this.getList().addItemGroup(fnGroup(item), null, true);
1592
+ }
1593
+ this._aGroupHeadersAdded.push(fnGroupKey(item));
1594
+ }
1595
+ }
1596
+ };
1597
+
1598
+ /**
1599
+ * Fills list with uploadSet items.
1600
+ * @param {sap.m.UploadSetItem[]} aItems The UploadSetItems the internal list is to be filled with
1601
+ * @private
1602
+ */
1603
+ UploadSet.prototype._fillListWithUploadSetItems = function (aItems){
1604
+ var that = this;
1605
+ aItems.forEach(function(item, index) {
1606
+ item._reset();
1607
+ that._projectToNewListItem(item, true);
1608
+ that._refreshInnerListStyle();
1609
+ });
1610
+ };
1611
+
1612
+ /**
1613
+ * Provides the position of the placeholder for the FileUploader, that every toolbar must have if it is provided by the application.
1614
+ * @param {sap.m.OverflowToolbar} toolbar Toolbar where the placeholder can be found.
1615
+ * @return {int} The position of the placeholder or -1 if there's no placeholder.
1616
+ * @private
1617
+ */
1618
+ UploadSet.prototype._getFileUploaderPlaceHolderPosition = function(toolbar) {
1619
+ for (var i = 0; i < toolbar.getContent().length; i++) {
1620
+ if (toolbar.getContent()[i] instanceof UploadSetToolbarPlaceholder) {
1621
+ return i;
1622
+ }
1623
+ }
1624
+ return -1;
1625
+ };
1626
+
1627
+ /**
1628
+ * Inserts the given FileUploader object into the current Toolbar at the position of the placeholder.
1629
+ * @param {sap.ui.unified.FileUploader} fileUploader The FileUploader object to insert into the Toolbar
1630
+ * @private
1631
+ */
1632
+ UploadSet.prototype._setFileUploaderInToolbar = function(fileUploader) {
1633
+ this._oToolbar.getContent()[this._iFileUploaderPH].setVisible(false);
1634
+ this._oToolbar.insertContent(fileUploader, this._iFileUploaderPH);
1635
+ };
1491
1636
  return UploadSet;
1492
1637
  });
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @class Item that represents one file to be uploaded using the {@link sap.m.upload.UploadSet} control.
37
37
  * @extends sap.ui.core.Element
38
38
  * @author SAP SE
39
- * @version 1.100.0
39
+ * @version 1.102.1
40
40
  * @constructor
41
41
  * @public
42
42
  * @since 1.63
@@ -1047,5 +1047,28 @@ sap.ui.define([
1047
1047
  }
1048
1048
  };
1049
1049
 
1050
+ /**
1051
+ * Resets item flags to initial state, that can be used to recreate the item
1052
+ * @private
1053
+ */
1054
+ UploadSetItem.prototype._reset = function() {
1055
+ if (this._oListItem) {
1056
+ this._oListItem.destroy();
1057
+ this._oListItem = null;
1058
+ }
1059
+ this._oListItem = null;
1060
+ if (this._oIcon) {
1061
+ this.removeDependent(this._oIcon);
1062
+ this._oIcon.destroy();
1063
+ this._oIcon = null;
1064
+ }
1065
+ if (this._oFileNameLink) {
1066
+ this.removeDependent(this._oFileNameLink);
1067
+ this._oFileNameLink.destroy();
1068
+ this._oFileNameLink = null;
1069
+ }
1070
+ this._oDynamicContent = null;
1071
+ };
1072
+
1050
1073
  return UploadSetItem;
1051
1074
  });
@@ -0,0 +1,45 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/m/library",
9
+ "sap/ui/core/Control"
10
+ ], function(library, Control) {
11
+ "use strict";
12
+
13
+ /**
14
+ * Constructor for a new UploadSetToolbarPlaceholder.
15
+ *
16
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
17
+ * @param {object} [mSettings] initial settings for the new control
18
+ *
19
+ * @class
20
+ * Used to create a customizable toolbar for the UploadSet.
21
+ * A FileUploader instance is required in the toolbar and it is placed by the application.
22
+ * @extends sap.ui.core.Control
23
+ *
24
+ * @author SAP SE
25
+ * @version 1.102.1
26
+ *
27
+ * @constructor
28
+ * @public
29
+ * @alias sap.m.upload.UploadSetToolbarPlaceholder
30
+ */
31
+
32
+ var UploadSetToolbarPlaceholder = Control.extend("sap.m.upload.UploadSetToolbarPlaceholder", {
33
+ metadata: {
34
+ library: "sap.m",
35
+ properties: {}
36
+ },
37
+ renderer: {
38
+ apiVersion: 2,
39
+ render: function(oRm, oControl) {}
40
+ }
41
+ });
42
+
43
+ return UploadSetToolbarPlaceholder;
44
+
45
+ });