@openui5/sap.m 1.105.1 → 1.107.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 (471) hide show
  1. package/.reuse/dep5 +20 -17
  2. package/THIRDPARTY.txt +31 -21
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +20 -1
  5. package/src/sap/m/AccButton.js +4 -3
  6. package/src/sap/m/ActionListItem.js +14 -11
  7. package/src/sap/m/ActionSelect.js +14 -11
  8. package/src/sap/m/ActionSheet.js +103 -101
  9. package/src/sap/m/ActionSheetRenderer.js +3 -3
  10. package/src/sap/m/ActionTile.js +90 -0
  11. package/src/sap/m/ActionTileContent.js +71 -0
  12. package/src/sap/m/ActionTileContentRenderer.js +108 -0
  13. package/src/sap/m/App.js +107 -104
  14. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  15. package/src/sap/m/Avatar.js +4 -3
  16. package/src/sap/m/AvatarColor.js +0 -1
  17. package/src/sap/m/AvatarImageFitType.js +0 -1
  18. package/src/sap/m/AvatarShape.js +0 -1
  19. package/src/sap/m/AvatarSize.js +0 -1
  20. package/src/sap/m/AvatarType.js +0 -1
  21. package/src/sap/m/Bar.js +103 -89
  22. package/src/sap/m/BarRenderer.js +3 -3
  23. package/src/sap/m/Breadcrumbs.js +4 -3
  24. package/src/sap/m/BusyDialog.js +1 -2
  25. package/src/sap/m/BusyIndicator.js +76 -73
  26. package/src/sap/m/Button.js +123 -120
  27. package/src/sap/m/Carousel.js +148 -147
  28. package/src/sap/m/CarouselLayout.js +1 -2
  29. package/src/sap/m/CarouselRenderer.js +3 -3
  30. package/src/sap/m/CheckBox.js +178 -175
  31. package/src/sap/m/CheckBoxRenderer.js +3 -3
  32. package/src/sap/m/ColorPalette.js +4 -3
  33. package/src/sap/m/ColorPalettePopover.js +24 -21
  34. package/src/sap/m/Column.js +5 -6
  35. package/src/sap/m/ColumnHeaderPopover.js +1 -2
  36. package/src/sap/m/ColumnListItem.js +39 -50
  37. package/src/sap/m/ColumnListItemRenderer.js +0 -3
  38. package/src/sap/m/ColumnPopoverActionItem.js +1 -2
  39. package/src/sap/m/ColumnPopoverCustomItem.js +1 -2
  40. package/src/sap/m/ColumnPopoverItem.js +1 -2
  41. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  42. package/src/sap/m/ColumnPopoverSortItem.js +1 -2
  43. package/src/sap/m/ComboBox.js +4 -3
  44. package/src/sap/m/ComboBoxBase.js +3 -4
  45. package/src/sap/m/ComboBoxTextField.js +4 -3
  46. package/src/sap/m/CustomAttribute.js +53 -0
  47. package/src/sap/m/CustomDynamicDateOption.js +1 -2
  48. package/src/sap/m/CustomListItem.js +24 -21
  49. package/src/sap/m/CustomTile.js +19 -16
  50. package/src/sap/m/CustomTreeItem.js +4 -3
  51. package/src/sap/m/DatePicker.js +148 -143
  52. package/src/sap/m/DateRangeSelection.js +45 -40
  53. package/src/sap/m/DateTimeField.js +11 -8
  54. package/src/sap/m/DateTimeInput.js +147 -142
  55. package/src/sap/m/DateTimePicker.js +83 -75
  56. package/src/sap/m/DateTimePickerRenderer.js +1 -1
  57. package/src/sap/m/Dialog.js +10 -7
  58. package/src/sap/m/DisplayListItem.js +23 -20
  59. package/src/sap/m/DraftIndicator.js +4 -3
  60. package/src/sap/m/DynamicDate.js +1 -1
  61. package/src/sap/m/DynamicDateFormat.js +4 -3
  62. package/src/sap/m/DynamicDateOption.js +1 -2
  63. package/src/sap/m/DynamicDateRange.js +11 -10
  64. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -2
  65. package/src/sap/m/ExpandableText.js +4 -3
  66. package/src/sap/m/FacetFilter.js +112 -110
  67. package/src/sap/m/FacetFilterItem.js +27 -24
  68. package/src/sap/m/FacetFilterList.js +131 -132
  69. package/src/sap/m/FeedContent.js +4 -3
  70. package/src/sap/m/FeedInput.js +136 -133
  71. package/src/sap/m/FeedListItem.js +9 -6
  72. package/src/sap/m/FeedListItemAction.js +1 -2
  73. package/src/sap/m/FeedListItemRenderer.js +3 -3
  74. package/src/sap/m/Fiori20Adapter.js +2 -2
  75. package/src/sap/m/FlexBox.js +96 -93
  76. package/src/sap/m/FlexItemData.js +1 -2
  77. package/src/sap/m/FormattedText.js +4 -3
  78. package/src/sap/m/GenericTag.js +5 -4
  79. package/src/sap/m/GenericTile.js +65 -22
  80. package/src/sap/m/GenericTileLineModeRenderer.js +3 -3
  81. package/src/sap/m/GenericTileRenderer.js +36 -10
  82. package/src/sap/m/GroupHeaderListItem.js +35 -32
  83. package/src/sap/m/GrowingEnablement.js +23 -25
  84. package/src/sap/m/GrowingList.js +35 -32
  85. package/src/sap/m/HBox.js +9 -6
  86. package/src/sap/m/HeaderContainer.js +44 -43
  87. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  88. package/src/sap/m/IconTabBar.js +232 -229
  89. package/src/sap/m/IconTabBarDragAndDropUtil.js +5 -4
  90. package/src/sap/m/IconTabBarSelectList.js +28 -25
  91. package/src/sap/m/IconTabFilter.js +1 -2
  92. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -2
  93. package/src/sap/m/IconTabHeader.js +152 -166
  94. package/src/sap/m/IconTabSeparator.js +1 -2
  95. package/src/sap/m/IllustratedMessage.js +38 -3
  96. package/src/sap/m/IllustratedMessageSize.js +0 -1
  97. package/src/sap/m/IllustratedMessageType.js +0 -1
  98. package/src/sap/m/Illustration.js +11 -3
  99. package/src/sap/m/IllustrationPool.js +1 -1
  100. package/src/sap/m/IllustrationRenderer.js +1 -0
  101. package/src/sap/m/Image.js +270 -197
  102. package/src/sap/m/ImageContent.js +4 -3
  103. package/src/sap/m/ImageRenderer.js +66 -2
  104. package/src/sap/m/Input.js +375 -367
  105. package/src/sap/m/InputBase.js +143 -140
  106. package/src/sap/m/InputBaseRenderer.js +3 -3
  107. package/src/sap/m/InputListItem.js +26 -23
  108. package/src/sap/m/InputRenderer.js +4 -4
  109. package/src/sap/m/InstanceManager.js +6 -6
  110. package/src/sap/m/Label.js +110 -106
  111. package/src/sap/m/LightBox.js +5 -6
  112. package/src/sap/m/LightBoxItem.js +1 -2
  113. package/src/sap/m/Link.js +182 -179
  114. package/src/sap/m/LinkRenderer.js +5 -1
  115. package/src/sap/m/List.js +15 -12
  116. package/src/sap/m/ListBase.js +452 -458
  117. package/src/sap/m/ListItemBase.js +116 -107
  118. package/src/sap/m/ListItemBaseRenderer.js +1 -1
  119. package/src/sap/m/MaskEnabler.js +5 -5
  120. package/src/sap/m/MaskInput.js +4 -3
  121. package/src/sap/m/MaskInputRule.js +1 -2
  122. package/src/sap/m/Menu.js +1 -2
  123. package/src/sap/m/MenuButton.js +142 -135
  124. package/src/sap/m/MenuItem.js +1 -2
  125. package/src/sap/m/MenuListItem.js +49 -46
  126. package/src/sap/m/MessageItem.js +1 -2
  127. package/src/sap/m/MessageListItem.js +4 -3
  128. package/src/sap/m/MessagePage.js +124 -121
  129. package/src/sap/m/MessagePopover.js +6 -6
  130. package/src/sap/m/MessagePopoverItem.js +1 -2
  131. package/src/sap/m/MessageStrip.js +4 -3
  132. package/src/sap/m/MessageToast.js +6 -5
  133. package/src/sap/m/MessageView.js +6 -5
  134. package/src/sap/m/MultiComboBox.js +84 -87
  135. package/src/sap/m/MultiEditField.js +1 -1
  136. package/src/sap/m/MultiInput.js +4 -3
  137. package/src/sap/m/NavContainer.js +6 -15
  138. package/src/sap/m/NewsContent.js +4 -3
  139. package/src/sap/m/NotificationList.js +4 -3
  140. package/src/sap/m/NotificationListBase.js +5 -7
  141. package/src/sap/m/NotificationListGroup.js +4 -3
  142. package/src/sap/m/NotificationListItem.js +4 -12
  143. package/src/sap/m/NumericContent.js +8 -6
  144. package/src/sap/m/NumericInput.js +1 -1
  145. package/src/sap/m/NumericInputRenderer.js +3 -3
  146. package/src/sap/m/ObjectAttribute.js +77 -74
  147. package/src/sap/m/ObjectAttributeRenderer.js +3 -3
  148. package/src/sap/m/ObjectHeader.js +385 -380
  149. package/src/sap/m/ObjectHeaderRenderer.js +4 -3
  150. package/src/sap/m/ObjectIdentifier.js +111 -103
  151. package/src/sap/m/ObjectListItem.js +150 -145
  152. package/src/sap/m/ObjectMarker.js +4 -3
  153. package/src/sap/m/ObjectNumber.js +90 -87
  154. package/src/sap/m/ObjectStatus.js +84 -81
  155. package/src/sap/m/OverflowToolbar.js +4 -3
  156. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  157. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +0 -5
  158. package/src/sap/m/OverflowToolbarButton.js +2 -3
  159. package/src/sap/m/OverflowToolbarLayoutData.js +1 -2
  160. package/src/sap/m/OverflowToolbarToggleButton.js +1 -2
  161. package/src/sap/m/P13nAnyFilterItem.js +1 -2
  162. package/src/sap/m/P13nColumnsItem.js +1 -2
  163. package/src/sap/m/P13nColumnsPanel.js +4 -5
  164. package/src/sap/m/P13nConditionPanel.js +1 -2
  165. package/src/sap/m/P13nDialog.js +1 -2
  166. package/src/sap/m/P13nDimMeasureItem.js +1 -2
  167. package/src/sap/m/P13nDimMeasurePanel.js +6 -5
  168. package/src/sap/m/P13nFilterItem.js +1 -2
  169. package/src/sap/m/P13nFilterPanel.js +1 -2
  170. package/src/sap/m/P13nGroupItem.js +1 -2
  171. package/src/sap/m/P13nGroupPanel.js +1 -2
  172. package/src/sap/m/P13nItem.js +1 -2
  173. package/src/sap/m/P13nPanel.js +1 -2
  174. package/src/sap/m/P13nSelectionItem.js +1 -2
  175. package/src/sap/m/P13nSelectionPanel.js +1 -2
  176. package/src/sap/m/P13nSortItem.js +1 -2
  177. package/src/sap/m/P13nSortPanel.js +1 -2
  178. package/src/sap/m/PDFViewer.js +8 -5
  179. package/src/sap/m/Page.js +9 -7
  180. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -2
  181. package/src/sap/m/PagingButton.js +4 -4
  182. package/src/sap/m/Panel.js +117 -113
  183. package/src/sap/m/PlanningCalendar.js +6 -7
  184. package/src/sap/m/PlanningCalendarHeader.js +135 -129
  185. package/src/sap/m/PlanningCalendarLegend.js +26 -23
  186. package/src/sap/m/PlanningCalendarRow.js +1 -2
  187. package/src/sap/m/PlanningCalendarView.js +1 -2
  188. package/src/sap/m/Popover.js +15 -16
  189. package/src/sap/m/PopoverRenderer.js +5 -4
  190. package/src/sap/m/ProgressIndicator.js +85 -82
  191. package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
  192. package/src/sap/m/PullToRefresh.js +37 -35
  193. package/src/sap/m/QuickView.js +1 -2
  194. package/src/sap/m/QuickViewBase.js +1 -2
  195. package/src/sap/m/QuickViewCard.js +4 -3
  196. package/src/sap/m/QuickViewGroup.js +1 -2
  197. package/src/sap/m/QuickViewGroupElement.js +1 -2
  198. package/src/sap/m/QuickViewPage.js +1 -2
  199. package/src/sap/m/RadioButton.js +117 -114
  200. package/src/sap/m/RadioButtonGroup.js +90 -95
  201. package/src/sap/m/RangeSlider.js +9 -6
  202. package/src/sap/m/RangeSliderRenderer.js +2 -2
  203. package/src/sap/m/RatingIndicator.js +104 -100
  204. package/src/sap/m/RatingIndicatorRenderer.js +3 -5
  205. package/src/sap/m/ResponsivePopover.js +209 -209
  206. package/src/sap/m/ResponsiveScale.js +1 -2
  207. package/src/sap/m/ScrollBar.js +31 -28
  208. package/src/sap/m/ScrollContainer.js +9 -7
  209. package/src/sap/m/SearchField.js +185 -182
  210. package/src/sap/m/SearchFieldRenderer.js +1 -0
  211. package/src/sap/m/SegmentedButton.js +120 -118
  212. package/src/sap/m/SegmentedButtonItem.js +1 -2
  213. package/src/sap/m/Select.js +23 -10
  214. package/src/sap/m/SelectDialog.js +22 -17
  215. package/src/sap/m/SelectDialogBase.js +1 -2
  216. package/src/sap/m/SelectList.js +4 -3
  217. package/src/sap/m/SelectionDetails.js +97 -92
  218. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  219. package/src/sap/m/SelectionDetailsItem.js +1 -2
  220. package/src/sap/m/SelectionDetailsItemLine.js +1 -2
  221. package/src/sap/m/Shell.js +111 -107
  222. package/src/sap/m/SimpleFixFlex.js +5 -5
  223. package/src/sap/m/SinglePlanningCalendar.js +344 -340
  224. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  225. package/src/sap/m/SinglePlanningCalendarGrid.js +25 -10
  226. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +8 -7
  227. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +16 -7
  228. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  229. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  230. package/src/sap/m/SinglePlanningCalendarWeekView.js +15 -15
  231. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +5 -4
  232. package/src/sap/m/SlideTile.js +10 -7
  233. package/src/sap/m/Slider.js +180 -175
  234. package/src/sap/m/SliderRenderer.js +4 -4
  235. package/src/sap/m/SliderTooltip.js +5 -5
  236. package/src/sap/m/SliderTooltipBase.js +4 -3
  237. package/src/sap/m/SliderTooltipContainer.js +10 -6
  238. package/src/sap/m/SplitApp.js +52 -49
  239. package/src/sap/m/SplitButton.js +103 -96
  240. package/src/sap/m/SplitContainer.js +407 -422
  241. package/src/sap/m/StandardDynamicDateOption.js +1 -2
  242. package/src/sap/m/StandardListItem.js +116 -113
  243. package/src/sap/m/StandardTile.js +64 -61
  244. package/src/sap/m/StandardTreeItem.js +20 -17
  245. package/src/sap/m/StepInput.js +4 -3
  246. package/src/sap/m/SuggestionItem.js +1 -2
  247. package/src/sap/m/SuggestionsPopover.js +1 -1
  248. package/src/sap/m/Switch.js +79 -74
  249. package/src/sap/m/SwitchRenderer.js +3 -3
  250. package/src/sap/m/TabContainer.js +4 -3
  251. package/src/sap/m/TabContainerItem.js +1 -2
  252. package/src/sap/m/TabStrip.js +13 -11
  253. package/src/sap/m/TabStripItem.js +1 -1
  254. package/src/sap/m/Table.js +177 -174
  255. package/src/sap/m/TablePersoController.js +6 -5
  256. package/src/sap/m/TablePersoDialog.js +6 -4
  257. package/src/sap/m/TablePersoProvider.js +1 -1
  258. package/src/sap/m/TableRenderer.js +1 -1
  259. package/src/sap/m/TableSelectDialog.js +1 -3
  260. package/src/sap/m/Text.js +4 -3
  261. package/src/sap/m/TextArea.js +87 -84
  262. package/src/sap/m/Tile.js +20 -17
  263. package/src/sap/m/TileContainer.js +73 -73
  264. package/src/sap/m/TileContent.js +57 -6
  265. package/src/sap/m/TimePicker.js +17 -12
  266. package/src/sap/m/TimePickerClock.js +2 -2
  267. package/src/sap/m/TimePickerClocks.js +4 -2
  268. package/src/sap/m/TimePickerClocksRenderer.js +3 -1
  269. package/src/sap/m/TimePickerInputs.js +4 -2
  270. package/src/sap/m/TimePickerInternals.js +11 -7
  271. package/src/sap/m/TimePickerSlider.js +5 -4
  272. package/src/sap/m/TimePickerSliders.js +11 -7
  273. package/src/sap/m/TimePickerSlidersRenderer.js +2 -2
  274. package/src/sap/m/Title.js +109 -106
  275. package/src/sap/m/TitlePropagationSupport.js +4 -4
  276. package/src/sap/m/ToDoCardRenderer.js +161 -0
  277. package/src/sap/m/ToggleButton.js +29 -26
  278. package/src/sap/m/Token.js +97 -94
  279. package/src/sap/m/Tokenizer.js +153 -150
  280. package/src/sap/m/Toolbar.js +104 -101
  281. package/src/sap/m/ToolbarLayoutData.js +1 -2
  282. package/src/sap/m/ToolbarSeparator.js +11 -8
  283. package/src/sap/m/ToolbarSpacer.js +16 -13
  284. package/src/sap/m/Tree.js +32 -29
  285. package/src/sap/m/TreeItemBase.js +8 -5
  286. package/src/sap/m/TreeItemBaseRenderer.js +3 -3
  287. package/src/sap/m/UploadCollection.js +8 -5
  288. package/src/sap/m/UploadCollectionItem.js +1 -2
  289. package/src/sap/m/UploadCollectionParameter.js +1 -2
  290. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -2
  291. package/src/sap/m/VBox.js +9 -6
  292. package/src/sap/m/ValueStateHeader.js +1 -2
  293. package/src/sap/m/VariantItem.js +6 -1
  294. package/src/sap/m/VariantManagement.js +79 -8
  295. package/src/sap/m/ViewSettingsCustomItem.js +1 -2
  296. package/src/sap/m/ViewSettingsCustomTab.js +1 -2
  297. package/src/sap/m/ViewSettingsDialog.js +189 -188
  298. package/src/sap/m/ViewSettingsFilterItem.js +1 -2
  299. package/src/sap/m/ViewSettingsItem.js +1 -2
  300. package/src/sap/m/VisibleItem.js +1 -1
  301. package/src/sap/m/WheelSlider.js +5 -4
  302. package/src/sap/m/WheelSliderContainer.js +4 -2
  303. package/src/sap/m/WheelSliderContainerRenderer.js +2 -2
  304. package/src/sap/m/Wizard.js +13 -3
  305. package/src/sap/m/WizardProgressNavigator.js +52 -49
  306. package/src/sap/m/WizardStep.js +6 -3
  307. package/src/sap/m/_thirdparty/purify.js +1622 -0
  308. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  309. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  310. package/src/sap/m/changeHandler/CombineButtons.js +4 -3
  311. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  312. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  313. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  314. package/src/sap/m/library.js +40 -116
  315. package/src/sap/m/messagebundle.properties +22 -10
  316. package/src/sap/m/messagebundle_ar.properties +20 -6
  317. package/src/sap/m/messagebundle_bg.properties +19 -5
  318. package/src/sap/m/messagebundle_ca.properties +19 -5
  319. package/src/sap/m/messagebundle_cs.properties +30 -16
  320. package/src/sap/m/messagebundle_cy.properties +19 -5
  321. package/src/sap/m/messagebundle_da.properties +19 -5
  322. package/src/sap/m/messagebundle_de.properties +20 -6
  323. package/src/sap/m/messagebundle_el.properties +19 -5
  324. package/src/sap/m/messagebundle_en.properties +18 -4
  325. package/src/sap/m/messagebundle_en_GB.properties +18 -4
  326. package/src/sap/m/messagebundle_en_US_sappsd.properties +19 -3
  327. package/src/sap/m/messagebundle_en_US_saprigi.properties +23 -9
  328. package/src/sap/m/messagebundle_en_US_saptrc.properties +16 -2
  329. package/src/sap/m/messagebundle_es.properties +19 -5
  330. package/src/sap/m/messagebundle_es_MX.properties +19 -5
  331. package/src/sap/m/messagebundle_et.properties +19 -5
  332. package/src/sap/m/messagebundle_fi.properties +19 -5
  333. package/src/sap/m/messagebundle_fr.properties +20 -6
  334. package/src/sap/m/messagebundle_fr_CA.properties +20 -6
  335. package/src/sap/m/messagebundle_hi.properties +19 -5
  336. package/src/sap/m/messagebundle_hr.properties +20 -6
  337. package/src/sap/m/messagebundle_hu.properties +19 -5
  338. package/src/sap/m/messagebundle_id.properties +19 -5
  339. package/src/sap/m/messagebundle_it.properties +20 -6
  340. package/src/sap/m/messagebundle_iw.properties +19 -5
  341. package/src/sap/m/messagebundle_ja.properties +19 -5
  342. package/src/sap/m/messagebundle_kk.properties +19 -5
  343. package/src/sap/m/messagebundle_ko.properties +20 -6
  344. package/src/sap/m/messagebundle_lt.properties +20 -6
  345. package/src/sap/m/messagebundle_lv.properties +19 -5
  346. package/src/sap/m/messagebundle_ms.properties +19 -5
  347. package/src/sap/m/messagebundle_nl.properties +19 -5
  348. package/src/sap/m/messagebundle_no.properties +19 -5
  349. package/src/sap/m/messagebundle_pl.properties +19 -5
  350. package/src/sap/m/messagebundle_pt.properties +19 -5
  351. package/src/sap/m/messagebundle_pt_PT.properties +19 -5
  352. package/src/sap/m/messagebundle_ro.properties +19 -5
  353. package/src/sap/m/messagebundle_ru.properties +19 -5
  354. package/src/sap/m/messagebundle_sh.properties +20 -6
  355. package/src/sap/m/messagebundle_sk.properties +19 -5
  356. package/src/sap/m/messagebundle_sl.properties +20 -6
  357. package/src/sap/m/messagebundle_sv.properties +19 -5
  358. package/src/sap/m/messagebundle_th.properties +19 -5
  359. package/src/sap/m/messagebundle_tr.properties +19 -5
  360. package/src/sap/m/messagebundle_uk.properties +19 -5
  361. package/src/sap/m/messagebundle_vi.properties +19 -5
  362. package/src/sap/m/messagebundle_zh_CN.properties +19 -5
  363. package/src/sap/m/messagebundle_zh_TW.properties +19 -5
  364. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  365. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  366. package/src/sap/m/p13n/BasePanel.js +21 -7
  367. package/src/sap/m/p13n/Container.js +1 -1
  368. package/src/sap/m/p13n/Engine.js +84 -79
  369. package/src/sap/m/p13n/GroupController.js +3 -4
  370. package/src/sap/m/p13n/GroupPanel.js +1 -1
  371. package/src/sap/m/p13n/MetadataHelper.js +8 -0
  372. package/src/sap/m/p13n/Popup.js +1 -1
  373. package/src/sap/m/p13n/QueryPanel.js +1 -1
  374. package/src/sap/m/p13n/SelectionController.js +8 -7
  375. package/src/sap/m/p13n/SelectionPanel.js +37 -15
  376. package/src/sap/m/p13n/SortController.js +3 -4
  377. package/src/sap/m/p13n/SortPanel.js +3 -3
  378. package/src/sap/m/p13n/modification/FlexModificationHandler.js +1 -1
  379. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +1 -1
  380. package/src/sap/m/p13n/modification/ModificationHandler.js +11 -0
  381. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  382. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  383. package/src/sap/m/p13n/modules/UIManager.js +1 -1
  384. package/src/sap/m/plugins/CellSelector.js +459 -76
  385. package/src/sap/m/plugins/ColumnResizer.js +1 -2
  386. package/src/sap/m/plugins/DataStateIndicator.js +1 -2
  387. package/src/sap/m/plugins/PasteProvider.js +1 -2
  388. package/src/sap/m/plugins/PluginBase.js +1 -2
  389. package/src/sap/m/rules/CheckBox.support.js +1 -1
  390. package/src/sap/m/rules/Image.support.js +1 -1
  391. package/src/sap/m/rules/Link.support.js +1 -1
  392. package/src/sap/m/rules/MessagePage.support.js +1 -1
  393. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  394. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  395. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  396. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  397. package/src/sap/m/rules/Panel.support.js +1 -1
  398. package/src/sap/m/rules/Select.support.js +1 -1
  399. package/src/sap/m/rules/Table.support.js +3 -3
  400. package/src/sap/m/semantic/AddAction.js +1 -2
  401. package/src/sap/m/semantic/CancelAction.js +1 -2
  402. package/src/sap/m/semantic/DeleteAction.js +1 -2
  403. package/src/sap/m/semantic/DetailPage.js +1 -2
  404. package/src/sap/m/semantic/DiscussInJamAction.js +1 -2
  405. package/src/sap/m/semantic/EditAction.js +1 -2
  406. package/src/sap/m/semantic/FavoriteAction.js +1 -2
  407. package/src/sap/m/semantic/FilterAction.js +1 -2
  408. package/src/sap/m/semantic/FilterSelect.js +1 -2
  409. package/src/sap/m/semantic/FlagAction.js +1 -2
  410. package/src/sap/m/semantic/ForwardAction.js +1 -2
  411. package/src/sap/m/semantic/FullscreenPage.js +1 -2
  412. package/src/sap/m/semantic/GroupAction.js +1 -2
  413. package/src/sap/m/semantic/GroupSelect.js +1 -2
  414. package/src/sap/m/semantic/MainAction.js +1 -2
  415. package/src/sap/m/semantic/MasterPage.js +1 -2
  416. package/src/sap/m/semantic/MessagesIndicator.js +1 -2
  417. package/src/sap/m/semantic/MultiSelectAction.js +1 -2
  418. package/src/sap/m/semantic/NegativeAction.js +1 -2
  419. package/src/sap/m/semantic/OpenInAction.js +1 -2
  420. package/src/sap/m/semantic/PositiveAction.js +1 -2
  421. package/src/sap/m/semantic/PrintAction.js +1 -2
  422. package/src/sap/m/semantic/SaveAction.js +1 -2
  423. package/src/sap/m/semantic/Segment.js +1 -2
  424. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  425. package/src/sap/m/semantic/SemanticButton.js +1 -2
  426. package/src/sap/m/semantic/SemanticConfiguration.js +1 -2
  427. package/src/sap/m/semantic/SemanticControl.js +1 -2
  428. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -2
  429. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -2
  430. package/src/sap/m/semantic/SemanticPage.js +4 -3
  431. package/src/sap/m/semantic/SemanticSelect.js +1 -2
  432. package/src/sap/m/semantic/SemanticToggleButton.js +1 -2
  433. package/src/sap/m/semantic/SendEmailAction.js +1 -2
  434. package/src/sap/m/semantic/SendMessageAction.js +1 -2
  435. package/src/sap/m/semantic/ShareInJamAction.js +1 -2
  436. package/src/sap/m/semantic/ShareMenu.js +1 -2
  437. package/src/sap/m/semantic/ShareMenuPage.js +1 -2
  438. package/src/sap/m/semantic/SortAction.js +1 -2
  439. package/src/sap/m/semantic/SortSelect.js +1 -2
  440. package/src/sap/m/table/Util.js +17 -5
  441. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  442. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  443. package/src/sap/m/table/columnmenu/Item.js +1 -1
  444. package/src/sap/m/table/columnmenu/ItemBase.js +2 -2
  445. package/src/sap/m/table/columnmenu/ItemContainer.js +1 -1
  446. package/src/sap/m/table/columnmenu/Menu.js +64 -22
  447. package/src/sap/m/table/columnmenu/QuickAction.js +16 -8
  448. package/src/sap/m/table/columnmenu/QuickActionBase.js +19 -4
  449. package/src/sap/m/table/columnmenu/QuickActionContainer.js +1 -1
  450. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -6
  451. package/src/sap/m/table/columnmenu/QuickGroup.js +9 -3
  452. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  453. package/src/sap/m/table/columnmenu/QuickSort.js +6 -4
  454. package/src/sap/m/table/columnmenu/QuickSortItem.js +11 -12
  455. package/src/sap/m/table/columnmenu/QuickTotal.js +9 -3
  456. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  457. package/src/sap/m/themes/base/ActionTile.less +239 -0
  458. package/src/sap/m/themes/base/Bar.less +6 -0
  459. package/src/sap/m/themes/base/Carousel.less +8 -8
  460. package/src/sap/m/themes/base/CellSelector.less +109 -2
  461. package/src/sap/m/themes/base/DisplayListItem.less +3 -3
  462. package/src/sap/m/themes/base/GenericTile.less +7 -0
  463. package/src/sap/m/themes/base/IconTabBar.less +2 -0
  464. package/src/sap/m/themes/base/Link.less +4 -0
  465. package/src/sap/m/themes/base/Page.less +2 -1
  466. package/src/sap/m/themes/base/library.source.less +1 -0
  467. package/src/sap/m/upload/UploadSet.js +295 -13
  468. package/src/sap/m/upload/UploadSetItem.js +1 -2
  469. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  470. package/src/sap/m/upload/Uploader.js +0 -1
  471. package/src/sap/m/upload/UploaderHttpRequestMethod.js +0 -1
