@openui5/sap.m 1.103.1 → 1.106.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 (494) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +35 -15
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +64 -21
  5. package/package.json +4 -4
  6. package/src/sap/m/.library +17 -1
  7. package/src/sap/m/AccButton.js +1 -1
  8. package/src/sap/m/ActionListItem.js +1 -1
  9. package/src/sap/m/ActionSelect.js +1 -1
  10. package/src/sap/m/ActionSheet.js +1 -1
  11. package/src/sap/m/App.js +2 -3
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +2 -2
  14. package/src/sap/m/BadgeEnabler.js +1 -2
  15. package/src/sap/m/Bar.js +11 -10
  16. package/src/sap/m/Breadcrumbs.js +2 -2
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +49 -10
  20. package/src/sap/m/ButtonRenderer.js +10 -2
  21. package/src/sap/m/Carousel.js +3 -4
  22. package/src/sap/m/CarouselLayout.js +1 -1
  23. package/src/sap/m/CarouselRenderer.js +3 -3
  24. package/src/sap/m/CheckBox.js +46 -6
  25. package/src/sap/m/CheckBoxRenderer.js +1 -0
  26. package/src/sap/m/ColorPalette.js +1 -1
  27. package/src/sap/m/ColorPalettePopover.js +1 -1
  28. package/src/sap/m/Column.js +5 -5
  29. package/src/sap/m/ColumnHeaderPopover.js +5 -7
  30. package/src/sap/m/ColumnListItem.js +1 -4
  31. package/src/sap/m/ColumnListItemRenderer.js +1 -2
  32. package/src/sap/m/ColumnPopoverActionItem.js +3 -3
  33. package/src/sap/m/ColumnPopoverCustomItem.js +3 -3
  34. package/src/sap/m/ColumnPopoverItem.js +3 -3
  35. package/src/sap/m/ColumnPopoverSelectListItem.js +3 -5
  36. package/src/sap/m/ColumnPopoverSortItem.js +3 -3
  37. package/src/sap/m/ComboBox.js +6 -5
  38. package/src/sap/m/ComboBoxBase.js +3 -7
  39. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  40. package/src/sap/m/ComboBoxTextField.js +1 -7
  41. package/src/sap/m/ComboBoxTextFieldRenderer.js +19 -4
  42. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  43. package/src/sap/m/CustomListItem.js +1 -1
  44. package/src/sap/m/CustomTile.js +1 -1
  45. package/src/sap/m/CustomTreeItem.js +3 -3
  46. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  47. package/src/sap/m/DatePicker.js +16 -26
  48. package/src/sap/m/DateRangeSelection.js +45 -38
  49. package/src/sap/m/DateTimeField.js +87 -20
  50. package/src/sap/m/DateTimeInput.js +1 -1
  51. package/src/sap/m/DateTimePicker.js +58 -32
  52. package/src/sap/m/DateTimePickerRenderer.js +1 -1
  53. package/src/sap/m/Dialog.js +44 -2
  54. package/src/sap/m/DisplayListItem.js +1 -1
  55. package/src/sap/m/DraftIndicator.js +1 -1
  56. package/src/sap/m/DynamicDate.js +1 -1
  57. package/src/sap/m/DynamicDateFormat.js +2 -5
  58. package/src/sap/m/DynamicDateOption.js +43 -16
  59. package/src/sap/m/DynamicDateRange.js +49 -7
  60. package/src/sap/m/DynamicDateRangeRenderer.js +5 -2
  61. package/src/sap/m/DynamicDateUtil.js +23 -2
  62. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  63. package/src/sap/m/ExpandableText.js +1 -1
  64. package/src/sap/m/FacetFilter.js +2 -2
  65. package/src/sap/m/FacetFilterItem.js +1 -1
  66. package/src/sap/m/FacetFilterList.js +4 -4
  67. package/src/sap/m/FeedContent.js +1 -1
  68. package/src/sap/m/FeedInput.js +1 -1
  69. package/src/sap/m/FeedListItem.js +1 -1
  70. package/src/sap/m/FeedListItemAction.js +1 -1
  71. package/src/sap/m/Fiori20Adapter.js +2 -2
  72. package/src/sap/m/FlexBox.js +1 -1
  73. package/src/sap/m/FlexItemData.js +1 -1
  74. package/src/sap/m/FormattedText.js +1 -1
  75. package/src/sap/m/GenericTag.js +1 -1
  76. package/src/sap/m/GenericTile.js +116 -23
  77. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  78. package/src/sap/m/GenericTileRenderer.js +23 -10
  79. package/src/sap/m/GroupHeaderListItem.js +1 -1
  80. package/src/sap/m/GrowingEnablement.js +60 -36
  81. package/src/sap/m/GrowingList.js +1 -1
  82. package/src/sap/m/HBox.js +1 -1
  83. package/src/sap/m/HeaderContainer.js +34 -32
  84. package/src/sap/m/HeaderContainerItemNavigator.js +3 -6
  85. package/src/sap/m/IconTabBar.js +54 -22
  86. package/src/sap/m/IconTabBarSelectList.js +1 -1
  87. package/src/sap/m/IconTabFilter.js +1 -1
  88. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  89. package/src/sap/m/IconTabHeader.js +6 -19
  90. package/src/sap/m/IconTabSeparator.js +1 -1
  91. package/src/sap/m/IllustratedMessage.js +98 -25
  92. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  93. package/src/sap/m/Illustration.js +8 -1
  94. package/src/sap/m/IllustrationPool.js +1 -0
  95. package/src/sap/m/IllustrationRenderer.js +2 -1
  96. package/src/sap/m/Image.js +73 -3
  97. package/src/sap/m/ImageContent.js +1 -1
  98. package/src/sap/m/ImageRenderer.js +66 -2
  99. package/src/sap/m/Input.js +62 -7
  100. package/src/sap/m/InputBase.js +1 -1
  101. package/src/sap/m/InputBaseRenderer.js +2 -2
  102. package/src/sap/m/InputListItem.js +1 -1
  103. package/src/sap/m/InputRenderer.js +4 -0
  104. package/src/sap/m/InstanceManager.js +6 -6
  105. package/src/sap/m/Label.js +34 -4
  106. package/src/sap/m/LabelRenderer.js +7 -2
  107. package/src/sap/m/LightBox.js +2 -2
  108. package/src/sap/m/LightBoxItem.js +1 -1
  109. package/src/sap/m/Link.js +74 -10
  110. package/src/sap/m/LinkRenderer.js +26 -12
  111. package/src/sap/m/List.js +38 -1
  112. package/src/sap/m/ListBase.js +109 -44
  113. package/src/sap/m/ListBaseRenderer.js +7 -15
  114. package/src/sap/m/ListItemBase.js +40 -11
  115. package/src/sap/m/ListItemBaseRenderer.js +17 -6
  116. package/src/sap/m/ListRenderer.js +2 -2
  117. package/src/sap/m/MaskEnabler.js +52 -2
  118. package/src/sap/m/MaskInput.js +23 -1
  119. package/src/sap/m/MaskInputRule.js +1 -1
  120. package/src/sap/m/Menu.js +1 -1
  121. package/src/sap/m/MenuButton.js +1 -1
  122. package/src/sap/m/MenuItem.js +1 -1
  123. package/src/sap/m/MenuListItem.js +1 -1
  124. package/src/sap/m/MessageBox.js +1 -1
  125. package/src/sap/m/MessageItem.js +3 -4
  126. package/src/sap/m/MessageListItem.js +10 -6
  127. package/src/sap/m/MessagePage.js +1 -1
  128. package/src/sap/m/MessagePopover.js +4 -1
  129. package/src/sap/m/MessagePopoverItem.js +1 -1
  130. package/src/sap/m/MessageStrip.js +1 -1
  131. package/src/sap/m/MessageToast.js +1 -1
  132. package/src/sap/m/MessageView.js +1 -1
  133. package/src/sap/m/MultiComboBox.js +5 -16
  134. package/src/sap/m/MultiEditField.js +1 -1
  135. package/src/sap/m/MultiInput.js +1 -15
  136. package/src/sap/m/NavContainer.js +21 -19
  137. package/src/sap/m/NewsContent.js +2 -3
  138. package/src/sap/m/NotificationList.js +1 -1
  139. package/src/sap/m/NotificationListBase.js +1 -1
  140. package/src/sap/m/NotificationListGroup.js +3 -7
  141. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  142. package/src/sap/m/NotificationListItem.js +1 -1
  143. package/src/sap/m/NumericContent.js +1 -1
  144. package/src/sap/m/NumericInput.js +1 -1
  145. package/src/sap/m/ObjectAttribute.js +1 -1
  146. package/src/sap/m/ObjectHeader.js +3 -3
  147. package/src/sap/m/ObjectIdentifier.js +8 -5
  148. package/src/sap/m/ObjectListItem.js +7 -1
  149. package/src/sap/m/ObjectMarker.js +1 -1
  150. package/src/sap/m/ObjectNumber.js +2 -3
  151. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  152. package/src/sap/m/ObjectStatus.js +2 -3
  153. package/src/sap/m/ObjectStatusRenderer.js +2 -2
  154. package/src/sap/m/OverflowToolbar.js +3 -8
  155. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  156. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +3 -8
  157. package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +2 -2
  158. package/src/sap/m/OverflowToolbarButton.js +2 -2
  159. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  160. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  161. package/src/sap/m/P13nAnyFilterItem.js +3 -3
  162. package/src/sap/m/P13nColumnsItem.js +3 -3
  163. package/src/sap/m/P13nColumnsPanel.js +3 -3
  164. package/src/sap/m/P13nConditionPanel.js +10 -3
  165. package/src/sap/m/P13nDialog.js +3 -3
  166. package/src/sap/m/P13nDimMeasureItem.js +3 -3
  167. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  168. package/src/sap/m/P13nFilterItem.js +3 -3
  169. package/src/sap/m/P13nFilterPanel.js +3 -3
  170. package/src/sap/m/P13nGroupItem.js +3 -3
  171. package/src/sap/m/P13nGroupPanel.js +3 -3
  172. package/src/sap/m/P13nItem.js +3 -3
  173. package/src/sap/m/P13nOperationsHelper.js +2 -2
  174. package/src/sap/m/P13nPanel.js +3 -3
  175. package/src/sap/m/P13nSelectionItem.js +3 -3
  176. package/src/sap/m/P13nSelectionPanel.js +3 -3
  177. package/src/sap/m/P13nSortItem.js +3 -3
  178. package/src/sap/m/P13nSortPanel.js +3 -3
  179. package/src/sap/m/PDFViewer.js +2 -2
  180. package/src/sap/m/PDFViewerRenderer.js +1 -0
  181. package/src/sap/m/Page.js +1 -3
  182. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  183. package/src/sap/m/PagingButton.js +1 -1
  184. package/src/sap/m/Panel.js +1 -1
  185. package/src/sap/m/PlanningCalendar.js +4 -16
  186. package/src/sap/m/PlanningCalendarHeader.js +1 -5
  187. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  188. package/src/sap/m/PlanningCalendarRow.js +1 -1
  189. package/src/sap/m/PlanningCalendarView.js +1 -1
  190. package/src/sap/m/Popover.js +11 -4
  191. package/src/sap/m/ProgressIndicator.js +1 -1
  192. package/src/sap/m/ProgressIndicatorRenderer.js +6 -3
  193. package/src/sap/m/PullToRefresh.js +1 -1
  194. package/src/sap/m/QuickView.js +3 -3
  195. package/src/sap/m/QuickViewBase.js +3 -3
  196. package/src/sap/m/QuickViewCard.js +3 -3
  197. package/src/sap/m/QuickViewGroup.js +1 -1
  198. package/src/sap/m/QuickViewGroupElement.js +3 -3
  199. package/src/sap/m/QuickViewPage.js +3 -3
  200. package/src/sap/m/RadioButton.js +47 -20
  201. package/src/sap/m/RadioButtonGroup.js +29 -26
  202. package/src/sap/m/RangeSlider.js +1 -3
  203. package/src/sap/m/RatingIndicator.js +8 -1
  204. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  205. package/src/sap/m/ResponsivePopover.js +3 -3
  206. package/src/sap/m/ResponsiveScale.js +1 -1
  207. package/src/sap/m/ScrollBar.js +1 -1
  208. package/src/sap/m/ScrollContainer.js +1 -1
  209. package/src/sap/m/SearchField.js +1 -1
  210. package/src/sap/m/SearchFieldRenderer.js +1 -0
  211. package/src/sap/m/SegmentedButton.js +1 -1
  212. package/src/sap/m/SegmentedButtonItem.js +1 -1
  213. package/src/sap/m/Select.js +8 -14
  214. package/src/sap/m/SelectDialog.js +2 -1
  215. package/src/sap/m/SelectDialogBase.js +1 -1
  216. package/src/sap/m/SelectList.js +1 -1
  217. package/src/sap/m/SelectListRenderer.js +2 -2
  218. package/src/sap/m/SelectionDetails.js +2 -2
  219. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  220. package/src/sap/m/SelectionDetailsItem.js +1 -1
  221. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  222. package/src/sap/m/Shell.js +1 -1
  223. package/src/sap/m/SimpleFixFlex.js +1 -1
  224. package/src/sap/m/SinglePlanningCalendar.js +7 -9
  225. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  226. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -7
  227. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  228. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +0 -2
  229. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  230. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  231. package/src/sap/m/SinglePlanningCalendarWeekView.js +12 -13
  232. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  233. package/src/sap/m/SlideTile.js +30 -5
  234. package/src/sap/m/Slider.js +1 -1
  235. package/src/sap/m/SliderTooltip.js +1 -3
  236. package/src/sap/m/SliderTooltipBase.js +1 -1
  237. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  238. package/src/sap/m/SliderTooltipContainer.js +1 -1
  239. package/src/sap/m/SliderTooltipContainerRenderer.js +2 -2
  240. package/src/sap/m/SliderTooltipRenderer.js +2 -2
  241. package/src/sap/m/SplitApp.js +1 -1
  242. package/src/sap/m/SplitButton.js +1 -3
  243. package/src/sap/m/SplitContainer.js +3 -7
  244. package/src/sap/m/StandardDynamicDateOption.js +9 -15
  245. package/src/sap/m/StandardListItem.js +1 -1
  246. package/src/sap/m/StandardListItemRenderer.js +2 -2
  247. package/src/sap/m/StandardTile.js +1 -1
  248. package/src/sap/m/StandardTreeItem.js +1 -1
  249. package/src/sap/m/StepInput.js +1 -1
  250. package/src/sap/m/SuggestionItem.js +1 -1
  251. package/src/sap/m/SuggestionsPopover.js +4 -2
  252. package/src/sap/m/Switch.js +1 -1
  253. package/src/sap/m/TabContainer.js +1 -1
  254. package/src/sap/m/TabContainerItem.js +1 -1
  255. package/src/sap/m/TabStrip.js +1 -1
  256. package/src/sap/m/TabStripItem.js +1 -1
  257. package/src/sap/m/Table.js +11 -9
  258. package/src/sap/m/TablePersoController.js +1 -1
  259. package/src/sap/m/TablePersoDialog.js +6 -15
  260. package/src/sap/m/TablePersoProvider.js +1 -1
  261. package/src/sap/m/TableRenderer.js +2 -9
  262. package/src/sap/m/TableSelectDialog.js +1 -1
  263. package/src/sap/m/Text.js +1 -1
  264. package/src/sap/m/TextArea.js +1 -1
  265. package/src/sap/m/TextAreaRenderer.js +1 -2
  266. package/src/sap/m/Tile.js +1 -1
  267. package/src/sap/m/TileContainer.js +1 -1
  268. package/src/sap/m/TileContent.js +8 -9
  269. package/src/sap/m/TileContentRenderer.js +3 -3
  270. package/src/sap/m/TimePicker.js +45 -8
  271. package/src/sap/m/TimePickerClock.js +2 -3
  272. package/src/sap/m/TimePickerClocks.js +5 -3
  273. package/src/sap/m/TimePickerClocksRenderer.js +4 -2
  274. package/src/sap/m/TimePickerInputs.js +1 -1
  275. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  276. package/src/sap/m/TimePickerInternals.js +1 -1
  277. package/src/sap/m/TimePickerSlider.js +1 -1
  278. package/src/sap/m/TimePickerSliders.js +3 -5
  279. package/src/sap/m/Title.js +1 -1
  280. package/src/sap/m/TitlePropagationSupport.js +1 -1
  281. package/src/sap/m/ToggleButton.js +2 -2
  282. package/src/sap/m/Token.js +1 -3
  283. package/src/sap/m/Tokenizer.js +1 -1
  284. package/src/sap/m/Toolbar.js +1 -1
  285. package/src/sap/m/ToolbarLayoutData.js +1 -1
  286. package/src/sap/m/ToolbarSeparator.js +1 -1
  287. package/src/sap/m/ToolbarSpacer.js +1 -1
  288. package/src/sap/m/Tree.js +8 -1
  289. package/src/sap/m/TreeItemBase.js +1 -1
  290. package/src/sap/m/TreeRenderer.js +0 -10
  291. package/src/sap/m/UploadCollection.js +2 -2
  292. package/src/sap/m/UploadCollectionItem.js +1 -1
  293. package/src/sap/m/UploadCollectionParameter.js +1 -1
  294. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  295. package/src/sap/m/VBox.js +1 -1
  296. package/src/sap/m/ValueStateHeader.js +1 -1
  297. package/src/sap/m/VariantItem.js +160 -0
  298. package/src/sap/m/VariantManagement.js +717 -571
  299. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  300. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  301. package/src/sap/m/ViewSettingsDialog.js +1 -1
  302. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  303. package/src/sap/m/ViewSettingsItem.js +1 -1
  304. package/src/sap/m/VisibleItem.js +1 -1
  305. package/src/sap/m/WheelSlider.js +1 -1
  306. package/src/sap/m/WheelSliderContainer.js +1 -1
  307. package/src/sap/m/Wizard.js +10 -3
  308. package/src/sap/m/WizardProgressNavigator.js +1 -1
  309. package/src/sap/m/WizardStep.js +3 -1
  310. package/src/sap/m/_thirdparty/purify.js +1622 -0
  311. package/src/sap/m/changeHandler/AddTableColumn.js +12 -13
  312. package/src/sap/m/changeHandler/ChangeLinkTarget.js +2 -3
  313. package/src/sap/m/changeHandler/CombineButtons.js +19 -22
  314. package/src/sap/m/changeHandler/MoveTableColumns.js +6 -6
  315. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +5 -5
  316. package/src/sap/m/changeHandler/SplitMenuButton.js +7 -6
  317. package/src/sap/m/delegate/DateNavigation.js +0 -4
  318. package/src/sap/m/designtime/Link.designtime.js +19 -11
  319. package/src/sap/m/designtime/VariantManagement.designtime.js +36 -26
  320. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  321. package/src/sap/m/inputUtils/selectionRange.js +1 -2
  322. package/src/sap/m/library.js +60 -7
  323. package/src/sap/m/messagebundle.properties +57 -6
  324. package/src/sap/m/messagebundle_ar.properties +39 -9
  325. package/src/sap/m/messagebundle_bg.properties +33 -3
  326. package/src/sap/m/messagebundle_ca.properties +32 -2
  327. package/src/sap/m/messagebundle_cs.properties +32 -2
  328. package/src/sap/m/messagebundle_cy.properties +34 -4
  329. package/src/sap/m/messagebundle_da.properties +32 -2
  330. package/src/sap/m/messagebundle_de.properties +32 -2
  331. package/src/sap/m/messagebundle_el.properties +35 -5
  332. package/src/sap/m/messagebundle_en.properties +34 -4
  333. package/src/sap/m/messagebundle_en_GB.properties +34 -4
  334. package/src/sap/m/messagebundle_en_US_sappsd.properties +33 -3
  335. package/src/sap/m/messagebundle_en_US_saprigi.properties +31 -3
  336. package/src/sap/m/messagebundle_en_US_saptrc.properties +33 -3
  337. package/src/sap/m/messagebundle_es.properties +33 -3
  338. package/src/sap/m/messagebundle_es_MX.properties +32 -2
  339. package/src/sap/m/messagebundle_et.properties +32 -2
  340. package/src/sap/m/messagebundle_fi.properties +36 -6
  341. package/src/sap/m/messagebundle_fr.properties +33 -3
  342. package/src/sap/m/messagebundle_fr_CA.properties +34 -4
  343. package/src/sap/m/messagebundle_hi.properties +34 -4
  344. package/src/sap/m/messagebundle_hr.properties +36 -6
  345. package/src/sap/m/messagebundle_hu.properties +34 -4
  346. package/src/sap/m/messagebundle_id.properties +34 -4
  347. package/src/sap/m/messagebundle_it.properties +33 -3
  348. package/src/sap/m/messagebundle_iw.properties +34 -4
  349. package/src/sap/m/messagebundle_ja.properties +33 -3
  350. package/src/sap/m/messagebundle_kk.properties +32 -2
  351. package/src/sap/m/messagebundle_ko.properties +40 -10
  352. package/src/sap/m/messagebundle_lt.properties +32 -2
  353. package/src/sap/m/messagebundle_lv.properties +32 -2
  354. package/src/sap/m/messagebundle_ms.properties +33 -3
  355. package/src/sap/m/messagebundle_nl.properties +46 -16
  356. package/src/sap/m/messagebundle_no.properties +34 -4
  357. package/src/sap/m/messagebundle_pl.properties +33 -3
  358. package/src/sap/m/messagebundle_pt.properties +37 -7
  359. package/src/sap/m/messagebundle_pt_PT.properties +32 -2
  360. package/src/sap/m/messagebundle_ro.properties +33 -3
  361. package/src/sap/m/messagebundle_ru.properties +33 -3
  362. package/src/sap/m/messagebundle_sh.properties +33 -3
  363. package/src/sap/m/messagebundle_sk.properties +32 -2
  364. package/src/sap/m/messagebundle_sl.properties +33 -3
  365. package/src/sap/m/messagebundle_sv.properties +32 -2
  366. package/src/sap/m/messagebundle_th.properties +65 -35
  367. package/src/sap/m/messagebundle_tr.properties +36 -6
  368. package/src/sap/m/messagebundle_uk.properties +33 -3
  369. package/src/sap/m/messagebundle_vi.properties +33 -3
  370. package/src/sap/m/messagebundle_zh_CN.properties +33 -3
  371. package/src/sap/m/messagebundle_zh_TW.properties +32 -2
  372. package/src/sap/m/p13n/AbstractContainer.js +7 -7
  373. package/src/sap/m/p13n/AbstractContainerItem.js +4 -4
  374. package/src/sap/m/p13n/BasePanel.js +24 -13
  375. package/src/sap/m/p13n/Container.js +3 -3
  376. package/src/sap/m/p13n/Engine.js +1254 -0
  377. package/src/sap/m/p13n/FlexUtil.js +161 -0
  378. package/src/sap/m/p13n/GroupController.js +145 -0
  379. package/src/sap/m/p13n/GroupPanel.js +12 -5
  380. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  381. package/src/sap/m/p13n/PersistenceProvider.js +160 -0
  382. package/src/sap/m/p13n/Popup.js +49 -12
  383. package/src/sap/m/p13n/QueryPanel.js +3 -3
  384. package/src/sap/m/p13n/SelectionController.js +548 -0
  385. package/src/sap/m/p13n/SelectionPanel.js +23 -5
  386. package/src/sap/m/p13n/SortController.js +153 -0
  387. package/src/sap/m/p13n/SortPanel.js +15 -5
  388. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  389. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  390. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  391. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  392. package/src/sap/m/p13n/modification/ModificationHandler.js +143 -0
  393. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  394. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +147 -0
  395. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  396. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  397. package/src/sap/m/p13n/modules/xConfigAPI.js +288 -0
  398. package/src/sap/m/plugins/CellSelector.js +741 -0
  399. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  400. package/src/sap/m/plugins/DataStateIndicator.js +2 -2
  401. package/src/sap/m/plugins/PasteProvider.js +1 -1
  402. package/src/sap/m/plugins/PluginBase.js +4 -3
  403. package/src/sap/m/rules/CheckBox.support.js +1 -1
  404. package/src/sap/m/rules/Image.support.js +1 -1
  405. package/src/sap/m/rules/Link.support.js +1 -1
  406. package/src/sap/m/rules/MessagePage.support.js +1 -1
  407. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  408. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  409. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  410. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  411. package/src/sap/m/rules/Panel.support.js +1 -1
  412. package/src/sap/m/rules/Select.support.js +1 -1
  413. package/src/sap/m/rules/Table.support.js +3 -3
  414. package/src/sap/m/semantic/AddAction.js +1 -1
  415. package/src/sap/m/semantic/CancelAction.js +1 -1
  416. package/src/sap/m/semantic/DeleteAction.js +1 -1
  417. package/src/sap/m/semantic/DetailPage.js +1 -1
  418. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  419. package/src/sap/m/semantic/EditAction.js +1 -1
  420. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  421. package/src/sap/m/semantic/FilterAction.js +1 -1
  422. package/src/sap/m/semantic/FilterSelect.js +1 -1
  423. package/src/sap/m/semantic/FlagAction.js +1 -1
  424. package/src/sap/m/semantic/ForwardAction.js +1 -1
  425. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  426. package/src/sap/m/semantic/GroupAction.js +1 -1
  427. package/src/sap/m/semantic/GroupSelect.js +1 -1
  428. package/src/sap/m/semantic/MainAction.js +1 -1
  429. package/src/sap/m/semantic/MasterPage.js +1 -1
  430. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  431. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  432. package/src/sap/m/semantic/NegativeAction.js +1 -1
  433. package/src/sap/m/semantic/OpenInAction.js +1 -1
  434. package/src/sap/m/semantic/PositiveAction.js +1 -1
  435. package/src/sap/m/semantic/PrintAction.js +1 -1
  436. package/src/sap/m/semantic/SaveAction.js +1 -1
  437. package/src/sap/m/semantic/Segment.js +1 -1
  438. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  439. package/src/sap/m/semantic/SemanticButton.js +1 -1
  440. package/src/sap/m/semantic/SemanticConfiguration.js +3 -4
  441. package/src/sap/m/semantic/SemanticControl.js +1 -1
  442. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  443. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  444. package/src/sap/m/semantic/SemanticPage.js +1 -1
  445. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  446. package/src/sap/m/semantic/SemanticToggleButton.js +1 -3
  447. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  448. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  449. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  450. package/src/sap/m/semantic/ShareMenu.js +1 -1
  451. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  452. package/src/sap/m/semantic/SortAction.js +1 -1
  453. package/src/sap/m/semantic/SortSelect.js +1 -1
  454. package/src/sap/m/table/Util.js +30 -11
  455. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  456. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  457. package/src/sap/m/table/columnmenu/Item.js +1 -1
  458. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  459. package/src/sap/m/table/columnmenu/Menu.js +50 -13
  460. package/src/sap/m/table/columnmenu/QuickAction.js +16 -8
  461. package/src/sap/m/table/columnmenu/QuickActionBase.js +18 -3
  462. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -6
  463. package/src/sap/m/table/columnmenu/QuickGroup.js +29 -5
  464. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  465. package/src/sap/m/table/columnmenu/QuickSort.js +1 -3
  466. package/src/sap/m/table/columnmenu/QuickSortItem.js +8 -7
  467. package/src/sap/m/table/columnmenu/QuickTotal.js +29 -5
  468. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  469. package/src/sap/m/themes/base/Breadcrumbs.less +6 -0
  470. package/src/sap/m/themes/base/Button.less +0 -1
  471. package/src/sap/m/themes/base/Carousel.less +8 -8
  472. package/src/sap/m/themes/base/CellSelector.less +9 -0
  473. package/src/sap/m/themes/base/CheckBox.less +1 -0
  474. package/src/sap/m/themes/base/Dialog.less +1 -0
  475. package/src/sap/m/themes/base/DisplayListItem.less +3 -3
  476. package/src/sap/m/themes/base/DynamicDateRange.less +4 -0
  477. package/src/sap/m/themes/base/FeedContent.less +13 -5
  478. package/src/sap/m/themes/base/GenericTile.less +56 -9
  479. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  480. package/src/sap/m/themes/base/NewsContent.less +6 -0
  481. package/src/sap/m/themes/base/NumericContent.less +1 -1
  482. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  483. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  484. package/src/sap/m/themes/base/SelectList.less +0 -5
  485. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  486. package/src/sap/m/themes/base/SlideTile.less +35 -4
  487. package/src/sap/m/themes/base/Table.less +11 -2
  488. package/src/sap/m/themes/base/TileContent.less +17 -0
  489. package/src/sap/m/themes/base/library.source.less +1 -0
  490. package/src/sap/m/upload/UploadSet.js +300 -23
  491. package/src/sap/m/upload/UploadSetItem.js +18 -7
  492. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  493. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  494. package/src/sap/m/upload/Uploader.js +1 -2
