@openui5/sap.m 1.113.0 → 1.114.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +1 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +1 -1
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/ActionTile.js +1 -1
  9. package/src/sap/m/ActionTileContent.js +1 -1
  10. package/src/sap/m/AdditionalTextButton.js +1 -1
  11. package/src/sap/m/App.js +1 -1
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +1 -1
  14. package/src/sap/m/Bar.js +1 -1
  15. package/src/sap/m/Breadcrumbs.js +1 -1
  16. package/src/sap/m/BusyDialog.js +5 -3
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +19 -3
  19. package/src/sap/m/ButtonRenderer.js +9 -1
  20. package/src/sap/m/Carousel.js +3 -4
  21. package/src/sap/m/CarouselLayout.js +1 -1
  22. package/src/sap/m/CheckBox.js +1 -1
  23. package/src/sap/m/ColorPalette.js +1 -1
  24. package/src/sap/m/ColorPalettePopover.js +1 -1
  25. package/src/sap/m/Column.js +1 -1
  26. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  27. package/src/sap/m/ColumnListItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  33. package/src/sap/m/ComboBox.js +14 -3
  34. package/src/sap/m/ComboBoxBase.js +1 -1
  35. package/src/sap/m/ComboBoxTextField.js +1 -1
  36. package/src/sap/m/CustomListItem.js +1 -1
  37. package/src/sap/m/CustomTile.js +1 -1
  38. package/src/sap/m/CustomTreeItem.js +1 -1
  39. package/src/sap/m/DatePicker.js +48 -18
  40. package/src/sap/m/DateRangeSelection.js +71 -32
  41. package/src/sap/m/DateTimeField.js +19 -14
  42. package/src/sap/m/DateTimeInput.js +6 -4
  43. package/src/sap/m/DateTimePicker.js +42 -11
  44. package/src/sap/m/Dialog.js +2 -2
  45. package/src/sap/m/DisplayListItem.js +1 -1
  46. package/src/sap/m/DraftIndicator.js +1 -1
  47. package/src/sap/m/DynamicDate.js +5 -6
  48. package/src/sap/m/DynamicDateFormat.js +10 -7
  49. package/src/sap/m/DynamicDateOption.js +12 -6
  50. package/src/sap/m/DynamicDateRange.js +268 -45
  51. package/src/sap/m/DynamicDateUtil.js +5 -5
  52. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -2
  53. package/src/sap/m/ExpandableText.js +1 -1
  54. package/src/sap/m/FacetFilter.js +7 -5
  55. package/src/sap/m/FacetFilterItem.js +1 -1
  56. package/src/sap/m/FacetFilterList.js +1 -1
  57. package/src/sap/m/FeedContent.js +1 -1
  58. package/src/sap/m/FeedInput.js +1 -1
  59. package/src/sap/m/FeedListItem.js +11 -4
  60. package/src/sap/m/FeedListItemAction.js +1 -1
  61. package/src/sap/m/Fiori20Adapter.js +2 -2
  62. package/src/sap/m/FlexBox.js +1 -1
  63. package/src/sap/m/FlexItemData.js +1 -1
  64. package/src/sap/m/FormattedText.js +42 -51
  65. package/src/sap/m/GenericTag.js +1 -1
  66. package/src/sap/m/GenericTile.js +23 -23
  67. package/src/sap/m/GroupHeaderListItem.js +1 -1
  68. package/src/sap/m/GrowingEnablement.js +2 -4
  69. package/src/sap/m/GrowingList.js +1 -1
  70. package/src/sap/m/HBox.js +1 -1
  71. package/src/sap/m/HeaderContainer.js +11 -5
  72. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  73. package/src/sap/m/IconTabBar.js +1 -1
  74. package/src/sap/m/IconTabBarSelectList.js +1 -1
  75. package/src/sap/m/IconTabFilter.js +5 -6
  76. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  77. package/src/sap/m/IconTabHeader.js +1 -1
  78. package/src/sap/m/IconTabSeparator.js +5 -8
  79. package/src/sap/m/IllustratedMessage.js +30 -2
  80. package/src/sap/m/Illustration.js +1 -1
  81. package/src/sap/m/IllustrationRenderer.js +0 -2
  82. package/src/sap/m/Image.js +1 -1
  83. package/src/sap/m/ImageContent.js +1 -1
  84. package/src/sap/m/ImageHelper.js +110 -0
  85. package/src/sap/m/Input.js +3 -2
  86. package/src/sap/m/InputBase.js +1 -1
  87. package/src/sap/m/InputListItem.js +1 -1
  88. package/src/sap/m/Label.js +1 -1
  89. package/src/sap/m/LightBox.js +1 -1
  90. package/src/sap/m/LightBoxItem.js +1 -1
  91. package/src/sap/m/Link.js +7 -16
  92. package/src/sap/m/List.js +1 -1
  93. package/src/sap/m/ListBase.js +6 -2
  94. package/src/sap/m/ListItemBase.js +10 -3
  95. package/src/sap/m/MaskEnabler.js +1 -1
  96. package/src/sap/m/MaskInput.js +1 -1
  97. package/src/sap/m/MaskInputRule.js +1 -1
  98. package/src/sap/m/Menu.js +1 -1
  99. package/src/sap/m/MenuButton.js +1 -1
  100. package/src/sap/m/MenuItem.js +1 -1
  101. package/src/sap/m/MenuListItem.js +1 -1
  102. package/src/sap/m/MessageItem.js +1 -1
  103. package/src/sap/m/MessageListItem.js +4 -5
  104. package/src/sap/m/MessagePage.js +1 -1
  105. package/src/sap/m/MessagePopover.js +1 -1
  106. package/src/sap/m/MessagePopoverItem.js +1 -1
  107. package/src/sap/m/MessageStrip.js +1 -1
  108. package/src/sap/m/MessageToast.js +78 -10
  109. package/src/sap/m/MessageView.js +1 -1
  110. package/src/sap/m/MultiComboBox.js +24 -5
  111. package/src/sap/m/MultiEditField.js +1 -1
  112. package/src/sap/m/MultiInput.js +1 -1
  113. package/src/sap/m/NavContainer.js +1 -1
  114. package/src/sap/m/NewsContent.js +1 -1
  115. package/src/sap/m/NotificationList.js +1 -1
  116. package/src/sap/m/NotificationListBase.js +1 -1
  117. package/src/sap/m/NotificationListGroup.js +1 -1
  118. package/src/sap/m/NotificationListItem.js +1 -1
  119. package/src/sap/m/NumericContent.js +1 -1
  120. package/src/sap/m/NumericInput.js +1 -1
  121. package/src/sap/m/ObjectAttribute.js +6 -6
  122. package/src/sap/m/ObjectHeader.js +5 -5
  123. package/src/sap/m/ObjectIdentifier.js +1 -1
  124. package/src/sap/m/ObjectListItem.js +5 -6
  125. package/src/sap/m/ObjectMarker.js +1 -1
  126. package/src/sap/m/ObjectNumber.js +1 -1
  127. package/src/sap/m/ObjectStatus.js +4 -7
  128. package/src/sap/m/OverflowToolbar.js +7 -1
  129. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  130. package/src/sap/m/OverflowToolbarButton.js +1 -1
  131. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  132. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  133. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  134. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  135. package/src/sap/m/P13nColumnsItem.js +1 -1
  136. package/src/sap/m/P13nColumnsPanel.js +1 -1
  137. package/src/sap/m/P13nConditionPanel.js +1 -1
  138. package/src/sap/m/P13nDialog.js +1 -1
  139. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  140. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  141. package/src/sap/m/P13nFilterItem.js +1 -1
  142. package/src/sap/m/P13nFilterPanel.js +1 -1
  143. package/src/sap/m/P13nGroupItem.js +1 -1
  144. package/src/sap/m/P13nGroupPanel.js +1 -1
  145. package/src/sap/m/P13nItem.js +1 -1
  146. package/src/sap/m/P13nPanel.js +1 -1
  147. package/src/sap/m/P13nSelectionItem.js +1 -1
  148. package/src/sap/m/P13nSelectionPanel.js +1 -1
  149. package/src/sap/m/P13nSortItem.js +1 -1
  150. package/src/sap/m/P13nSortPanel.js +1 -1
  151. package/src/sap/m/PDFViewer.js +1 -1
  152. package/src/sap/m/Page.js +2 -2
  153. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  154. package/src/sap/m/PagingButton.js +1 -1
  155. package/src/sap/m/Panel.js +1 -1
  156. package/src/sap/m/PlanningCalendar.js +11 -11
  157. package/src/sap/m/PlanningCalendarHeader.js +3 -3
  158. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  159. package/src/sap/m/PlanningCalendarRow.js +15 -15
  160. package/src/sap/m/PlanningCalendarView.js +1 -1
  161. package/src/sap/m/Popover.js +3 -3
  162. package/src/sap/m/ProgressIndicator.js +1 -1
  163. package/src/sap/m/PullToRefresh.js +4 -10
  164. package/src/sap/m/QuickView.js +1 -1
  165. package/src/sap/m/QuickViewBase.js +1 -1
  166. package/src/sap/m/QuickViewCard.js +1 -1
  167. package/src/sap/m/QuickViewGroup.js +1 -1
  168. package/src/sap/m/QuickViewGroupElement.js +1 -1
  169. package/src/sap/m/QuickViewPage.js +1 -1
  170. package/src/sap/m/RadioButton.js +1 -1
  171. package/src/sap/m/RadioButtonGroup.js +2 -1
  172. package/src/sap/m/RangeSlider.js +1 -1
  173. package/src/sap/m/RatingIndicator.js +1 -1
  174. package/src/sap/m/ResponsivePopover.js +1 -1
  175. package/src/sap/m/ResponsiveScale.js +1 -1
  176. package/src/sap/m/ScrollBar.js +1 -1
  177. package/src/sap/m/ScrollContainer.js +1 -1
  178. package/src/sap/m/SearchField.js +17 -7
  179. package/src/sap/m/SegmentedButton.js +1 -1
  180. package/src/sap/m/SegmentedButtonItem.js +1 -1
  181. package/src/sap/m/Select.js +1 -1
  182. package/src/sap/m/SelectDialog.js +1 -1
  183. package/src/sap/m/SelectDialogBase.js +1 -1
  184. package/src/sap/m/SelectList.js +1 -1
  185. package/src/sap/m/SelectionDetails.js +1 -1
  186. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  187. package/src/sap/m/SelectionDetailsItem.js +2 -2
  188. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  189. package/src/sap/m/Shell.js +4 -3
  190. package/src/sap/m/SimpleFixFlex.js +1 -1
  191. package/src/sap/m/SinglePlanningCalendar.js +44 -15
  192. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  193. package/src/sap/m/SinglePlanningCalendarGrid.js +13 -13
  194. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +9 -9
  195. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  196. package/src/sap/m/SinglePlanningCalendarView.js +2 -2
  197. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  199. package/src/sap/m/SlideTile.js +1 -1
  200. package/src/sap/m/Slider.js +4 -4
  201. package/src/sap/m/SliderTooltip.js +1 -1
  202. package/src/sap/m/SliderTooltipBase.js +1 -1
  203. package/src/sap/m/SliderTooltipContainer.js +1 -1
  204. package/src/sap/m/SplitApp.js +1 -1
  205. package/src/sap/m/SplitButton.js +1 -1
  206. package/src/sap/m/SplitContainer.js +1 -1
  207. package/src/sap/m/StandardDynamicDateOption.js +2 -3
  208. package/src/sap/m/StandardListItem.js +1 -1
  209. package/src/sap/m/StandardTile.js +4 -9
  210. package/src/sap/m/StandardTreeItem.js +1 -1
  211. package/src/sap/m/StepInput.js +1 -1
  212. package/src/sap/m/SuggestionItem.js +1 -1
  213. package/src/sap/m/SuggestionsPopover.js +1 -1
  214. package/src/sap/m/Switch.js +1 -1
  215. package/src/sap/m/TabContainer.js +1 -1
  216. package/src/sap/m/TabContainerItem.js +3 -6
  217. package/src/sap/m/TabStrip.js +1 -1
  218. package/src/sap/m/TabStripItem.js +3 -6
  219. package/src/sap/m/Table.js +5 -4
  220. package/src/sap/m/TablePersoController.js +1 -1
  221. package/src/sap/m/TablePersoDialog.js +1 -1
  222. package/src/sap/m/TablePersoProvider.js +1 -1
  223. package/src/sap/m/TableSelectDialog.js +1 -1
  224. package/src/sap/m/Text.js +1 -1
  225. package/src/sap/m/TextArea.js +1 -1
  226. package/src/sap/m/Tile.js +1 -1
  227. package/src/sap/m/TileContainer.js +1 -1
  228. package/src/sap/m/TileContent.js +8 -8
  229. package/src/sap/m/TileContentRenderer.js +1 -6
  230. package/src/sap/m/TimePicker.js +38 -8
  231. package/src/sap/m/TimePickerClock.js +1 -1
  232. package/src/sap/m/TimePickerClocks.js +4 -4
  233. package/src/sap/m/TimePickerClocksRenderer.js +7 -9
  234. package/src/sap/m/TimePickerInputs.js +10 -8
  235. package/src/sap/m/TimePickerInputsRenderer.js +7 -6
  236. package/src/sap/m/TimePickerInternals.js +15 -2
  237. package/src/sap/m/TimePickerSlider.js +1 -1
  238. package/src/sap/m/TimePickerSliders.js +7 -5
  239. package/src/sap/m/Title.js +1 -1
  240. package/src/sap/m/TitlePropagationSupport.js +1 -1
  241. package/src/sap/m/ToggleButton.js +1 -1
  242. package/src/sap/m/Token.js +1 -1
  243. package/src/sap/m/Tokenizer.js +1 -1
  244. package/src/sap/m/Toolbar.js +1 -1
  245. package/src/sap/m/ToolbarLayoutData.js +1 -1
  246. package/src/sap/m/ToolbarSeparator.js +1 -1
  247. package/src/sap/m/ToolbarSpacer.js +1 -1
  248. package/src/sap/m/Tree.js +7 -1
  249. package/src/sap/m/TreeItemBase.js +1 -1
  250. package/src/sap/m/UploadCollection.js +1 -1
  251. package/src/sap/m/UploadCollectionItem.js +1 -1
  252. package/src/sap/m/UploadCollectionParameter.js +1 -1
  253. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  254. package/src/sap/m/VBox.js +10 -1
  255. package/src/sap/m/ValueStateHeader.js +1 -1
  256. package/src/sap/m/VariantManagement.js +77 -78
  257. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  258. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  259. package/src/sap/m/ViewSettingsDialog.js +1 -1
  260. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  261. package/src/sap/m/ViewSettingsItem.js +1 -1
  262. package/src/sap/m/VisibleItem.js +1 -1
  263. package/src/sap/m/WheelSlider.js +1 -1
  264. package/src/sap/m/WheelSliderContainer.js +1 -1
  265. package/src/sap/m/Wizard.js +1 -1
  266. package/src/sap/m/WizardProgressNavigator.js +1 -1
  267. package/src/sap/m/WizardStep.js +1 -1
  268. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  269. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  270. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  271. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  272. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  273. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  274. package/src/sap/m/delegate/DateNavigation.js +1 -1
  275. package/src/sap/m/designtime/PersistenceProvider.designtime.js +21 -0
  276. package/src/sap/m/library.js +25 -90
  277. package/src/sap/m/messagebundle.properties +15 -0
  278. package/src/sap/m/messagebundle_ar.properties +10 -0
  279. package/src/sap/m/messagebundle_bg.properties +10 -0
  280. package/src/sap/m/messagebundle_ca.properties +10 -0
  281. package/src/sap/m/messagebundle_cs.properties +11 -1
  282. package/src/sap/m/messagebundle_cy.properties +10 -0
  283. package/src/sap/m/messagebundle_da.properties +10 -0
  284. package/src/sap/m/messagebundle_de.properties +12 -2
  285. package/src/sap/m/messagebundle_el.properties +10 -0
  286. package/src/sap/m/messagebundle_en.properties +10 -0
  287. package/src/sap/m/messagebundle_en_GB.properties +10 -0
  288. package/src/sap/m/messagebundle_en_US_sappsd.properties +10 -0
  289. package/src/sap/m/messagebundle_en_US_saprigi.properties +10 -0
  290. package/src/sap/m/messagebundle_es.properties +10 -0
  291. package/src/sap/m/messagebundle_es_MX.properties +10 -0
  292. package/src/sap/m/messagebundle_et.properties +10 -0
  293. package/src/sap/m/messagebundle_fi.properties +10 -0
  294. package/src/sap/m/messagebundle_fr.properties +10 -0
  295. package/src/sap/m/messagebundle_fr_CA.properties +10 -0
  296. package/src/sap/m/messagebundle_hi.properties +10 -0
  297. package/src/sap/m/messagebundle_hr.properties +10 -0
  298. package/src/sap/m/messagebundle_hu.properties +10 -0
  299. package/src/sap/m/messagebundle_id.properties +10 -0
  300. package/src/sap/m/messagebundle_it.properties +13 -3
  301. package/src/sap/m/messagebundle_iw.properties +10 -0
  302. package/src/sap/m/messagebundle_ja.properties +11 -1
  303. package/src/sap/m/messagebundle_kk.properties +10 -0
  304. package/src/sap/m/messagebundle_ko.properties +11 -1
  305. package/src/sap/m/messagebundle_lt.properties +10 -0
  306. package/src/sap/m/messagebundle_lv.properties +10 -0
  307. package/src/sap/m/messagebundle_ms.properties +11 -1
  308. package/src/sap/m/messagebundle_nl.properties +10 -0
  309. package/src/sap/m/messagebundle_no.properties +10 -0
  310. package/src/sap/m/messagebundle_pl.properties +10 -0
  311. package/src/sap/m/messagebundle_pt.properties +10 -0
  312. package/src/sap/m/messagebundle_pt_PT.properties +10 -0
  313. package/src/sap/m/messagebundle_ro.properties +10 -0
  314. package/src/sap/m/messagebundle_ru.properties +10 -0
  315. package/src/sap/m/messagebundle_sh.properties +10 -0
  316. package/src/sap/m/messagebundle_sk.properties +10 -0
  317. package/src/sap/m/messagebundle_sl.properties +10 -0
  318. package/src/sap/m/messagebundle_sv.properties +10 -0
  319. package/src/sap/m/messagebundle_th.properties +10 -0
  320. package/src/sap/m/messagebundle_tr.properties +10 -0
  321. package/src/sap/m/messagebundle_uk.properties +10 -0
  322. package/src/sap/m/messagebundle_vi.properties +10 -0
  323. package/src/sap/m/messagebundle_zh_CN.properties +10 -0
  324. package/src/sap/m/messagebundle_zh_TW.properties +10 -0
  325. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  326. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  327. package/src/sap/m/p13n/BasePanel.js +1 -1
  328. package/src/sap/m/p13n/Container.js +1 -1
  329. package/src/sap/m/p13n/Engine.js +8 -4
  330. package/src/sap/m/p13n/GroupController.js +1 -1
  331. package/src/sap/m/p13n/GroupPanel.js +1 -1
  332. package/src/sap/m/p13n/PersistenceProvider.js +1 -1
  333. package/src/sap/m/p13n/Popup.js +7 -1
  334. package/src/sap/m/p13n/QueryPanel.js +1 -1
  335. package/src/sap/m/p13n/SelectionController.js +14 -13
  336. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  337. package/src/sap/m/p13n/SortController.js +1 -1
  338. package/src/sap/m/p13n/SortPanel.js +1 -1
  339. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  340. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  341. package/src/sap/m/p13n/modules/UIManager.js +19 -9
  342. package/src/sap/m/plugins/CellSelector.js +1 -1
  343. package/src/sap/m/plugins/ColumnResizer.js +9 -1
  344. package/src/sap/m/plugins/CopyProvider.js +122 -5
  345. package/src/sap/m/plugins/DataStateIndicator.js +14 -2
  346. package/src/sap/m/plugins/PasteProvider.js +1 -1
  347. package/src/sap/m/plugins/PluginBase.js +1 -1
  348. package/src/sap/m/semantic/AddAction.js +1 -1
  349. package/src/sap/m/semantic/CancelAction.js +1 -1
  350. package/src/sap/m/semantic/DeleteAction.js +1 -1
  351. package/src/sap/m/semantic/DetailPage.js +1 -1
  352. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  353. package/src/sap/m/semantic/EditAction.js +1 -1
  354. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  355. package/src/sap/m/semantic/FilterAction.js +1 -1
  356. package/src/sap/m/semantic/FilterSelect.js +1 -1
  357. package/src/sap/m/semantic/FlagAction.js +1 -1
  358. package/src/sap/m/semantic/ForwardAction.js +1 -1
  359. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  360. package/src/sap/m/semantic/GroupAction.js +1 -1
  361. package/src/sap/m/semantic/GroupSelect.js +1 -1
  362. package/src/sap/m/semantic/MainAction.js +1 -1
  363. package/src/sap/m/semantic/MasterPage.js +1 -1
  364. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  365. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  366. package/src/sap/m/semantic/NegativeAction.js +1 -1
  367. package/src/sap/m/semantic/OpenInAction.js +1 -1
  368. package/src/sap/m/semantic/PositiveAction.js +1 -1
  369. package/src/sap/m/semantic/PrintAction.js +1 -1
  370. package/src/sap/m/semantic/SaveAction.js +1 -1
  371. package/src/sap/m/semantic/Segment.js +1 -1
  372. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  373. package/src/sap/m/semantic/SemanticButton.js +1 -1
  374. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  375. package/src/sap/m/semantic/SemanticControl.js +1 -1
  376. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  377. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  378. package/src/sap/m/semantic/SemanticPage.js +1 -1
  379. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  380. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  381. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  382. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  383. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  384. package/src/sap/m/semantic/ShareMenu.js +1 -1
  385. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  386. package/src/sap/m/semantic/SortAction.js +1 -1
  387. package/src/sap/m/semantic/SortSelect.js +1 -1
  388. package/src/sap/m/table/Util.js +57 -3
  389. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  390. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  391. package/src/sap/m/table/columnmenu/Item.js +1 -1
  392. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  393. package/src/sap/m/table/columnmenu/Menu.js +14 -21
  394. package/src/sap/m/table/columnmenu/MenuRenderer.js +0 -6
  395. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  396. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  397. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  398. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  399. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  400. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  401. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  402. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  403. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  404. package/src/sap/m/themes/base/Button.less +4 -4
  405. package/src/sap/m/themes/base/FeedInput.less +1 -0
  406. package/src/sap/m/themes/base/GenericTile.less +5 -23
  407. package/src/sap/m/themes/base/IllustratedMessage.less +1 -1
  408. package/src/sap/m/themes/base/InputBase.less +27 -15
  409. package/src/sap/m/themes/base/MessageToast.less +7 -0
  410. package/src/sap/m/themes/base/ObjectHeader.less +20 -0
  411. package/src/sap/m/themes/base/PlanningCalendarHeader.less +2 -1
  412. package/src/sap/m/themes/base/SelectionDetailsItem.less +1 -1
  413. package/src/sap/m/themes/base/Table.less +0 -20
  414. package/src/sap/m/themes/base/TimePickerClocks.less +2 -1
  415. package/src/sap/m/themes/base/TimePickerInputs.less +2 -1
  416. package/src/sap/m/themes/base/Wizard.less +1 -1
  417. package/src/sap/m/upload/UploadSet.js +21 -18
  418. package/src/sap/m/upload/UploadSetItem.js +27 -25
  419. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  420. package/src/sap/m/CustomDynamicDateOption.js +0 -110