@@ -16,6 +16,7 @@
16
16
  @_sap_m_IconTabBar_More_Button_Focus_Offset: 0.125rem;
17
17
  @_sap_m_IconTabBar_Arrow_SubItem_Left_Padding: 0.375rem;
18
18
  @_sap_m_IconTabBar_More_Button_Border_Radius: inherit;
19
+ @_sap_m_IconTabBar_HeaderMinHeight: 2.75rem;
19
20
 
20
21
  // ==================== Cozy size ====================
21
22
 
@@ -1298,6 +1299,7 @@ html[dir=rtl] {
1298
1299
 
1299
1300
  box-shadow: @_sap_m_IconTabBar_ShellHeaderShadow;
1300
1301
  background-color: @sapUiShellNavigationBackground;
1302
+ min-height: @_sap_m_IconTabBar_HeaderMinHeight;
1301
1303
 
1302
1304
  .sapMITBSelected .sapMITBContentArrow::after {
1303
1305
  background: @sapUiShellNavigationSelectedColor;
@@ -36,6 +36,10 @@
36
36
  word-wrap: break-word;
37
37
  }
38
38
 
39
+ .sapMLnk.sapMLinkContainsEmptyIdicator {
40
+ pointer-events: none;
41
+ }
42
+
39
43
  .sapMLnkMaxWidth {
40
44
  max-width: 100%;
41
45
  }
@@ -332,7 +332,8 @@ html.sap-desktop .sapUiFioriObjectPage > section {
332
332
  }
333
333
  }