@@ -6,7 +6,6 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/ui/core/Control",
9
- "sap/ui/core/Icon",
10
9
  "sap/ui/events/KeyCodes",
11
10
  "sap/base/Log",
12
11
  "sap/base/util/deepEqual",
@@ -27,9 +26,14 @@ sap.ui.define([
27
26
  "sap/ui/core/dnd/DragDropInfo",
28
27
  "sap/ui/core/dnd/DropInfo",
29
28
  "sap/m/library",
30
- "sap/m/upload/UploadSetToolbarPlaceholder"
31
- ], function (Control, Icon, KeyCodes, Log, deepEqual, MobileLibrary, Button, Dialog, List, MessageBox, OverflowToolbar,
32
- StandardListItem, Text, ToolbarSpacer, FileUploader, UploadSetItem, Uploader, Renderer, UploaderHttpRequestMethod, DragDropInfo, DropInfo, Library, UploadSetToolbarPlaceholder) {
29
+ "sap/m/upload/UploadSetToolbarPlaceholder",
30
+ "sap/m/IllustratedMessage",
31
+ "sap/m/IllustratedMessageType",
32
+ "sap/m/IllustratedMessageSize",
33
+ "sap/ui/core/Core"
34
+ ], function (Control, KeyCodes, Log, deepEqual, MobileLibrary, Button, Dialog, List, MessageBox, OverflowToolbar,
35
+ StandardListItem, Text, ToolbarSpacer, FileUploader, UploadSetItem, Uploader, Renderer, UploaderHttpRequestMethod,
36
+ DragDropInfo, DropInfo, Library, UploadSetToolbarPlaceholder, IllustratedMessage,IllustratedMessageType, IllustratedMessageSize, Core) {
33
37
  "use strict";
34
38
 
35
39
  /**
@@ -43,7 +47,7 @@ sap.ui.define([
43
47
  * and requests, unified behavior of instant and deferred uploads, as well as improved progress indication.
44
48
  * @extends sap.ui.core.Control
45
49
  * @author SAP SE
46
- * @version 1.103.1
50
+ * @version 1.106.0
47
51
  * @constructor
48
52
  * @public
49
53
  * @since 1.63
@@ -83,6 +87,14 @@ sap.ui.define([
83
87
  * Defines custom text for the 'No data' description label.
84
88
  */
85
89
  noDataDescription: {type: "string", defaultValue: null},
90
+ /**
91
+ * Defines custom text for the 'No data' text label.
92
+ */
93
+ dragDropText: {type: "string", defaultValue: null},
94
+ /**
95
+ * Defines custom text for the 'No data' description label.
96
+ */
97
+ dragDropDescription: {type: "string", defaultValue: null},
86
98
  /**
87
99
  * Defines whether the upload process should be triggered as soon as the file is added.<br>
88
100
  * If set to <code>false</code>, no upload is triggered when a file is added.
@@ -133,7 +145,22 @@ sap.ui.define([
133
145
  * 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.
134
146
  * @since 1.100.0
135
147
  */
136
- mode: {type: "sap.m.ListMode", group: "Behavior", defaultValue: Library.ListMode.MultiSelect}
148
+ mode: {type: "sap.m.ListMode", group: "Behavior", defaultValue: Library.ListMode.MultiSelect},
149
+ /**
150
+ * Enables CloudFile picker feature to upload files from cloud.
151
+ * @experimental Since 1.106.
152
+ */
153
+ cloudFilePickerEnabled: {type: "boolean", group: "Behavior", defaultValue: false},
154
+ /**
155
+ * Url of the FileShare OData V4 service supplied for CloudFile picker control.
156
+ * @experimental Since 1.106.
157
+ */
158
+ cloudFilePickerServiceUrl: {type: "sap.ui.core.URI", group: "Data", defaultValue: ""},
159
+ /**
160
+ * The text of the CloudFile picker button. The default text is "Upload from cloud" (translated to the respective language).
161
+ * @experimental Since 1.106.
162
+ */
163
+ cloudFilePickerButtonText: {type: 'string', defaultValue: ""}
137
164
  },
138
165
  defaultAggregation: "items",
139
166
  aggregations: {
@@ -156,7 +183,12 @@ sap.ui.define([
156
183
  /**
157
184
  * Defines the uploader to be used. If not specified, the default implementation is used.
158
185
  */
159
- uploader: {type: "sap.m.upload.Uploader", multiple: false}
186
+ uploader: {type: "sap.m.upload.Uploader", multiple: false},
187
+ /**
188
+ * An illustrated message is displayed when no data is loaded or provided
189
+ * @private
190
+ */
191
+ _illustratedMessage: { type: "sap.m.IllustratedMessage", multiple: false, visibility: "hidden" }
160
192
  },
161
193
  events: {
162
194
  /**
@@ -462,14 +494,12 @@ sap.ui.define([
462
494
  this._oRb = sap.ui.getCore().getLibraryResourceBundle("sap.m");
463
495
 
464
496
  this._oList = null;
465
- this._oNoDataIcon = new Icon(this.getId() + "-no-data-icon", {
466
- src: "sap-icon://document",
467
- size: "6rem",
468
- noTabStop: true
469
- });
470
497
  this._oEditedItem = null;
471
498
  this._oItemToBeDeleted = null;
472
499
  this._mListItemIdToItemMap = {};
500
+ this._oUploadButton = null;
501
+ this._oDragIndicator = false;
502
+ this._bAttachEventListener = false;
473
503
 
474
504
  // Drag&drop
475
505
  this._$Body = null;
@@ -479,11 +509,17 @@ sap.ui.define([
479
509
  this._aGroupHeadersAdded = [];
480
510
  this._iFileUploaderPH = null;
481
511
  this._oItemToUpdate = null;
512
+ var illustratedMessage = new IllustratedMessage({
513
+ illustrationType: IllustratedMessageType.NoData,
514
+ illustrationSize: IllustratedMessageSize.Auto,
515
+ title: this.getNoDataText(),
516
+ description: this.getNoDataDescription()
517
+ });
518
+ this.setAggregation("_illustratedMessage", illustratedMessage);
519
+ this._cloudFilePickerControl = null;
482
520
  };
483
521
 
484
522
  UploadSet.prototype.exit = function () {
485
- this._oNoDataIcon.destroy();
486
- this._oNoDataIcon = null;
487
523
  if (this._oList) {
488
524
  this._oList.destroy();
489
525
  this._oList = null;
@@ -522,6 +558,12 @@ sap.ui.define([
522
558
  });
523
559
  oInput.trigger("focus");
524
560
  }
561
+ if (this._oEditedItem && this._oEditedItem.getEditState()) {
562
+ var oMarkerContainer = this._oEditedItem.getListItem().getDomRef().querySelector(".sapMUSObjectMarkerContainer");
563
+ if (oMarkerContainer) {
564
+ oMarkerContainer.setAttribute("style", "display: none");
565
+ }
566
+ }
525
567
  }
526
568
  };
527
569
 
@@ -577,7 +619,7 @@ sap.ui.define([
577
619
  this._oToolbar = this.getAggregation("toolbar");
578
620
  if (!this._oToolbar) {
579
621
  this._oToolbar = new OverflowToolbar(this.getId() + "-toolbar", {
580
- content: [this._oNumberOfAttachmentsTitle, new ToolbarSpacer(), this.getDefaultFileUploader()]
622
+ content: [this._oNumberOfAttachmentsTitle, new ToolbarSpacer(), this.getDefaultFileUploader(), this._getCloudFilePicker()]
581
623
  });
582
624
  this._iFileUploaderPH = 2;
583
625
  this.addDependent(this._oToolbar);
@@ -586,8 +628,10 @@ sap.ui.define([
586
628
  if (this._oToolbar && this._iFileUploaderPH > -1) {
587
629
  this._setFileUploaderInToolbar(this.getDefaultFileUploader());
588
630
  } else if (this._oToolbar) {
589
- this._oToolbar.insertContent(this.getDefaultFileUploader());
631
+ // fallback position to add file uploader control if UploadSetToolbarPlaceHolder instance not found
632
+ this._oToolbar.addContent(this.getDefaultFileUploader());
590
633
  }
634
+ this._oToolbar.addContent(this._getCloudFilePicker());
591
635
  }
592
636
  }
593
637
 
@@ -606,6 +650,18 @@ sap.ui.define([
606
650
  return sNoDataDescription;
607
651
  };
608
652
 
653
+ UploadSet.prototype.getDragDropText = function () {
654
+ var sDragDropText = this.getProperty("dragDropText");
655
+ sDragDropText = sDragDropText || this._oRb.getText("IllustratedMessage_TITLE_UploadCollection");
656
+ return sDragDropText;
657
+ };
658
+
659
+ UploadSet.prototype.getDragDropDescription = function () {
660
+ var sDragDropDescription = this.getProperty("dragDropDescription");
661
+ sDragDropDescription = sDragDropDescription || this._oRb.getText("IllustratedMessage_DESCRIPTION_UploadCollection");
662
+ return sDragDropDescription;
663
+ };
664
+
609
665
  UploadSet.prototype.setToolbar = function (oToolbar) {
610
666
  this.setAggregation("toolbar", oToolbar);
611
667
  this.getToolbar();
@@ -787,6 +843,50 @@ sap.ui.define([
787
843
  return this;
788
844
  };
789
845
 
846
+ UploadSet.prototype._getIllustratedMessage = function () {
847
+ var oAggregation = this.getAggregation("_illustratedMessage");
848
+ if (oAggregation) {
849
+ if (this._getDragIndicator()) {
850
+ oAggregation.setIllustrationType(IllustratedMessageType.UploadCollection);
851
+ oAggregation.setTitle(this.getDragDropText());
852
+ oAggregation.setDescription(this.getDragDropDescription());
853
+ oAggregation.removeAllAdditionalContent();
854
+ } else {
855
+ oAggregation.setIllustrationType(IllustratedMessageType.NoData);
856
+ oAggregation.setTitle(this.getNoDataText());
857
+ oAggregation.setDescription(this.getNoDataDescription());
858
+ oAggregation.addAdditionalContent(this.getUploadButtonForIllustratedMessage());
859
+ }
860
+ }
861
+ return oAggregation;
862
+ };
863
+
864
+ UploadSet.prototype.getUploadButtonForIllustratedMessage = function () {
865
+ if (!this._oUploadButton) {
866
+ this._oUploadButton = new Button({
867
+ id: this.getId() + "-uploadButton",
868
+ type: MobileLibrary.ButtonType.Standard,
869
+ visible: this.getUploadEnabled(),
870
+ text: this._oRb.getText("UPLOADCOLLECTION_UPLOAD"),
871
+ ariaDescribedBy: this.getAggregation("_illustratedMessage").getId(),
872
+ press: function () {
873
+ var FileUploader = this.getDefaultFileUploader();
874
+ FileUploader.$().find("input[type=file]").trigger("click");
875
+ }.bind(this)
876
+ });
877
+ }
878
+
879
+ return this._oUploadButton;
880
+ };
881
+
882
+ UploadSet.prototype.setUploadUrl = function (sUploadUrl) {
883
+ this.setProperty("uploadUrl", sUploadUrl);
884
+ if (this._oUploader) {
885
+ this._oUploader.setUploadUrl(sUploadUrl);
886
+ }
887
+ return this;
888
+ };
889
+
790
890
  /* ============== */
791
891
  /* Public methods */
792
892
  /* ============== */
@@ -837,6 +937,15 @@ sap.ui.define([
837
937
  UploadSet.prototype._onDragEnterFile = function (oEvent) {
838
938
  var oDragSession = oEvent.getParameter("dragSession");
839
939
  var oDraggedControl = oDragSession.getDragControl();
940
+ if (!this._bAttachEventListener) {
941
+ window.addEventListener("focus", function() {
942
+ this._oDragIndicator = false;
943
+ this._getIllustratedMessage();
944
+ }.bind(this), true);
945
+ this._bAttachEventListener = true;
946
+ }
947
+ this._oDragIndicator = true;
948
+ this._getIllustratedMessage();
840
949
  if (oDraggedControl) {
841
950
  oEvent.preventDefault();
842
951
  }
@@ -844,6 +953,8 @@ sap.ui.define([
844
953
 
845
954
  UploadSet.prototype._onDropFile = function (oEvent) {
846
955
  var oFiles;
956
+ this._oDragIndicator = false;
957
+ this._getIllustratedMessage();
847
958
  oEvent.preventDefault();
848
959
  if (this.getUploadEnabled()) {
849
960
  oFiles = oEvent.getParameter("browserEvent").dataTransfer.files;
@@ -858,6 +969,10 @@ sap.ui.define([
858
969
  }
859
970
  };
860
971
 
972
+ UploadSet.prototype._getDragIndicator = function () {
973
+ return this._oDragIndicator;
974
+ };
975
+
861
976
  /**
862
977
  * Starts uploading all files that comply with the restrictions defined in the <code>fileTypes</code>,
863
978
  * <code>maxFileNameLength</code>, <code>maxFileSize</code>, and <code>mediaTypes</code> properties.
@@ -1009,7 +1124,7 @@ sap.ui.define([
1009
1124
 
1010
1125
  /**
1011
1126
  * 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.
1127
+ * @param {sap.m.upload.UploadSetItem} item The UploadSetItem to update with a new version. This parameter is mandatory.
1013
1128
  * @returns {this} this to allow method chaining
1014
1129
  * @since 1.103.0
1015
1130
  * @public
@@ -1153,7 +1268,7 @@ sap.ui.define([
1153
1268
  * Removes the error state from the list item. Used when the name of the file has been corrected.
1154
1269
  * @private
1155
1270
  * @param {object} oContext The UploadSet instance on which an attempt was made to save a new name of an existing List item.
1156
- * @param {sap.m.UploadSetItem} oItem The List item on which the event was triggered.
1271
+ * @param {sap.m.upload.UploadSetItem} oItem The List item on which the event was triggered.
1157
1272
  */
1158
1273
  UploadSet.prototype._removeErrorStateFromItem = function(oContext, oItem) {
1159
1274
  oItem.errorState = null;
@@ -1518,7 +1633,7 @@ sap.ui.define([
1518
1633
  /**
1519
1634
  * Returns UploadSetItem based on the items aggregation
1520
1635
  * @param {string} uploadSetItemId used for finding the UploadSetItem
1521
- * @returns {sap.m.UploadSetItem} The matching UploadSetItem
1636
+ * @returns {sap.m.upload.UploadSetItem} The matching UploadSetItem
1522
1637
  * @private
1523
1638
  */
1524
1639
  UploadSet.prototype._getUploadSetItemById = function(uploadSetItemId) {
@@ -1534,7 +1649,7 @@ sap.ui.define([
1534
1649
  /**
1535
1650
  * Returns an array of UploadSet items based on the items aggregation
1536
1651
  * @param {sap.m.ListItemBase[]} listItems The list items used for finding the UploadSetItems
1537
- * @returns {sap.m.UploadSetItem[]} The matching UploadSetItems
1652
+ * @returns {sap.m.upload.UploadSetItem[]} The matching UploadSetItems
1538
1653
  * @private
1539
1654
  */
1540
1655
  UploadSet.prototype._getUploadSetItemsByListItems = function(listItems) {
@@ -1569,7 +1684,7 @@ sap.ui.define([
1569
1684
 
1570
1685
  /**
1571
1686
  * Map group for item.
1572
- * @param {sap.m.UploadSetItem} item The UploadSetItem to map group
1687
+ * @param {sap.m.upload.UploadSetItem} item The UploadSetItem to map group
1573
1688
  * @private
1574
1689
  */
1575
1690
  UploadSet.prototype._mapGroupForItem = function(item) {
@@ -1598,7 +1713,7 @@ sap.ui.define([
1598
1713
 
1599
1714
  /**
1600
1715
  * Fills list with uploadSet items.
1601
- * @param {sap.m.UploadSetItem[]} aItems The UploadSetItems the internal list is to be filled with
1716
+ * @param {sap.m.upload.UploadSetItem[]} aItems The UploadSetItems the internal list is to be filled with
1602
1717
  * @private
1603
1718
  */
1604
1719
  UploadSet.prototype._fillListWithUploadSetItems = function (aItems){
@@ -1634,5 +1749,167 @@ sap.ui.define([
1634
1749
  this._oToolbar.getContent()[this._iFileUploaderPH].setVisible(false);
1635
1750
  this._oToolbar.insertContent(fileUploader, this._iFileUploaderPH);
1636
1751
  };
1752
+
1753
+ /**
1754
+ * Returns CloudFile picker button
1755
+ * @return {sap.m.Button} CloudPicker button
1756
+ * @private
1757
+ */
1758
+ UploadSet.prototype._getCloudFilePicker = function() {
1759
+ if (this.getCloudFilePickerEnabled()) {
1760
+ return new Button({
1761
+ text: this.getCloudFilePickerButtonText() ? this.getCloudFilePickerButtonText() : this._oRb.getText("UPLOAD_SET_DEFAULT_CFP_BUTTON_TEXT"),
1762
+ press: [this._invokeCloudFilePicker, this]
1763
+ });
1764
+ }
1765
+ return null;
1766
+ };
1767
+
1768
+ /**
1769
+ * Creates and invokes CloudFilePicker control instance
1770
+ * @private
1771
+ * @returns {Object} cloudFile picker instance
1772
+ */
1773
+ UploadSet.prototype._invokeCloudFilePicker = function() {
1774
+ var oCloudFilePickerInstance = null;
1775
+ if (this._cloudFilePickerControl) {
1776
+ oCloudFilePickerInstance = this._getCloudFilePickerInstance();
1777
+ oCloudFilePickerInstance.open();
1778
+ } else {
1779
+ // Dynamically load and cache CloudFilePicker control for first time
1780
+ this._loadCloudFilePickerDependency()
1781
+ .then(function(cloudFilePicker){
1782
+ this._cloudFilePickerControl = cloudFilePicker;
1783
+ oCloudFilePickerInstance = this._getCloudFilePickerInstance();
1784
+ oCloudFilePickerInstance.open();
1785
+ }.bind(this))
1786
+ .catch(function(error) {
1787
+ Log.error(error);
1788
+ });
1789
+ }
1790
+ return oCloudFilePickerInstance;
1791
+ };
1792
+
1793
+ /**
1794
+ * Event handler for CloudFile picker selector
1795
+ * @param {Object} oEvent CloudFile picker file selection DOM change event
1796
+ * @private
1797
+ */
1798
+ UploadSet.prototype._onCloudPickerFileChange = function(oEvent) {
1799
+
1800
+ var mParameters = oEvent.getParameters();
1801
+ var aFiles = [];
1802
+ if (mParameters && mParameters.selectedFiles) {
1803
+ mParameters.selectedFiles.forEach(function (file) {
1804
+ aFiles.push(this._createFileFromCloudPickerFile(file));
1805
+ }.bind(this));
1806
+ }
1807
+
1808
+ // invoking this method to handle file uploads
1809
+ this._processNewCloudPickerFileObjects(aFiles);
1810
+ };
1811
+
1812
+ /**
1813
+ * Creates file object that is to be uploaded from the CloudFilePicker file object
1814
+ * @param {sap.suite.ui.commons.CloudFileInfo} oCloudFile CloudFilepicker file object
1815
+ * @returns {Object} file metadata with file object and fileshare properties
1816
+ * @private
1817
+ */
1818
+ UploadSet.prototype._createFileFromCloudPickerFile = function(oCloudFile) {
1819
+ var parts = [new Blob([])];
1820
+ var oFileMetaData = {
1821
+ type: oCloudFile.getFileShareItemContentType(),
1822
+ size: oCloudFile.getFileShareItemContentSize(),
1823
+ webkitRelativePath: '',
1824
+ name: oCloudFile.getFileShareItemName()
1825
+ };
1826
+ var oFile = new File(parts, oCloudFile.getFileShareItemName(), oFileMetaData);
1827
+ return {
1828
+ file: oFile,
1829
+ fileShareProperties: oCloudFile.mProperties
1830
+ };
1831
+ };
1832
+
1833
+ /**
1834
+ * Maps the UploadSetItem with fileShare properties from the CloudFilePicker
1835
+ * @param {sap.m.UploadSetItem} oItem UploadSetItem to be mapped
1836
+ * @param {Object} oFileShareItem fileshare properties used for mapping
1837
+ * @private
1838
+ */
1839
+ UploadSet.prototype._mapFileShareItemToUploadSetItem = function(oItem, oFileShareItem) {
1840
+ oItem.setFileName(oFileShareItem.fileShareItemName);
1841
+ oItem.setUrl(oFileShareItem.fileShareItemContentLink);
1842
+ };
1843
+
1844
+ /**
1845
+ * Processing and uploading of file objects selected from the CloudFilePicker
1846
+ * @param {Array} oFiles File metadata list containing file to be uploaded and fileshare properties used for mapping
1847
+ * @private
1848
+ */
1849
+ UploadSet.prototype._processNewCloudPickerFileObjects = function (oFiles) {
1850
+ var oItem;
1851
+
1852
+ oFiles.forEach(function (oFileMetaData) {
1853
+ var oFile = oFileMetaData.file,
1854
+ oFileShareProperties = oFileMetaData.fileShareProperties;
1855
+ oItem = new UploadSetItem({
1856
+ uploadState: UploadState.Ready
1857
+ });
1858
+ if (oFileShareProperties && oFileShareProperties !== null) {
1859
+ // invoked and each selected file to map the fileshare properties to uploadsetItem to be uploaded
1860
+ this._mapFileShareItemToUploadSetItem(oItem, oFileShareProperties);
1861
+ }
1862
+ oItem._setFileObject(oFile);
1863
+ oItem.setFileName(oFile.name);//For handling curly braces in file name we have to use setter.Otherwise it will be treated as binding.
1864
+
1865
+ if (!this.fireBeforeItemAdded({item: oItem})) {
1866
+ return;
1867
+ }
1868
+ this.insertIncompleteItem(oItem);
1869
+ this.fireAfterItemAdded({item: oItem});
1870
+
1871
+ if (this.getInstantUpload()) {
1872
+ this._uploadItemIfGoodToGo(oItem);
1873
+ }
1874
+ }.bind(this));
1875
+ };
1876
+
1877
+ /**
1878
+ * Dynamically require CloudFilePicker Control
1879
+ * @returns {Promise} Promise that resolves on sucessful load of CloudFilePicker control
1880
+ * @private
1881
+ */
1882
+ UploadSet.prototype._loadCloudFilePickerDependency = function() {
1883
+ return new Promise(function (resolve, reject) {
1884
+ Core.loadLibrary("sap.suite.ui.commons", { async: true })
1885
+ .then(function() {
1886
+ sap.ui.require(["sap/suite/ui/commons/CloudFilePicker"], function(cloudFilePicker) {
1887
+ resolve(cloudFilePicker);
1888
+ }, function (error) {
1889
+ reject(error);
1890
+ });
1891
+ })
1892
+ .catch(function () {
1893
+ reject("CloudFilePicker Control not available.");
1894
+ });
1895
+ });
1896
+ };
1897
+
1898
+ /**
1899
+ * Creates CloudFilePicker Instance
1900
+ * @returns {sap.suite.ui.commons.CloudFilePicker} CloudFilePicker instance
1901
+ * @private
1902
+ */
1903
+ UploadSet.prototype._getCloudFilePickerInstance = function() {
1904
+ return new this._cloudFilePickerControl({
1905
+ serviceUrl: this.getCloudFilePickerServiceUrl(),
1906
+ confirmButtonText: this._oRb.getText("SELECT_PICKER_TITLE_TEXT"),
1907
+ title: this._oRb.getText("SELECT_PICKER_TITLE_TEXT"),
1908
+ fileNameMandatory: true,
1909
+ enableDuplicateCheck:this.getSameFilenameAllowed(),
1910
+ select: this._onCloudPickerFileChange.bind(this)
1911
+ });
1912
+ };
1913
+
1637
1914
  return UploadSet;
1638
- });
1915
+ });
@@ -11,9 +11,7 @@ sap.ui.define([
11
11
  "sap/ui/core/Icon",
12
12
  "sap/ui/core/IconPool",
13
13
  "sap/ui/core/HTML",
14
- "sap/ui/core/util/File",
15
14
  "sap/m/library",
16
- "sap/m/BusyIndicator",
17
15
  "sap/m/Button",
18
16
  "sap/m/CustomListItem",
19
17
  "sap/m/Image",
@@ -23,8 +21,8 @@ sap.ui.define([
23
21
  "sap/m/ProgressIndicator",
24
22
  "sap/m/VBox",
25
23
  "sap/m/HBox"
26
- ], function (Log, CoreLibrary, Element, Icon, IconPool, HTML, FileUtil,
27
- MobileLibrary, BusyIndicator, Button, CustomListItem, Image, Input, Label, Link, ProgressIndicator, VBox,
24
+ ], function (Log, CoreLibrary, Element, Icon, IconPool, HTML,
25
+ MobileLibrary, Button, CustomListItem, Image, Input, Label, Link, ProgressIndicator, VBox,
28
26
  HBox) {
29
27
  "use strict";
30
28
 
@@ -36,7 +34,7 @@ sap.ui.define([
36
34
  * @class Item that represents one file to be uploaded using the {@link sap.m.upload.UploadSet} control.
37
35
  * @extends sap.ui.core.Element
38
36
  * @author SAP SE
39
- * @version 1.103.1
37
+ * @version 1.106.0
40
38
  * @constructor
41
39
  * @public
42
40
  * @since 1.63
@@ -452,7 +450,7 @@ sap.ui.define([
452
450
  * Validates if the item is restricted, which means that it is restricted for the file type, media type, maximum file name length and maximum file size limit.
453
451
  *
454
452
  * @public
455
- * @since 1.98
453
+ * @since 1.98
456
454
  * @returns {boolean} <code>true</code> if item is restricted, <code>false</code> otherwise.
457
455
  *
458
456
  */
@@ -460,6 +458,18 @@ sap.ui.define([
460
458
  return this._isRestricted();
461
459
  };
462
460
 
461
+ /**
462
+ * Returns edit state of the item.
463
+ *
464
+ * @public
465
+ * @since 1.104.0
466
+ * @returns {boolean} edit state of uploadSetItem
467
+ *
468
+ */
469
+ UploadSetItem.prototype.getEditState = function () {
470
+ return this._bInEditMode;
471
+ };
472
+
463
473
  /* ============== */
464
474
  /* Event handlers */
465
475
  /* ============== */
@@ -483,6 +493,7 @@ sap.ui.define([
483
493
  ]
484
494
  });
485
495
  this._oListItem.addStyleClass("sapMUCItem");
496
+ this._oListItem.setTooltip(this.getTooltip_Text());
486
497
  }
487
498
 
488
499
  return this._oListItem;
@@ -699,7 +710,7 @@ sap.ui.define([
699
710
  * Retrieves the sap.m.ListItem from the internal sap.m.List based on the ID
700
711
  * @param {string} listItemId The item ID used for finding the UploadSetItem
701
712
  * @param {sap.m.ListItemBase[]} listItems The array of list items to search in
702
- * @returns {sap.m.UploadSetItem|null} The matching UploadSetItem or null if none is found
713
+ * @returns {sap.m.upload.UploadSetItem|null} The matching UploadSetItem or null if none is found
703
714
  * @private
704
715
  */
705
716
  UploadSetItem._findById = function(listItemId, listItems) {
@@ -54,29 +54,21 @@ sap.ui.define([
54
54
 
55
55
  UploadSetRenderer.renderNoData = function(oRm, oControl) {
56
56
  var oUploadSet = oControl.getParent();
57
+ oUploadSet.fnOriginalRenderDummyArea = oUploadSet.getList().getRenderer().renderDummyArea;
58
+ oUploadSet.getList().getRenderer().renderDummyArea = oUploadSet.getRenderer().renderDummyArea;
57
59
  oRm.openStart("li", oUploadSet.getList().getId("nodata"));
58
60
  oRm.attr("tabindex", 0);
59
61
  oRm.class("sapMLIB").class("sapMUCNoDataPage");
60
62
  ListItemBaseRenderer.addFocusableClasses.call(ListItemBaseRenderer, oRm);
61
63
  oRm.openEnd();
62
-
63
- oRm.renderControl(oUploadSet._oNoDataIcon);
64
-
65
- oRm.openStart("div", oUploadSet.getId() + "-no-data-text");
66
- oRm.class("sapMUCNoDataText");
67
- oRm.openEnd();
68
- oRm.text(oUploadSet.getNoDataText());
69
- oRm.close("div");
70
-
71
- if (oUploadSet.getUploadEnabled()) {
72
- oRm.openStart("div" , oUploadSet.getId() + "-no-data-description");
73
- oRm.class("sapMUCNoDataDescription");
74
- oRm.openEnd();
75
- oRm.text(oUploadSet.getNoDataDescription());
76
- oRm.close("div");
77
- }
64
+ oRm.renderControl(oUploadSet._getIllustratedMessage());
78
65
  oRm.close("li");
79
66
  };
80
67
 
68
+ UploadSetRenderer.renderDummyArea = function(oRm, oControl, sAreaId, iTabIndex) {
69
+ var oUploadSet = oControl.getParent();
70
+ oUploadSet.getList().getRenderer().renderDummyArea = oUploadSet.fnOriginalRenderDummyArea;
71
+ };
72
+
81
73
  return UploadSetRenderer;
82
74
  });
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.core.Control
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.103.1
25
+ * @version 1.106.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -10,10 +10,9 @@ sap.ui.define([
10
10
  "sap/ui/core/Element",
11
11
  "sap/ui/core/util/File",
12
12
  "sap/ui/Device",
13
- "sap/ui/core/Item",
14
13
  "sap/m/upload/UploadSetItem",
15
14
  "sap/m/upload/UploaderHttpRequestMethod"
16
- ], function (Log, MobileLibrary, Element, FileUtil, Device, HeaderField, UploadSetItem, UploaderHttpRequestMethod) {
15
+ ], function (Log, MobileLibrary, Element, FileUtil, Device, UploadSetItem, UploaderHttpRequestMethod) {
17
16
  "use strict";
18
17
 
19
18
  /**