@@ -20,12 +20,12 @@ sap.ui.define(['sap/ui/core/Element'],
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.113.0
23
+ * @version 1.114.1
24
24
  *
25
25
  * @constructor
26
26
  * @alias sap.m.p13n.AbstractContainerItem
27
27
  * @author SAP SE
28
- * @version 1.113.0
28
+ * @version 1.114.1
29
29
  * @since 1.96
30
30
  * @private
31
31
  * @ui5-restricted
@@ -52,7 +52,7 @@ sap.ui.define([
52
52
  * @extends sap.ui.core.Control
53
53
  *
54
54
  * @author SAP SE
55
- * @version 1.113.0
55
+ * @version 1.114.1
56
56
  *
57
57
  * @public
58
58
  * @abstract
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @extends sap.m.p13n.AbstractContainer
39
39
  *
40
40
  * @author SAP SE
41
- * @version 1.113.0
41
+ * @version 1.114.1
42
42
  *
43
43
  * @private
44
44
  * @ui5-restricted
@@ -56,7 +56,7 @@ sap.ui.define([
56
56
  * @alias sap.m.p13n.Engine
57
57
  * @extends sap.m.p13n.modules.AdaptationProvider
58
58
  * @author SAP SE
59
- * @version 1.113.0
59
+ * @version 1.114.1
60
60
  * @public
61
61
  * @since 1.104
62
62
  */
@@ -240,6 +240,10 @@ sap.ui.define([
240
240
  */
241
241
  Engine.prototype.reset = function (oControl, aKeys) {
242
242
 
243
+ if (aKeys === undefined) {
244
+ aKeys = this.getRegisteredControllers(oControl);
245
+ }
246
+
243
247
  aKeys = aKeys instanceof Array ? aKeys : [aKeys];
244
248
 
245
249
  var aSelectors = [];
@@ -289,7 +293,7 @@ sap.ui.define([
289
293
  * @experimental Since 1.104. Please note that the API of this control is not yet finalized!
290
294
  *
291
295
  * @example {
292
- * <RegisteredSortControllerKey>: [{
296
+ * RegisteredSortControllerKey: [{
293
297
  * key: "key1" //Adds key1 to the existing sorting
294
298
  * },
295
299
  * {
@@ -299,7 +303,7 @@ sap.ui.define([
299
303
  * key: "key3",
300
304
  * position: 2 //Reorders current sorter position in the array
301
305
  * }],
302
- * <RegisteredSelectionControllerKey>: [{
306
+ * RegisteredSelectionControllerKey: [{
303
307
  * key: "key1" //Adds key1 to the existing selection status
304
308
  * },
305
309
  * {
@@ -309,7 +313,7 @@ sap.ui.define([
309
313
  * key: "key3",
310
314
  * position: 2 //Reorders current item position in the array
311
315
  * }],
312
- * <RegisteredGroupControllerKey>: [{
316
+ * RegisteredGroupControllerKey: [{
313
317
  * key: "key1" //Adds key1 to the existing grouping status
314
318
  * },
315
319
  * {
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.ui.base.Object
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.113.0
24
+ * @version 1.114.1
25
25
  * @public
26
26
  * @since 1.104
27
27
  * @alias sap.m.p13n.GroupController
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.m.p13n.QueryPanel
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.113.0
24
+ * @version 1.114.1
25
25
  *
26
26
  * @public
27
27
  * @alias sap.m.p13n.GroupPanel
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  var PersistenceProvider = CoreControl.extend("sap.m.p13n.PersistenceProvider", /** @lends sap.ui.mdc.p13n.PersistenceProvider.prototype */ {
24
24
  metadata: {
25
25
  library: "sap.m",
26
- designtime: "sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime",
26
+ designtime: "sap/m/designtime/PersistenceProvider.designtime",
27
27
  properties: {
28
28
  /**
29
29
  * Provides the mode setting for the <code>PersistenceProvider</code>.
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.113.0
40
+ * @version 1.114.1
41
41
  *
42
42
  * @public
43
43
  * @since 1.97
@@ -162,6 +162,12 @@ sap.ui.define([
162
162
  */
163
163
  Popup.prototype.setReset = function(fnReset) {
164
164
  if (this._oPopup) {
165
+ var oCustomHeader = this._oPopup.getCustomHeader();
166
+
167
+ if (oCustomHeader) {
168
+ oCustomHeader.destroy();
169
+ }
170
+
165
171
  this._oPopup.setCustomHeader(this._createTitle());
166
172
  this._oPopup.invalidate();
167
173
  }
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.m.p13n.BasePanel
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.113.0
26
+ * @version 1.114.1
27
27
  *
28
28
  * @private
29
29
  * @ui5-restricted sap.m, sap.ui.mdc
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.base.Object
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.113.0
36
+ * @version 1.114.1
37
37
  *
38
38
  * @public
39
39
  * @alias sap.m.p13n.SelectionController
@@ -343,14 +343,13 @@ sap.ui.define([
343
343
  nIdx = this._indexOfByKeyName(aTarget, sKey);
344
344
  if (nIdx === -1) {
345
345
  oItem = merge({}, aSource[i]);
346
- oItem.index = i;
347
346
  mDeleteInserts.deletes.push(oItem);
348
- } else if ((nIdx === i) && aDeltaAttributes.length){
349
- if (this._verifyDeltaAttributes(aSource[i], aTarget[i], aDeltaAttributes)) {
347
+ } else if (aDeltaAttributes.length){
348
+ if (this._verifyDeltaAttributes(aSource[i], aTarget[nIdx], aDeltaAttributes)) {
350
349
  mDeleteInserts.deletes.push(aSource[i]);
351
350
 
352
- oItem = merge({}, aTarget[i]);
353
- oItem.index = i;
351
+ oItem = merge({}, aTarget[nIdx]);
352
+ oItem.index = nIdx;
354
353
  mDeleteInserts.inserts.push(oItem);
355
354
  }
356
355
  }
@@ -396,7 +395,7 @@ sap.ui.define([
396
395
  var oChangeContent = {};
397
396
 
398
397
  // Index
399
- if (oProperty.index >= 0) {
398
+ if (oProperty.hasOwnProperty("index") && oProperty.index >= 0) {
400
399
  oChangeContent.index = oProperty.index;
401
400
  }
402
401
 
@@ -410,16 +409,18 @@ sap.ui.define([
410
409
  };
411
410
 
412
411
  SelectionController.prototype._createAddRemoveChange = function(oControl, sOperation, oContent){
412
+ var oChangeContent = oContent;
413
+
414
+ if (sOperation === this.getChangeOperations()["add"]) {
415
+ oChangeContent.value = true;
416
+ oChangeContent.targetAggregation = this.getTargetAggregation();
417
+ }
418
+
413
419
  var oAddRemoveChange = {
414
420
  selectorElement: oControl,
415
421
  changeSpecificData: {
416
422
  changeType: sOperation,
417
- content: {
418
- key: oContent.key,
419
- targetAggregation: this.getTargetAggregation(),
420
- index: oContent.index,
421
- value: sOperation === this.getChangeOperations()["add"]
422
- }
423
+ content: oChangeContent
423
424
  }
424
425
  };
425
426
  return oAddRemoveChange;
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * @extends sap.m.p13n.BasePanel
49
49
  *
50
50
  * @author SAP SE
51
- * @version 1.113.0
51
+ * @version 1.114.1
52
52
  *
53
53
  * @public
54
54
  * @since 1.96
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.m.p13n.SelectionController
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.113.0
25
+ * @version 1.114.1
26
26
  * @public
27
27
  * @alias sap.m.p13n.SortController
28
28
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.m.p13n.QueryPanel
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.113.0
24
+ * @version 1.114.1
25
25
  *
26
26
  * @public
27
27
  * @since 1.96
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.base.Object
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.113.0
29
+ * @version 1.114.1
30
30
  *
31
31
  * @private
32
32
  * @since 1.104
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.ui.base.EventProvider
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.113.0
24
+ * @version 1.114.1
25
25
  *
26
26
  * @private
27
27
  * @since 1.104
@@ -6,9 +6,8 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/ui/base/Object",
9
- "sap/ui/mdc/util/loadModules",
10
9
  "sap/base/Log"
11
- ], function (BaseObject, loadModules, Log) {
10
+ ], function (BaseObject, Log) {
12
11
  "use strict";
13
12
 
14
13
  var ERROR_INSTANCING = "UIManager: This class is a singleton and should not be used without an AdaptationProvider. Please use 'Engine.getInstance().uimanager' instead";
@@ -28,7 +27,7 @@ sap.ui.define([
28
27
  * @extends sap.ui.base.Object
29
28
  *
30
29
  * @author SAP SE
31
- * @version 1.113.0
30
+ * @version 1.114.1
32
31
  *
33
32
  * @private
34
33
  *
@@ -48,6 +47,12 @@ sap.ui.define([
48
47
  }
49
48
  });
50
49
 
50
+ var loadModules = function(aModules) {
51
+ return new Promise(function(resolve, reject) {
52
+ sap.ui.require(aModules, resolve, reject);
53
+ });
54
+ };
55
+
51
56
  /**
52
57
  *
53
58
  * @param {sap.ui.core.Control} oControl The control instance to be personalized
@@ -59,6 +64,7 @@ sap.ui.define([
59
64
  * @param {sap.ui.core.CSSSize} [mSettings.contentHeight] Height configuration for the related popup container
60
65
  * @param {sap.ui.core.CSSSize} [mSettings.contentWidth] Width configuration for the related popup container
61
66
  * @param {boolean} [mSettings.showReset] Determines the visibility of the <code>Reset</code> button
67
+ * @param {function} [mSettings.reset] Custom reset handling to opt out the default reset which will trigger a reset for all open tabs.
62
68
  * @param {function} [mSettings.close] Event handler once the Popup has been closed
63
69
  *
64
70
  * @returns {Promise} Promise resolving in the <code>sap.m.p13n.Popup</code> instance.
@@ -74,7 +80,7 @@ sap.ui.define([
74
80
 
75
81
  return this.create(oControl, vPanelKeys, mSettings)
76
82
  .then(function(aInitializedPanels){
77
- return loadModules(["sap/m/p13n/Popup"]).then(function(aModules){
83
+ return loadModules(["sap/m/p13n/Popup"]).then(function(Popup){
78
84
 
79
85
  //if there is no title provided and only one panel created, use it's title as the Popup title
80
86
  var sTitle;
@@ -85,7 +91,6 @@ sap.ui.define([
85
91
  }
86
92
 
87
93
  //Enrich Popup with AdaptationProvider functionality --> add controller logic (reset and appliance)
88
- var Popup = aModules[0];
89
94
  var oP13nContainer = new Popup({
90
95
  mode: mSettings.mode,
91
96
  warningText: mSettings.warningText || oResourceBundle.getText("p13n.RESET_WARNING_TEXT"),
@@ -111,12 +116,17 @@ sap.ui.define([
111
116
  }
112
117
  oP13nContainer.destroy();
113
118
  });
114
- },
115
- reset: mSettings.showReset !== false ? function(){
116
- that.oAdaptationProvider.reset(oControl, aPanelKeys);
117
- } : undefined
119
+ }
118
120
  });
119
121
 
122
+ if (mSettings.showReset !== false) {
123
+ oP13nContainer.setReset(function(){
124
+ var fnReset = mSettings.reset instanceof Function ? mSettings.reset : that.oAdaptationProvider.reset.bind(that.oAdaptationProvider);
125
+ fnReset(oControl, aPanelKeys);
126
+ });
127
+ }
128
+
129
+
120
130
  aInitializedPanels.forEach(function(oPanel, iIndex){
121
131
  oP13nContainer.addPanel(oPanel, aPanelKeys[iIndex]);
122
132
  });
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  *
54
54
  * @extends sap.m.plugins.PluginBase
55
55
  * @class
56
- * @version 1.113.0
56
+ * @version 1.114.1
57
57
  * @author SAP SE
58
58
  *
59
59
  * @private
@@ -9,6 +9,7 @@ sap.ui.define([
9
9
  "sap/ui/core/Core",
10
10
  "sap/ui/core/Element",
11
11
  "sap/ui/core/InvisibleText",
12
+ "sap/ui/core/ResizeHandler",
12
13
  "sap/ui/Device",
13
14
  "sap/m/ColumnPopoverActionItem",
14
15
  "sap/m/table/columnmenu/QuickAction",
@@ -19,6 +20,7 @@ sap.ui.define([
19
20
  Core,
20
21
  Element,
21
22
  InvisibleText,
23
+ ResizeHandler,
22
24
  Device,
23
25
  ColumnPopoverActionItem,
24
26
  QuickAction,
@@ -40,7 +42,7 @@ sap.ui.define([
40
42
  *
41
43
  * @extends sap.ui.core.Element
42
44
  * @author SAP SE
43
- * @version 1.113.0
45
+ * @version 1.114.1
44
46
  *
45
47
  * @public
46
48
  * @since 1.91
@@ -106,6 +108,11 @@ sap.ui.define([
106
108
  this._$Container.removeClass(CSS_CLASS + "Container").off("." + CSS_CLASS);
107
109
  this._$Container.find(this.getConfig("resizable")).removeClass(CSS_CLASS + "Resizable");
108
110
  this._updateAriaDescribedBy("remove");
111
+
112
+ if (this._sResizerID) {
113
+ ResizeHandler.deregister(this._sResizerID);
114
+ this._sResizerID = null;
115
+ }
109
116
  }
110
117
  };
111
118
 
@@ -116,6 +123,7 @@ sap.ui.define([
116
123
  this._aResizables = this._$Container.find(this.getConfig("resizable")).addClass(CSS_CLASS + "Resizable").get();
117
124
  this._updateAriaDescribedBy("add");
118
125
  this._invalidatePositions();
126
+ this._sResizerID = ResizeHandler.register(this.getControl().getDomRef(), this._invalidatePositions.bind(this));
119
127
  };
120
128
 
121
129
  /**
@@ -5,7 +5,7 @@
5
5
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
6
6
  */
7
7
 
8
- sap.ui.define(["./PluginBase", "sap/ui/core/Core"], function(PluginBase, Core) {
8
+ sap.ui.define(["./PluginBase", "sap/base/Log", "sap/ui/core/Core", "sap/base/strings/formatMessage", "sap/m/OverflowToolbarButton"], function(PluginBase, Log, Core, formatTemplate, OverflowToolbarButton) {
9
9
  "use strict";
10
10
 
11
11
  /**
@@ -26,7 +26,7 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core"], function(PluginBase, Core) {
26
26
  *
27
27
  * @extends sap.ui.core.Element
28
28
  * @author SAP SE
29
- * @version 1.113.0
29
+ * @version 1.114.1
30
30
  *
31
31
  * @public
32
32
  * @since 1.110
@@ -79,7 +79,14 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core"], function(PluginBase, Core) {
79
79
  * This callback function gets called with the binding context or the row instance if there is no binding.
80
80
  * Return <code>true</code> to exclude the context, <code>false</code> otherwise.
81
81
  */
82
- excludeContext: { type: "function", invalidate: false }
82
+ excludeContext: { type: "function", invalidate: false },
83
+
84
+ /**
85
+ * Defines the visibility of the Copy button created with the {@link #getCopyButton} API.
86
+ *
87
+ * @since 1.114
88
+ */
89
+ visible: { type: "boolean", defaultValue: true, invalidate: false }
83
90
  },
84
91
  events: {
85
92
  /**
@@ -123,24 +130,87 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core"], function(PluginBase, Core) {
123
130
  return navigator.clipboard.writeText(sClipboardText);
124
131
  }
125
132
 
133
+ CopyProvider.prototype._shouldManageExtractData = function() {
134
+ var oControl = this.getControl();
135
+ var oParent = this.getParent();
136
+ return (oControl !== oParent && oParent.indexOfDependent(this) == -1);
137
+ };
138
+
126
139
  CopyProvider.prototype.isApplicable = function() {
127
140
  if (!navigator.clipboard) {
128
141
  throw new Error(this + " requires a secure context in order to access the clipboard API.");
142
+ }
143
+ if (this._shouldManageExtractData()){
144
+ if (this.getExtractData()) {
145
+ throw new Error("extractData property must not be defined for " + this);
146
+ }
147
+ if (!this.getParent().getColumnClipboardSettings) {
148
+ throw new Error("getColumnClipboardSettings method must be defined for " + this.getParent());
149
+ }
129
150
  } else if (!this.getExtractData()) {
130
151
  throw new Error("extractData property must be defined for " + this);
131
- } else {
132
- return true;
133
152
  }
153
+ return true;
134
154
  };
135
155
 
136
156
  CopyProvider.prototype.onActivate = function(oControl) {
137
157
  this._oDelegate = { onkeydown: this.onkeydown };
138
158
  oControl.addEventDelegate(this._oDelegate, this);
159
+
160
+ this._oCopyButton && this._oCopyButton.setEnabled(true);
161
+ this._shouldManageExtractData() && this.setExtractData(this._extractData.bind(this));
139
162
  };
140
163
 
141
164
  CopyProvider.prototype.onDeactivate = function(oControl) {
142
165
  oControl.removeEventDelegate(this._oDelegate, this);
143
166
  this._oDelegate = null;
167
+
168
+ this._oCopyButton && this._oCopyButton.setEnabled(false);
169
+ this._shouldManageExtractData() && this.setExtractData();
170
+ };
171
+
172
+ CopyProvider.prototype.setVisible = function(bVisible) {
173
+ this.setProperty("visible", bVisible, true);
174
+ this._oCopyButton && this._oCopyButton.setVisible(this.getVisible());
175
+ return this;
176
+ };
177
+
178
+ CopyProvider.prototype.setParent = function() {
179
+ PluginBase.prototype.setParent.apply(this, arguments);
180
+ if (!this.getParent() && this._oCopyButton) {
181
+ this._oCopyButton.destroy(true);
182
+ this._oCopyButton = null;
183
+ }
184
+ };
185
+
186
+ /**
187
+ * Creates and returns a Copy button that can be used to trigger a copy action, for example, from the table toolbar.
188
+ *
189
+ * @param {object} [mSettings] The settings of the button control
190
+ * @returns {sap.m.OverflowToolbarButton} The button instance
191
+ * @since 1.114
192
+ * @public
193
+ */
194
+ CopyProvider.prototype.getCopyButton = function(mSettings) {
195
+ if (!this._oCopyButton) {
196
+ this._oCopyButton = new OverflowToolbarButton(Object.assign({
197
+ icon: "sap-icon://copy",
198
+ visible: this.getVisible(),
199
+ tooltip: Core.getLibraryResourceBundle("sap.m").getText("COPYPROVIDER_COPY"),
200
+ press: this.copySelectionData.bind(this, true)
201
+ }, mSettings));
202
+ }
203
+ return this._oCopyButton;
204
+ };
205
+
206
+ CopyProvider.prototype.exit = function() {
207
+ if (this._oCopyButton) {
208
+ this._oCopyButton.destroy(true);
209
+ this._oCopyButton = null;
210
+ }
211
+ if (this._mColumnClipboardSettings) {
212
+ this._mColumnClipboardSettings = null;
213
+ }
144
214
  };
145
215
 
146
216
  /**
@@ -248,6 +318,41 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core"], function(PluginBase, Core) {
248
318
  this.copySelectionData(true);
249
319
  };
250
320
 
321
+ CopyProvider.prototype._extractData = function(oRowContext, oColumn) {
322
+ if (!this._mColumnClipboardSettings) {
323
+ this._mColumnClipboardSettings = new WeakMap();
324
+ }
325
+
326
+ var mColumnClipboardSettings = this._mColumnClipboardSettings.get(oColumn);
327
+ if (mColumnClipboardSettings === undefined) {
328
+ mColumnClipboardSettings = this.getParent().getColumnClipboardSettings(oColumn);
329
+ this._mColumnClipboardSettings.set(oColumn, mColumnClipboardSettings);
330
+ }
331
+ if (!mColumnClipboardSettings) {
332
+ return;
333
+ }
334
+
335
+ var aPropertyValues = mColumnClipboardSettings.properties.map(function(sProperty, iIndex) {
336
+ var vPropertyValue = oRowContext.getProperty(sProperty);
337
+ var oType = mColumnClipboardSettings.types[iIndex];
338
+ if (oType) {
339
+ try {
340
+ vPropertyValue = oType.formatValue(vPropertyValue, "string");
341
+ } catch (oError) {
342
+ Log.error(this + ': Formatting error during copy "' + oError.message + '"');
343
+ }
344
+ }
345
+ return isCellValueCopyable(vPropertyValue) ? vPropertyValue : "";
346
+ });
347
+
348
+ var fnUnitFormatter = mColumnClipboardSettings.unitFormatter;
349
+ if (fnUnitFormatter) {
350
+ aPropertyValues[0] = fnUnitFormatter(aPropertyValues[0], aPropertyValues[1]);
351
+ }
352
+
353
+ var sExtractValue = formatTemplate(mColumnClipboardSettings.template, aPropertyValues).trim();
354
+ return sExtractValue;
355
+ };
251
356
 
252
357
  /**
253
358
  * Plugin-specific control configurations.
@@ -297,6 +402,18 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core"], function(PluginBase, Core) {
297
402
  }
298
403
  }, CopyProvider);
299
404
 
405
+ /**
406
+ * Clipboard settings of a column to be used by the CopyProvider to extract the data.
407
+ *
408
+ * @typedef sap.m.plugins.CopyProvider.ColumnClipboardSettings
409
+ * @type {object}
410
+ * @property {string[]} properties Binding properties
411
+ * @property {sap.ui.model.Type[]} types Model type instances of properties
412
+ * @property {string} template Placeholders of properties
413
+ * @property {function} [unitFormatter] Unit formatter function
414
+ * @private
415
+ */
416
+
300
417
  return CopyProvider;
301
418
 
302
419
  });
@@ -19,7 +19,7 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core", "sap/ui/base/ManagedObjectObs
19
19
  *
20
20
  * @extends sap.ui.core.Element
21
21
  * @author SAP SE
22
- * @version 1.113.0
22
+ * @version 1.114.1
23
23
  *
24
24
  * @public
25
25
  * @since 1.73
@@ -298,7 +298,7 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core", "sap/ui/base/ManagedObjectObs
298
298
  });
299
299
 
300
300
  this._sCombinedType = this._getCombinedType(aMessages);
301
- if (aMessages.length == 1 && oFirstMessage.getTarget() && oFirstMessage.getTarget().endsWith(oBinding.getPath())) {
301
+ if (aMessages.length == 1 && isMessageRelatedToPath(oFirstMessage, oBinding.getPath())) {
302
302
  sMessage = oFirstMessage.getMessage();
303
303
  } else {
304
304
  sMessage = this._translate(this._sCombinedType.toUpperCase());
@@ -473,6 +473,18 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core", "sap/ui/base/ManagedObjectObs
473
473
  return Core.getLibraryResourceBundle("sap.m").getText(sBundleText);
474
474
  };
475
475
 
476
+ /**
477
+ * Checks whether the given message is related to the given binding path.
478
+ * @param {sap.ui.core.message.Message} oMessage
479
+ * @param {string} sPath
480
+ * @returns {boolean} Whether the message is related to the path
481
+ * @private
482
+ */
483
+ function isMessageRelatedToPath(oMessage, sPath) {
484
+ return oMessage.getTargets().some(function(sTarget) {
485
+ return sTarget.endsWith(sPath);
486
+ });
487
+ }
476
488
 
477
489
  /**
478
490
  * Plugin-specific control configurations
@@ -28,7 +28,7 @@ sap.ui.define(["./PluginBase", "sap/ui/core/Core", "sap/ui/core/util/PasteHelper
28
28
  *
29
29
  * @extends sap.ui.core.Element
30
30
  * @author SAP SE
31
- * @version 1.113.0
31
+ * @version 1.114.1
32
32
  *
33
33
  * @public
34
34
  * @since 1.91
@@ -20,7 +20,7 @@ sap.ui.define(["sap/ui/core/Element"], function(Element) {
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.113.0
23
+ * @version 1.114.1
24
24
  *
25
25
  * @private
26
26
  * @experimental Since 1.73. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -21,7 +21,7 @@ sap.ui.define(['sap/m/semantic/SemanticButton'], function(SemanticButton) {
21
21
  * @extends sap.m.semantic.SemanticButton
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.113.0
24
+ * @version 1.114.1
25
25
  *
26
26
  * @constructor
27
27
  * @public
@@ -19,7 +19,7 @@ sap.ui.define(['sap/m/semantic/SemanticButton'], function(SemanticButton) {
19
19
  * @extends sap.m.semantic.SemanticButton
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.113.0
22
+ * @version 1.114.1
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -19,7 +19,7 @@ sap.ui.define(['sap/m/semantic/SemanticButton'], function(SemanticButton) {
19
19
  * @extends sap.m.semantic.SemanticButton
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.113.0
22
+ * @version 1.114.1
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -46,7 +46,7 @@ sap.ui.define(["sap/m/semantic/ShareMenuPage", "sap/m/semantic/SemanticConfigura
46
46
  * @extends sap.m.semantic.ShareMenuPage
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.113.0
49
+ * @version 1.114.1
50
50
  *
51
51
  * @constructor
52
52
  * @public