334
334
 
335
- &.sapMPageWithHeader.sapMPageWithSubHeader {
335
+ &.sapMPage.sapMPageWithHeader.sapMPageWithSubHeader,
336
+ .sapMPage.sapMPageWithHeader.sapMPageWithSubHeader {
336
337
  > section {
337
338
  top: 4.5rem;
338
339
  }
@@ -55,6 +55,7 @@
55
55
  @import "ImageContent.less";
56
56
  @import "Input.less";
57
57
  @import "InputBase.less";
58
+ @import "ActionTile.less";
58
59
 
59
60
  /* note: the following three files are not in alphabetical order and should be imported after InputBase.less */
60
61
  @import "ComboBoxTextField.less";
@@ -29,10 +29,11 @@ sap.ui.define([
29
29
  "sap/m/upload/UploadSetToolbarPlaceholder",
30
30
  "sap/m/IllustratedMessage",
31
31
  "sap/m/IllustratedMessageType",
32
- "sap/m/IllustratedMessageSize"
32
+ "sap/m/IllustratedMessageSize",
33
+ "sap/ui/core/Core"
33
34
  ], function (Control, KeyCodes, Log, deepEqual, MobileLibrary, Button, Dialog, List, MessageBox, OverflowToolbar,
34
35
  StandardListItem, Text, ToolbarSpacer, FileUploader, UploadSetItem, Uploader, Renderer, UploaderHttpRequestMethod,
35
- DragDropInfo, DropInfo, Library, UploadSetToolbarPlaceholder, IllustratedMessage,IllustratedMessageType, IllustratedMessageSize) {
36
+ DragDropInfo, DropInfo, Library, UploadSetToolbarPlaceholder, IllustratedMessage,IllustratedMessageType, IllustratedMessageSize, Core) {
36
37
  "use strict";
37
38
 
38
39
  /**
@@ -46,12 +47,11 @@ sap.ui.define([
46
47
  * and requests, unified behavior of instant and deferred uploads, as well as improved progress indication.
47
48
  * @extends sap.ui.core.Control
48
49
  * @author SAP SE
49
- * @version 1.105.1
50
+ * @version 1.107.0
50
51
  * @constructor
51
52
  * @public
52
53
  * @since 1.63
53
54
  * @alias sap.m.upload.UploadSet
54
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel.
55
55
  */
56
56
  var UploadSet = Control.extend("sap.m.upload.UploadSet", {
57
57
  metadata: {
@@ -144,7 +144,27 @@ sap.ui.define([
144
144
  * 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.
145
145
  * @since 1.100.0
146
146
  */
147
- mode: {type: "sap.m.ListMode", group: "Behavior", defaultValue: Library.ListMode.MultiSelect}
147
+ mode: {type: "sap.m.ListMode", group: "Behavior", defaultValue: Library.ListMode.MultiSelect},
148
+ /**
149
+ * Enables CloudFile picker feature to upload files from cloud.
150
+ * @experimental Since 1.106.
151
+ */
152
+ cloudFilePickerEnabled: {type: "boolean", group: "Behavior", defaultValue: false},
153
+ /**
154
+ * Url of the FileShare OData V4 service supplied for CloudFile picker control.
155
+ * @experimental Since 1.106.
156
+ */
157
+ cloudFilePickerServiceUrl: {type: "sap.ui.core.URI", group: "Data", defaultValue: ""},
158
+ /**
159
+ * The text of the CloudFile picker button. The default text is "Upload from cloud" (translated to the respective language).
160
+ * @experimental Since 1.106.
161
+ */
162
+ cloudFilePickerButtonText: {type: 'string', defaultValue: ""},
163
+ /**
164
+ * Lets the user upload entire files from directories and sub directories.
165
+ * @since 1.107.
166
+ */
167
+ directory: {type: "boolean", group: "Behavior", defaultValue: false}
148
168
  },
149
169
  defaultAggregation: "items",
150
170
  aggregations: {
@@ -500,6 +520,7 @@ sap.ui.define([
500
520
  description: this.getNoDataDescription()
501
521
  });
502
522
  this.setAggregation("_illustratedMessage", illustratedMessage);
523
+ this._cloudFilePickerControl = null;
503
524
  };
504
525
 
505
526
  UploadSet.prototype.exit = function () {
@@ -602,7 +623,7 @@ sap.ui.define([
602
623
  this._oToolbar = this.getAggregation("toolbar");
603
624
  if (!this._oToolbar) {
604
625
  this._oToolbar = new OverflowToolbar(this.getId() + "-toolbar", {
605
- content: [this._oNumberOfAttachmentsTitle, new ToolbarSpacer(), this.getDefaultFileUploader()]
626
+ content: [this._oNumberOfAttachmentsTitle, new ToolbarSpacer(), this.getDefaultFileUploader(), this._getCloudFilePicker()]
606
627
  });
607
628
  this._iFileUploaderPH = 2;
608
629
  this.addDependent(this._oToolbar);
@@ -614,6 +635,7 @@ sap.ui.define([
614
635
  // fallback position to add file uploader control if UploadSetToolbarPlaceHolder instance not found
615
636
  this._oToolbar.addContent(this.getDefaultFileUploader());
616
637
  }
638
+ this._oToolbar.addContent(this._getCloudFilePicker());
617
639
  }
618
640
  }
619
641
 
@@ -809,6 +831,17 @@ sap.ui.define([
809
831
  return this;
810
832
  };
811
833
 
834
+ UploadSet.prototype.setDirectory = function (bDirectory) {
835
+ if (this.getDirectory() !== bDirectory) {
836
+ this.setProperty("directory", bDirectory);
837
+ this.getDefaultFileUploader().setDirectory(bDirectory);
838
+ if (bDirectory) {
839
+ this.setProperty("multiple", false); // disable multiple files selection when directory selection is enabled.
840
+ }
841
+ }
842
+ return this;
843
+ };
844
+
812
845
  UploadSet.prototype.setMode = function(sMode) {
813
846
  if (sMode === Library.ListMode.Delete) {
814
847
  this.setProperty("mode", Library.ListMode.None);
@@ -861,6 +894,14 @@ sap.ui.define([
861
894
  return this._oUploadButton;
862
895
  };
863
896
 
897
+ UploadSet.prototype.setUploadUrl = function (sUploadUrl) {
898
+ this.setProperty("uploadUrl", sUploadUrl);
899
+ if (this._oUploader) {
900
+ this._oUploader.setUploadUrl(sUploadUrl);
901
+ }
902
+ return this;
903
+ };
904
+
864
905
  /* ============== */
865
906
  /* Public methods */
866
907
  /* ============== */
@@ -926,23 +967,101 @@ sap.ui.define([
926
967
  };
927
968
 
928
969
  UploadSet.prototype._onDropFile = function (oEvent) {
929
- var oFiles;
930
970
  this._oDragIndicator = false;
931
971
  this._getIllustratedMessage();
932
972
  oEvent.preventDefault();
933
973
  if (this.getUploadEnabled()) {
934
- oFiles = oEvent.getParameter("browserEvent").dataTransfer.files;
935
- // Handling drag and drop of multiple files to upload with multiple property set
936
- if (oFiles && oFiles.length > 1 && !this.getMultiple()) {
974
+ var oItems = oEvent.getParameter("browserEvent").dataTransfer.items;
975
+ var aEntryTypes = Array.from(oItems).map(function (oEntry) {
976
+ var oWebKitEntry = oEntry.webkitGetAsEntry();
977
+ return {
978
+ entryType: oWebKitEntry && oWebKitEntry.isFile ? 'File' : 'Directory'
979
+ };
980
+ });
981
+ // handlding multiple property drag & drop scenarios
982
+ if (oItems && oItems.length > 1 && !this.getMultiple() && !this.getDirectory()) {
983
+ // Handling drag and drop of multiple files to upload with multiple property set
937
984
  var sMessage = this._oRb.getText("UPLOADCOLLECTION_MULTIPLE_FALSE");
938
985
  Log.warning("Multiple files upload is retsricted for this multiple property set");
939
986
  MessageBox.error(sMessage);
940
987
  return;
988
+ } else if (oItems && oItems.length > 1 && this.getMultiple() && !isFileOrFolderEntry('File', aEntryTypes)) {
989
+ var sMessageDropFilesOnly = this._oRb.getText("UPLOAD_SET_DIRECTORY_FALSE");
990
+ Log.warning("Multiple files upload is retsricted, drag & drop only files");
991
+ MessageBox.error(sMessageDropFilesOnly);
992
+ return;
993
+ }
994
+
995
+ // handling directory property drag & drop scenarios
996
+ if (oItems && !this.getDirectory() && isFileOrFolderEntry('Directory', aEntryTypes)) {
997
+ var sMessageDirectory = this._oRb.getText("UPLOAD_SET_DIRECTORY_FALSE");
998
+ Log.warning("Directory of files upload is retsricted for this directory property set");
999
+ MessageBox.error(sMessageDirectory);
1000
+ return;
1001
+ } else if (oItems && this.getDirectory() && !isFileOrFolderEntry('Directory', aEntryTypes)) {
1002
+ var sMessageDragDropDirectory = this._oRb.getText("UPLOAD_SET_DROP_DIRECTORY");
1003
+ Log.warning("Directory of files upload is retsricted, drag & drop only directories here.");
1004
+ MessageBox.error(sMessageDragDropDirectory);
1005
+ return;
1006
+ }
1007
+ if (oItems && oItems.length) {
1008
+ this._getFilesFromDataTransferItems(oItems).then(function (oFiles) {
1009
+ if (oFiles && oFiles.length) {
1010
+ var oFileUploaderInstance = this.getDefaultFileUploader();
1011
+ if (oFileUploaderInstance && oFileUploaderInstance._areFilesAllowed && oFileUploaderInstance._areFilesAllowed(oFiles)) {
1012
+ this._processNewFileObjects(oFiles);
1013
+ }
1014
+ }
1015
+ }.bind(this));
941
1016
  }
942
- this._processNewFileObjects(oFiles);
1017
+ }
1018
+
1019
+ function isFileOrFolderEntry(sType, aEntries) {
1020
+ return aEntries.every(function (oEntry) {
1021
+ return oEntry.entryType === sType;
1022
+ });
1023
+ }
1024
+ };
1025
+
1026
+ UploadSet.prototype._getFilesFromDataTransferItems = function (dataTransferItems) {
1027
+ var aFiles = [];
1028
+ return new Promise(function (resolve, reject) {
1029
+ var aEntriesPromises = [];
1030
+ for (var i = 0; i < dataTransferItems.length; i++) {
1031
+ aEntriesPromises.push(traverseFileTreePromise(dataTransferItems[i].webkitGetAsEntry()));
1032
+ }
1033
+ Promise.all(aEntriesPromises)
1034
+ .then(function (entries) {
1035
+ resolve(aFiles);
1036
+ }, function(err) {
1037
+ reject(err);
1038
+ });
1039
+ });
1040
+
1041
+ function traverseFileTreePromise(item) {
1042
+ return new Promise(function (resolve, reject) {
1043
+ if (item.isFile) {
1044
+ item.file(function (oFile) {
1045
+ aFiles.push(oFile);
1046
+ resolve(oFile);
1047
+ }, function(err){
1048
+ reject(err);
1049
+ });
1050
+ } else if (item.isDirectory) {
1051
+ var dirReader = item.createReader();
1052
+ dirReader.readEntries(function (entries) {
1053
+ var aEntriesPromises = [];
1054
+ for (var i = 0; i < entries.length; i++) {
1055
+ aEntriesPromises.push(traverseFileTreePromise(entries[i]));
1056
+ }
1057
+ resolve(Promise.all(aEntriesPromises));
1058
+ });
1059
+ }
1060
+ });
943
1061
  }
944
1062
  };
945
1063
 
1064
+
946
1065
  UploadSet.prototype._getDragIndicator = function () {
947
1066
  return this._oDragIndicator;
948
1067
  };
@@ -995,7 +1114,7 @@ sap.ui.define([
995
1114
  mimeType: this.getMediaTypes(),
996
1115
  icon: "",
997
1116
  iconFirst: false,
998
- multiple: this.getMultiple(),
1117
+ multiple: this.getDirectory() ? false : this.getMultiple(),
999
1118
  style: "Transparent",
1000
1119
  name: "uploadSetFileUploader",
1001
1120
  sameFilenameAllowed: true,
@@ -1009,7 +1128,8 @@ sap.ui.define([
1009
1128
  typeMissmatch: [this._fireFileTypeMismatch, this],
1010
1129
  fileSizeExceed: [this._fireFileSizeExceed, this],
1011
1130
  filenameLengthExceed: [this._fireFilenameLengthExceed, this],
1012
- visible: !this.getUploadButtonInvisible()
1131
+ visible: !this.getUploadButtonInvisible(),
1132
+ directory: this.getDirectory()
1013
1133
  });
1014
1134
  }
1015
1135
 
@@ -1723,5 +1843,167 @@ sap.ui.define([
1723
1843
  this._oToolbar.getContent()[this._iFileUploaderPH].setVisible(false);
1724
1844
  this._oToolbar.insertContent(fileUploader, this._iFileUploaderPH);
1725
1845
  };
1846
+
1847
+ /**
1848
+ * Returns CloudFile picker button
1849
+ * @return {sap.m.Button} CloudPicker button
1850
+ * @private
1851
+ */
1852
+ UploadSet.prototype._getCloudFilePicker = function() {
1853
+ if (this.getCloudFilePickerEnabled()) {
1854
+ return new Button({
1855
+ text: this.getCloudFilePickerButtonText() ? this.getCloudFilePickerButtonText() : this._oRb.getText("UPLOAD_SET_DEFAULT_CFP_BUTTON_TEXT"),
1856
+ press: [this._invokeCloudFilePicker, this]
1857
+ });
1858
+ }
1859
+ return null;
1860
+ };
1861
+
1862
+ /**
1863
+ * Creates and invokes CloudFilePicker control instance
1864
+ * @private
1865
+ * @returns {Object} cloudFile picker instance
1866
+ */
1867
+ UploadSet.prototype._invokeCloudFilePicker = function() {
1868
+ var oCloudFilePickerInstance = null;
1869
+ if (this._cloudFilePickerControl) {
1870
+ oCloudFilePickerInstance = this._getCloudFilePickerInstance();
1871
+ oCloudFilePickerInstance.open();
1872
+ } else {
1873
+ // Dynamically load and cache CloudFilePicker control for first time
1874
+ this._loadCloudFilePickerDependency()
1875
+ .then(function(cloudFilePicker){
1876
+ this._cloudFilePickerControl = cloudFilePicker;
1877
+ oCloudFilePickerInstance = this._getCloudFilePickerInstance();
1878
+ oCloudFilePickerInstance.open();
1879
+ }.bind(this))
1880
+ .catch(function(error) {
1881
+ Log.error(error);
1882
+ });
1883
+ }
1884
+ return oCloudFilePickerInstance;
1885
+ };
1886
+
1887
+ /**
1888
+ * Event handler for CloudFile picker selector
1889
+ * @param {Object} oEvent CloudFile picker file selection DOM change event
1890
+ * @private
1891
+ */
1892
+ UploadSet.prototype._onCloudPickerFileChange = function(oEvent) {
1893
+
1894
+ var mParameters = oEvent.getParameters();
1895
+ var aFiles = [];
1896
+ if (mParameters && mParameters.selectedFiles) {
1897
+ mParameters.selectedFiles.forEach(function (file) {
1898
+ aFiles.push(this._createFileFromCloudPickerFile(file));
1899
+ }.bind(this));
1900
+ }
1901
+
1902
+ // invoking this method to handle file uploads
1903
+ this._processNewCloudPickerFileObjects(aFiles);
1904
+ };
1905
+
1906
+ /**
1907
+ * Creates file object that is to be uploaded from the CloudFilePicker file object
1908
+ * @param {sap.suite.ui.commons.CloudFileInfo} oCloudFile CloudFilepicker file object
1909
+ * @returns {Object} file metadata with file object and fileshare properties
1910
+ * @private
1911
+ */
1912
+ UploadSet.prototype._createFileFromCloudPickerFile = function(oCloudFile) {
1913
+ var parts = [new Blob([])];
1914
+ var oFileMetaData = {
1915
+ type: oCloudFile.getFileShareItemContentType(),
1916
+ size: oCloudFile.getFileShareItemContentSize(),
1917
+ webkitRelativePath: '',
1918
+ name: oCloudFile.getFileShareItemName()
1919
+ };
1920
+ var oFile = new File(parts, oCloudFile.getFileShareItemName(), oFileMetaData);
1921
+ return {
1922
+ file: oFile,
1923
+ fileShareProperties: oCloudFile.mProperties
1924
+ };
1925
+ };
1926
+
1927
+ /**
1928
+ * Maps the UploadSetItem with fileShare properties from the CloudFilePicker
1929
+ * @param {sap.m.UploadSetItem} oItem UploadSetItem to be mapped
1930
+ * @param {Object} oFileShareItem fileshare properties used for mapping
1931
+ * @private
1932
+ */
1933
+ UploadSet.prototype._mapFileShareItemToUploadSetItem = function(oItem, oFileShareItem) {
1934
+ oItem.setFileName(oFileShareItem.fileShareItemName);
1935
+ oItem.setUrl(oFileShareItem.fileShareItemContentLink);
1936
+ };
1937
+
1938
+ /**
1939
+ * Processing and uploading of file objects selected from the CloudFilePicker
1940
+ * @param {Array} oFiles File metadata list containing file to be uploaded and fileshare properties used for mapping
1941
+ * @private
1942
+ */
1943
+ UploadSet.prototype._processNewCloudPickerFileObjects = function (oFiles) {
1944
+ var oItem;
1945
+
1946
+ oFiles.forEach(function (oFileMetaData) {
1947
+ var oFile = oFileMetaData.file,
1948
+ oFileShareProperties = oFileMetaData.fileShareProperties;
1949
+ oItem = new UploadSetItem({
1950
+ uploadState: UploadState.Ready
1951
+ });
1952
+ if (oFileShareProperties && oFileShareProperties !== null) {
1953
+ // invoked and each selected file to map the fileshare properties to uploadsetItem to be uploaded
1954
+ this._mapFileShareItemToUploadSetItem(oItem, oFileShareProperties);
1955
+ }
1956
+ oItem._setFileObject(oFile);
1957
+ oItem.setFileName(oFile.name);//For handling curly braces in file name we have to use setter.Otherwise it will be treated as binding.
1958
+
1959
+ if (!this.fireBeforeItemAdded({item: oItem})) {
1960
+ return;
1961
+ }
1962
+ this.insertIncompleteItem(oItem);
1963
+ this.fireAfterItemAdded({item: oItem});
1964
+
1965
+ if (this.getInstantUpload()) {
1966
+ this._uploadItemIfGoodToGo(oItem);
1967
+ }
1968
+ }.bind(this));
1969
+ };
1970
+
1971
+ /**
1972
+ * Dynamically require CloudFilePicker Control
1973
+ * @returns {Promise} Promise that resolves on sucessful load of CloudFilePicker control
1974
+ * @private
1975
+ */
1976
+ UploadSet.prototype._loadCloudFilePickerDependency = function() {
1977
+ return new Promise(function (resolve, reject) {
1978
+ Core.loadLibrary("sap.suite.ui.commons", { async: true })
1979
+ .then(function() {
1980
+ sap.ui.require(["sap/suite/ui/commons/CloudFilePicker"], function(cloudFilePicker) {
1981
+ resolve(cloudFilePicker);
1982
+ }, function (error) {
1983
+ reject(error);
1984
+ });
1985
+ })
1986
+ .catch(function () {
1987
+ reject("CloudFilePicker Control not available.");
1988
+ });
1989
+ });
1990
+ };
1991
+
1992
+ /**
1993
+ * Creates CloudFilePicker Instance
1994
+ * @returns {sap.suite.ui.commons.CloudFilePicker} CloudFilePicker instance
1995
+ * @private
1996
+ */
1997
+ UploadSet.prototype._getCloudFilePickerInstance = function() {
1998
+ return new this._cloudFilePickerControl({
1999
+ serviceUrl: this.getCloudFilePickerServiceUrl(),
2000
+ confirmButtonText: this._oRb.getText("SELECT_PICKER_TITLE_TEXT"),
2001
+ title: this._oRb.getText("SELECT_PICKER_TITLE_TEXT"),
2002
+ fileNameMandatory: true,
2003
+ enableDuplicateCheck:this.getSameFilenameAllowed(),
2004
+ select: this._onCloudPickerFileChange.bind(this)
2005
+ });
2006
+ };
2007
+
1726
2008
  return UploadSet;
1727
2009
  });
@@ -34,12 +34,11 @@ sap.ui.define([
34
34
  * @class Item that represents one file to be uploaded using the {@link sap.m.upload.UploadSet} control.
35
35
  * @extends sap.ui.core.Element
36
36
  * @author SAP SE
37
- * @version 1.105.1
37
+ * @version 1.107.0
38
38
  * @constructor
39
39
  * @public
40
40
  * @since 1.63
41
41
  * @alias sap.m.upload.UploadSetItem
42
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel.
43
42
  */
44
43
  var UploadSetItem = Element.extend("sap.m.upload.UploadSetItem", {
45
44
  metadata: {
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Control
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.105.1
25
+ * @version 1.107.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -27,7 +27,6 @@ sap.ui.define([
27
27
  * @public
28
28
  * @since 1.63
29
29
  * @alias sap.m.upload.Uploader
30
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
31
30
  */
32
31
  var Uploader = Element.extend("sap.m.upload.Uploader", {
33
32
  metadata: {
@@ -15,7 +15,6 @@
15
15
  * @alias sap.m.upload.UploaderHttpRequestMethod
16
16
  * @public
17
17
  * @since 1.90
18
- * @ui5-metamodel This enumeration will also be described in the SAPUI5 (legacy) design time metamodel
19
18
  */
20
19
  var UploaderHttpRequestMethod = {
21
20