@openui5/sap.m 1.109.0 → 1.111.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 (816) hide show
  1. package/.reuse/dep5 +16 -16
  2. package/THIRDPARTY.txt +2 -2
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +2 -2
  5. package/src/sap/m/AccButton.js +2 -2
  6. package/src/sap/m/AccButtonRenderer.js +1 -1
  7. package/src/sap/m/ActionListItem.js +2 -2
  8. package/src/sap/m/ActionListItemRenderer.js +1 -1
  9. package/src/sap/m/ActionSelect.js +3 -2
  10. package/src/sap/m/ActionSelectRenderer.js +1 -1
  11. package/src/sap/m/ActionSheet.js +3 -3
  12. package/src/sap/m/ActionSheetRenderer.js +1 -1
  13. package/src/sap/m/ActionTile.js +88 -88
  14. package/src/sap/m/ActionTileContent.js +2 -2
  15. package/src/sap/m/ActionTileContentRenderer.js +1 -1
  16. package/src/sap/m/AdditionalTextButton.js +2 -2
  17. package/src/sap/m/AdditionalTextButtonRenderer.js +1 -1
  18. package/src/sap/m/App.js +2 -2
  19. package/src/sap/m/AppRenderer.js +1 -1
  20. package/src/sap/m/AssociativeOverflowToolbar.js +2 -2
  21. package/src/sap/m/Avatar.js +2 -2
  22. package/src/sap/m/AvatarColor.js +1 -1
  23. package/src/sap/m/AvatarImageFitType.js +1 -1
  24. package/src/sap/m/AvatarRenderer.js +1 -1
  25. package/src/sap/m/AvatarShape.js +1 -1
  26. package/src/sap/m/AvatarSize.js +1 -1
  27. package/src/sap/m/AvatarType.js +1 -1
  28. package/src/sap/m/BadgeCustomData.js +1 -1
  29. package/src/sap/m/BadgeEnabler.js +1 -1
  30. package/src/sap/m/Bar.js +23 -22
  31. package/src/sap/m/BarInPageEnabler.js +21 -3
  32. package/src/sap/m/BarRenderer.js +1 -1
  33. package/src/sap/m/Breadcrumbs.js +16 -2
  34. package/src/sap/m/BreadcrumbsRenderer.js +1 -1
  35. package/src/sap/m/BusyDialog.js +2 -2
  36. package/src/sap/m/BusyIndicator.js +2 -2
  37. package/src/sap/m/BusyIndicatorRenderer.js +1 -1
  38. package/src/sap/m/Button.js +19 -4
  39. package/src/sap/m/ButtonRenderer.js +1 -1
  40. package/src/sap/m/Carousel.js +17 -10
  41. package/src/sap/m/CarouselLayout.js +3 -3
  42. package/src/sap/m/CarouselRenderer.js +3 -2
  43. package/src/sap/m/CheckBox.js +20 -4
  44. package/src/sap/m/CheckBoxRenderer.js +3 -2
  45. package/src/sap/m/ColorPalette.js +3 -3
  46. package/src/sap/m/ColorPalettePopover.js +2 -2
  47. package/src/sap/m/ColorPaletteRenderer.js +1 -1
  48. package/src/sap/m/Column.js +15 -7
  49. package/src/sap/m/ColumnHeaderPopover.js +2 -2
  50. package/src/sap/m/ColumnListItem.js +3 -3
  51. package/src/sap/m/ColumnListItemRenderer.js +1 -1
  52. package/src/sap/m/ColumnPopoverActionItem.js +2 -2
  53. package/src/sap/m/ColumnPopoverCustomItem.js +2 -2
  54. package/src/sap/m/ColumnPopoverItem.js +2 -2
  55. package/src/sap/m/ColumnPopoverSelectListItem.js +3 -3
  56. package/src/sap/m/ColumnPopoverSortItem.js +2 -2
  57. package/src/sap/m/ComboBox.js +46 -22
  58. package/src/sap/m/ComboBoxBase.js +19 -14
  59. package/src/sap/m/ComboBoxBaseRenderer.js +4 -4
  60. package/src/sap/m/ComboBoxRenderer.js +1 -1
  61. package/src/sap/m/ComboBoxTextField.js +2 -2
  62. package/src/sap/m/ComboBoxTextFieldRenderer.js +1 -1
  63. package/src/sap/m/CustomAttribute.js +1 -1
  64. package/src/sap/m/CustomDynamicDateOption.js +2 -2
  65. package/src/sap/m/CustomListItem.js +3 -3
  66. package/src/sap/m/CustomListItemRenderer.js +1 -1
  67. package/src/sap/m/CustomTile.js +2 -2
  68. package/src/sap/m/CustomTileRenderer.js +1 -1
  69. package/src/sap/m/CustomTreeItem.js +2 -2
  70. package/src/sap/m/CustomTreeItemRenderer.js +1 -1
  71. package/src/sap/m/DatePicker.js +46 -63
  72. package/src/sap/m/DatePickerRenderer.js +1 -1
  73. package/src/sap/m/DateRangeSelection.js +70 -58
  74. package/src/sap/m/DateRangeSelectionRenderer.js +1 -1
  75. package/src/sap/m/DateTimeField.js +24 -22
  76. package/src/sap/m/DateTimeFieldRenderer.js +1 -1
  77. package/src/sap/m/DateTimeInput.js +28 -5
  78. package/src/sap/m/DateTimeInputRenderer.js +1 -1
  79. package/src/sap/m/DateTimePicker.js +117 -103
  80. package/src/sap/m/DateTimePickerRenderer.js +16 -6
  81. package/src/sap/m/Dialog.js +82 -21
  82. package/src/sap/m/DialogRenderer.js +44 -36
  83. package/src/sap/m/DisplayListItem.js +2 -2
  84. package/src/sap/m/DisplayListItemRenderer.js +1 -1
  85. package/src/sap/m/DraftIndicator.js +2 -2
  86. package/src/sap/m/DraftIndicatorRenderer.js +1 -1
  87. package/src/sap/m/DynamicDate.js +6 -6
  88. package/src/sap/m/DynamicDateFormat.js +22 -5
  89. package/src/sap/m/DynamicDateOption.js +24 -18
  90. package/src/sap/m/DynamicDateRange.js +235 -45
  91. package/src/sap/m/DynamicDateRangeRenderer.js +1 -1
  92. package/src/sap/m/DynamicDateUtil.js +15 -6
  93. package/src/sap/m/DynamicDateValueHelpUIType.js +3 -3
  94. package/src/sap/m/ExpandableText.js +23 -11
  95. package/src/sap/m/ExpandableTextRenderer.js +1 -1
  96. package/src/sap/m/FacetFilter.js +7 -4
  97. package/src/sap/m/FacetFilterItem.js +2 -2
  98. package/src/sap/m/FacetFilterItemRenderer.js +1 -1
  99. package/src/sap/m/FacetFilterList.js +2 -2
  100. package/src/sap/m/FacetFilterListRenderer.js +1 -1
  101. package/src/sap/m/FacetFilterRenderer.js +1 -1
  102. package/src/sap/m/FeedContent.js +2 -2
  103. package/src/sap/m/FeedContentRenderer.js +1 -1
  104. package/src/sap/m/FeedInput.js +2 -2
  105. package/src/sap/m/FeedInputRenderer.js +1 -1
  106. package/src/sap/m/FeedListItem.js +2 -2
  107. package/src/sap/m/FeedListItemAction.js +2 -2
  108. package/src/sap/m/FeedListItemRenderer.js +1 -1
  109. package/src/sap/m/Fiori20Adapter.js +21 -14
  110. package/src/sap/m/FlexBox.js +3 -3
  111. package/src/sap/m/FlexBoxRenderer.js +1 -1
  112. package/src/sap/m/FlexBoxStylingHelper.js +1 -1
  113. package/src/sap/m/FlexItemData.js +2 -2
  114. package/src/sap/m/FormattedText.js +2 -2
  115. package/src/sap/m/FormattedTextAnchorGenerator.js +1 -1
  116. package/src/sap/m/FormattedTextRenderer.js +1 -1
  117. package/src/sap/m/GenericTag.js +19 -3
  118. package/src/sap/m/GenericTagRenderer.js +1 -1
  119. package/src/sap/m/GenericTile.js +43 -27
  120. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  121. package/src/sap/m/GenericTileRenderer.js +2 -2
  122. package/src/sap/m/GroupHeaderListItem.js +2 -2
  123. package/src/sap/m/GroupHeaderListItemRenderer.js +1 -1
  124. package/src/sap/m/GrowingEnablement.js +29 -9
  125. package/src/sap/m/GrowingList.js +2 -2
  126. package/src/sap/m/GrowingListRenderer.js +1 -1
  127. package/src/sap/m/HBox.js +2 -2
  128. package/src/sap/m/HBoxRenderer.js +1 -1
  129. package/src/sap/m/HeaderContainer.js +2 -2
  130. package/src/sap/m/HeaderContainerItemNavigator.js +2 -2
  131. package/src/sap/m/HeaderContainerRenderer.js +1 -1
  132. package/src/sap/m/HyphenationSupport.js +1 -1
  133. package/src/sap/m/IconTabBar.js +16 -3
  134. package/src/sap/m/IconTabBarDragAndDropUtil.js +1 -1
  135. package/src/sap/m/IconTabBarRenderer.js +1 -1
  136. package/src/sap/m/IconTabBarSelectList.js +2 -2
  137. package/src/sap/m/IconTabBarSelectListRenderer.js +1 -1
  138. package/src/sap/m/IconTabFilter.js +9 -9
  139. package/src/sap/m/IconTabFilterExpandButtonBadge.js +2 -2
  140. package/src/sap/m/IconTabHeader.js +44 -2
  141. package/src/sap/m/IconTabHeaderRenderer.js +26 -4
  142. package/src/sap/m/IconTabSeparator.js +2 -2
  143. package/src/sap/m/IllustratedMessage.js +66 -27
  144. package/src/sap/m/IllustratedMessageRenderer.js +14 -6
  145. package/src/sap/m/IllustratedMessageSize.js +1 -1
  146. package/src/sap/m/IllustratedMessageType.js +1 -1
  147. package/src/sap/m/Illustration.js +2 -2
  148. package/src/sap/m/IllustrationPool.js +1 -1
  149. package/src/sap/m/IllustrationRenderer.js +1 -1
  150. package/src/sap/m/Image.js +4 -3
  151. package/src/sap/m/ImageContent.js +2 -2
  152. package/src/sap/m/ImageContentRenderer.js +1 -1
  153. package/src/sap/m/ImageRenderer.js +1 -1
  154. package/src/sap/m/Input.js +84 -19
  155. package/src/sap/m/InputBase.js +8 -8
  156. package/src/sap/m/InputBaseRenderer.js +2 -2
  157. package/src/sap/m/InputListItem.js +2 -2
  158. package/src/sap/m/InputListItemRenderer.js +1 -1
  159. package/src/sap/m/InputRenderer.js +1 -1
  160. package/src/sap/m/InstanceManager.js +1 -1
  161. package/src/sap/m/Label.js +18 -4
  162. package/src/sap/m/LabelRenderer.js +1 -1
  163. package/src/sap/m/LightBox.js +2 -2
  164. package/src/sap/m/LightBoxItem.js +2 -2
  165. package/src/sap/m/LightBoxRenderer.js +1 -1
  166. package/src/sap/m/Link.js +19 -4
  167. package/src/sap/m/LinkRenderer.js +1 -1
  168. package/src/sap/m/List.js +2 -2
  169. package/src/sap/m/ListBase.js +10 -8
  170. package/src/sap/m/ListBaseRenderer.js +1 -1
  171. package/src/sap/m/ListItemBase.js +6 -13
  172. package/src/sap/m/ListItemBaseRenderer.js +4 -4
  173. package/src/sap/m/ListRenderer.js +1 -1
  174. package/src/sap/m/MaskEnabler.js +2 -2
  175. package/src/sap/m/MaskInput.js +2 -2
  176. package/src/sap/m/MaskInputRenderer.js +1 -1
  177. package/src/sap/m/MaskInputRule.js +2 -2
  178. package/src/sap/m/Menu.js +5 -5
  179. package/src/sap/m/MenuButton.js +37 -34
  180. package/src/sap/m/MenuButtonRenderer.js +1 -1
  181. package/src/sap/m/MenuItem.js +2 -2
  182. package/src/sap/m/MenuListItem.js +2 -2
  183. package/src/sap/m/MenuListItemRenderer.js +1 -1
  184. package/src/sap/m/MessageBox.js +54 -36
  185. package/src/sap/m/MessageItem.js +2 -2
  186. package/src/sap/m/MessageListItem.js +23 -2
  187. package/src/sap/m/MessageListItemRenderer.js +1 -1
  188. package/src/sap/m/MessagePage.js +21 -23
  189. package/src/sap/m/MessagePageRenderer.js +1 -1
  190. package/src/sap/m/MessagePopover.js +4 -5
  191. package/src/sap/m/MessagePopoverItem.js +2 -2
  192. package/src/sap/m/MessagePopoverRenderer.js +1 -1
  193. package/src/sap/m/MessageStrip.js +8 -3
  194. package/src/sap/m/MessageStripRenderer.js +1 -1
  195. package/src/sap/m/MessageStripUtilities.js +2 -3
  196. package/src/sap/m/MessageToast.js +6 -4
  197. package/src/sap/m/MessageView.js +13 -25
  198. package/src/sap/m/MessageViewRenderer.js +1 -1
  199. package/src/sap/m/MultiComboBox.js +63 -35
  200. package/src/sap/m/MultiComboBoxRenderer.js +1 -1
  201. package/src/sap/m/MultiEditField.js +2 -2
  202. package/src/sap/m/MultiInput.js +33 -13
  203. package/src/sap/m/MultiInputRenderer.js +1 -1
  204. package/src/sap/m/NavContainer.js +68 -4
  205. package/src/sap/m/NavContainerRenderer.js +1 -1
  206. package/src/sap/m/NewsContent.js +2 -2
  207. package/src/sap/m/NewsContentRenderer.js +1 -1
  208. package/src/sap/m/NotificationList.js +27 -2
  209. package/src/sap/m/NotificationListBase.js +193 -3
  210. package/src/sap/m/NotificationListGroup.js +29 -3
  211. package/src/sap/m/NotificationListGroupRenderer.js +3 -5
  212. package/src/sap/m/NotificationListItem.js +6 -39
  213. package/src/sap/m/NotificationListItemRenderer.js +2 -5
  214. package/src/sap/m/NotificationListRenderer.js +1 -1
  215. package/src/sap/m/NumericContent.js +2 -2
  216. package/src/sap/m/NumericContentRenderer.js +1 -1
  217. package/src/sap/m/NumericInput.js +2 -2
  218. package/src/sap/m/NumericInputRenderer.js +1 -1
  219. package/src/sap/m/ObjectAttribute.js +2 -2
  220. package/src/sap/m/ObjectAttributeRenderer.js +1 -1
  221. package/src/sap/m/ObjectHeader.js +2 -2
  222. package/src/sap/m/ObjectHeaderRenderer.js +1 -1
  223. package/src/sap/m/ObjectIdentifier.js +3 -3
  224. package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
  225. package/src/sap/m/ObjectListItem.js +2 -2
  226. package/src/sap/m/ObjectListItemRenderer.js +1 -1
  227. package/src/sap/m/ObjectMarker.js +10 -9
  228. package/src/sap/m/ObjectMarkerRenderer.js +1 -1
  229. package/src/sap/m/ObjectNumber.js +5 -3
  230. package/src/sap/m/ObjectNumberRenderer.js +1 -1
  231. package/src/sap/m/ObjectStatus.js +28 -15
  232. package/src/sap/m/ObjectStatusRenderer.js +3 -6
  233. package/src/sap/m/OverflowToolbar.js +56 -6
  234. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  235. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +3 -3
  236. package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +1 -1
  237. package/src/sap/m/OverflowToolbarButton.js +32 -18
  238. package/src/sap/m/OverflowToolbarLayoutData.js +2 -2
  239. package/src/sap/m/OverflowToolbarMenuButton.js +2 -2
  240. package/src/sap/m/OverflowToolbarRenderer.js +1 -1
  241. package/src/sap/m/OverflowToolbarToggleButton.js +2 -2
  242. package/src/sap/m/P13nAnyFilterItem.js +2 -2
  243. package/src/sap/m/P13nColumnsItem.js +2 -2
  244. package/src/sap/m/P13nColumnsPanel.js +2 -2
  245. package/src/sap/m/P13nConditionPanel.js +2 -2
  246. package/src/sap/m/P13nConditionPanelRenderer.js +1 -1
  247. package/src/sap/m/P13nDialog.js +2 -2
  248. package/src/sap/m/P13nDimMeasureItem.js +2 -2
  249. package/src/sap/m/P13nDimMeasurePanel.js +2 -2
  250. package/src/sap/m/P13nFilterItem.js +2 -2
  251. package/src/sap/m/P13nFilterPanel.js +2 -2
  252. package/src/sap/m/P13nFilterPanelRenderer.js +1 -1
  253. package/src/sap/m/P13nGroupItem.js +2 -2
  254. package/src/sap/m/P13nGroupPanel.js +2 -2
  255. package/src/sap/m/P13nItem.js +8 -6
  256. package/src/sap/m/P13nOperationsHelper.js +1 -1
  257. package/src/sap/m/P13nPanel.js +2 -2
  258. package/src/sap/m/P13nSelectionItem.js +2 -2
  259. package/src/sap/m/P13nSelectionPanel.js +2 -2
  260. package/src/sap/m/P13nSortItem.js +2 -2
  261. package/src/sap/m/P13nSortPanel.js +2 -2
  262. package/src/sap/m/PDFViewer.js +3 -3
  263. package/src/sap/m/PDFViewerRenderManager.js +1 -1
  264. package/src/sap/m/PDFViewerRenderer.js +14 -6
  265. package/src/sap/m/Page.js +5 -4
  266. package/src/sap/m/PageAccessibleLandmarkInfo.js +2 -2
  267. package/src/sap/m/PageRenderer.js +1 -1
  268. package/src/sap/m/PagingButton.js +2 -2
  269. package/src/sap/m/PagingButtonRenderer.js +1 -1
  270. package/src/sap/m/Panel.js +2 -2
  271. package/src/sap/m/PanelRenderer.js +1 -1
  272. package/src/sap/m/PlanningCalendar.js +61 -24
  273. package/src/sap/m/PlanningCalendarHeader.js +15 -4
  274. package/src/sap/m/PlanningCalendarHeaderRenderer.js +1 -1
  275. package/src/sap/m/PlanningCalendarLegend.js +2 -2
  276. package/src/sap/m/PlanningCalendarLegendRenderer.js +1 -1
  277. package/src/sap/m/PlanningCalendarRenderer.js +1 -1
  278. package/src/sap/m/PlanningCalendarRow.js +3 -4
  279. package/src/sap/m/PlanningCalendarView.js +2 -2
  280. package/src/sap/m/Popover.js +6 -8
  281. package/src/sap/m/PopoverRenderer.js +1 -1
  282. package/src/sap/m/ProgressIndicator.js +5 -4
  283. package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
  284. package/src/sap/m/PullToRefresh.js +4 -6
  285. package/src/sap/m/PullToRefreshRenderer.js +1 -1
  286. package/src/sap/m/QuickView.js +3 -3
  287. package/src/sap/m/QuickViewBase.js +2 -2
  288. package/src/sap/m/QuickViewCard.js +2 -2
  289. package/src/sap/m/QuickViewCardRenderer.js +1 -1
  290. package/src/sap/m/QuickViewGroup.js +2 -2
  291. package/src/sap/m/QuickViewGroupElement.js +2 -2
  292. package/src/sap/m/QuickViewPage.js +43 -8
  293. package/src/sap/m/QuickViewPageRenderer.js +1 -1
  294. package/src/sap/m/RadioButton.js +21 -6
  295. package/src/sap/m/RadioButtonGroup.js +2 -2
  296. package/src/sap/m/RadioButtonGroupRenderer.js +1 -1
  297. package/src/sap/m/RadioButtonRenderer.js +1 -1
  298. package/src/sap/m/RangeSlider.js +3 -3
  299. package/src/sap/m/RangeSliderRenderer.js +1 -1
  300. package/src/sap/m/RatingIndicator.js +3 -3
  301. package/src/sap/m/RatingIndicatorRenderer.js +1 -1
  302. package/src/sap/m/ResponsivePopover.js +2 -2
  303. package/src/sap/m/ResponsivePopoverRenderer.js +1 -1
  304. package/src/sap/m/ResponsiveScale.js +2 -2
  305. package/src/sap/m/ScrollBar.js +2 -2
  306. package/src/sap/m/ScrollBarRenderer.js +1 -1
  307. package/src/sap/m/ScrollContainer.js +2 -2
  308. package/src/sap/m/ScrollContainerRenderer.js +1 -1
  309. package/src/sap/m/SearchField.js +28 -62
  310. package/src/sap/m/SearchFieldRenderer.js +3 -21
  311. package/src/sap/m/SegmentedButton.js +16 -5
  312. package/src/sap/m/SegmentedButtonItem.js +2 -2
  313. package/src/sap/m/SegmentedButtonRenderer.js +1 -1
  314. package/src/sap/m/Select.js +67 -6
  315. package/src/sap/m/SelectDialog.js +47 -7
  316. package/src/sap/m/SelectDialogBase.js +19 -9
  317. package/src/sap/m/SelectList.js +4 -7
  318. package/src/sap/m/SelectListRenderer.js +1 -1
  319. package/src/sap/m/SelectRenderer.js +1 -1
  320. package/src/sap/m/SelectionDetails.js +4 -4
  321. package/src/sap/m/SelectionDetailsFacade.js +3 -3
  322. package/src/sap/m/SelectionDetailsItem.js +2 -2
  323. package/src/sap/m/SelectionDetailsItemLine.js +2 -2
  324. package/src/sap/m/SelectionDetailsListItemRenderer.js +1 -1
  325. package/src/sap/m/SelectionDetailsRenderer.js +1 -1
  326. package/src/sap/m/Shell.js +12 -3
  327. package/src/sap/m/ShellRenderer.js +1 -1
  328. package/src/sap/m/SimpleFixFlex.js +2 -2
  329. package/src/sap/m/SimpleFixFlexRenderer.js +1 -1
  330. package/src/sap/m/SinglePlanningCalendar.js +56 -17
  331. package/src/sap/m/SinglePlanningCalendarDayView.js +2 -2
  332. package/src/sap/m/SinglePlanningCalendarGrid.js +52 -26
  333. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +1 -1
  334. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +68 -43
  335. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +24 -4
  336. package/src/sap/m/SinglePlanningCalendarMonthView.js +2 -2
  337. package/src/sap/m/SinglePlanningCalendarRenderer.js +1 -1
  338. package/src/sap/m/SinglePlanningCalendarUtilities.js +1 -1
  339. package/src/sap/m/SinglePlanningCalendarView.js +12 -4
  340. package/src/sap/m/SinglePlanningCalendarWeekView.js +20 -8
  341. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +2 -2
  342. package/src/sap/m/SlideTile.js +28 -25
  343. package/src/sap/m/SlideTileRenderer.js +1 -1
  344. package/src/sap/m/Slider.js +3 -3
  345. package/src/sap/m/SliderRenderer.js +1 -1
  346. package/src/sap/m/SliderTooltip.js +2 -2
  347. package/src/sap/m/SliderTooltipBase.js +2 -2
  348. package/src/sap/m/SliderTooltipBaseRenderer.js +1 -1
  349. package/src/sap/m/SliderTooltipContainer.js +2 -2
  350. package/src/sap/m/SliderTooltipContainerRenderer.js +1 -1
  351. package/src/sap/m/SliderTooltipRenderer.js +1 -1
  352. package/src/sap/m/SliderUtilities.js +1 -1
  353. package/src/sap/m/SplitApp.js +2 -2
  354. package/src/sap/m/SplitAppRenderer.js +1 -1
  355. package/src/sap/m/SplitButton.js +16 -4
  356. package/src/sap/m/SplitButtonRenderer.js +1 -1
  357. package/src/sap/m/SplitContainer.js +47 -47
  358. package/src/sap/m/SplitContainerRenderer.js +1 -1
  359. package/src/sap/m/StandardDynamicDateOption.js +52 -19
  360. package/src/sap/m/StandardListItem.js +2 -2
  361. package/src/sap/m/StandardListItemRenderer.js +1 -1
  362. package/src/sap/m/StandardTile.js +2 -2
  363. package/src/sap/m/StandardTileRenderer.js +1 -1
  364. package/src/sap/m/StandardTreeItem.js +2 -2
  365. package/src/sap/m/StandardTreeItemRenderer.js +1 -1
  366. package/src/sap/m/StepInput.js +40 -7
  367. package/src/sap/m/StepInputRenderer.js +1 -1
  368. package/src/sap/m/Suggest.js +1 -1
  369. package/src/sap/m/SuggestionItem.js +2 -2
  370. package/src/sap/m/SuggestionsList.js +1 -1
  371. package/src/sap/m/SuggestionsListRenderer.js +1 -1
  372. package/src/sap/m/SuggestionsPopover.js +2 -2
  373. package/src/sap/m/Support.js +1 -1
  374. package/src/sap/m/Switch.js +19 -5
  375. package/src/sap/m/SwitchRenderer.js +3 -3
  376. package/src/sap/m/TabContainer.js +2 -2
  377. package/src/sap/m/TabContainerItem.js +2 -2
  378. package/src/sap/m/TabContainerRenderer.js +1 -1
  379. package/src/sap/m/TabStrip.js +13 -8
  380. package/src/sap/m/TabStripItem.js +2 -2
  381. package/src/sap/m/TabStripRenderer.js +1 -1
  382. package/src/sap/m/Table.js +5 -5
  383. package/src/sap/m/TablePersoController.js +2 -2
  384. package/src/sap/m/TablePersoDialog.js +31 -8
  385. package/src/sap/m/TablePersoProvider.js +2 -2
  386. package/src/sap/m/TableRenderer.js +3 -2
  387. package/src/sap/m/TableSelectDialog.js +39 -4
  388. package/src/sap/m/Text.js +18 -4
  389. package/src/sap/m/TextArea.js +2 -2
  390. package/src/sap/m/TextAreaRenderer.js +1 -1
  391. package/src/sap/m/TextRenderer.js +1 -1
  392. package/src/sap/m/Tile.js +2 -2
  393. package/src/sap/m/TileContainer.js +5 -5
  394. package/src/sap/m/TileContainerRenderer.js +1 -1
  395. package/src/sap/m/TileContent.js +2 -2
  396. package/src/sap/m/TileContentRenderer.js +3 -4
  397. package/src/sap/m/TileRenderer.js +1 -1
  398. package/src/sap/m/TimePicker.js +30 -52
  399. package/src/sap/m/TimePickerClock.js +2 -2
  400. package/src/sap/m/TimePickerClockRenderer.js +1 -1
  401. package/src/sap/m/TimePickerClocks.js +8 -6
  402. package/src/sap/m/TimePickerClocksRenderer.js +1 -1
  403. package/src/sap/m/TimePickerInputs.js +2 -2
  404. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  405. package/src/sap/m/TimePickerInternals.js +7 -5
  406. package/src/sap/m/TimePickerInternalsRenderer.js +1 -1
  407. package/src/sap/m/TimePickerRenderer.js +1 -1
  408. package/src/sap/m/TimePickerSlider.js +5 -3
  409. package/src/sap/m/TimePickerSliderRenderer.js +1 -1
  410. package/src/sap/m/TimePickerSliders.js +4 -4
  411. package/src/sap/m/TimePickerSlidersRenderer.js +1 -1
  412. package/src/sap/m/Title.js +19 -4
  413. package/src/sap/m/TitlePropagationSupport.js +2 -2
  414. package/src/sap/m/TitleRenderer.js +1 -1
  415. package/src/sap/m/ToDoCardRenderer.js +1 -1
  416. package/src/sap/m/ToggleButton.js +18 -4
  417. package/src/sap/m/ToggleButtonRenderer.js +1 -1
  418. package/src/sap/m/Token.js +2 -2
  419. package/src/sap/m/TokenRenderer.js +1 -1
  420. package/src/sap/m/Tokenizer.js +34 -13
  421. package/src/sap/m/TokenizerRenderer.js +8 -22
  422. package/src/sap/m/Toolbar.js +30 -4
  423. package/src/sap/m/ToolbarLayoutData.js +2 -2
  424. package/src/sap/m/ToolbarRenderer.js +7 -6
  425. package/src/sap/m/ToolbarSeparator.js +4 -3
  426. package/src/sap/m/ToolbarSeparatorRenderer.js +1 -1
  427. package/src/sap/m/ToolbarSpacer.js +2 -2
  428. package/src/sap/m/ToolbarSpacerRenderer.js +1 -1
  429. package/src/sap/m/Tree.js +2 -2
  430. package/src/sap/m/TreeItemBase.js +2 -2
  431. package/src/sap/m/TreeItemBaseRenderer.js +1 -1
  432. package/src/sap/m/TreeRenderer.js +1 -1
  433. package/src/sap/m/UploadCollection.js +11 -26
  434. package/src/sap/m/UploadCollectionItem.js +2 -2
  435. package/src/sap/m/UploadCollectionParameter.js +2 -2
  436. package/src/sap/m/UploadCollectionRenderer.js +1 -1
  437. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +2 -2
  438. package/src/sap/m/VBox.js +2 -2
  439. package/src/sap/m/VBoxRenderer.js +1 -1
  440. package/src/sap/m/ValueStateHeader.js +2 -2
  441. package/src/sap/m/VariantItem.js +1 -1
  442. package/src/sap/m/VariantManagement.js +21 -3
  443. package/src/sap/m/ViewSettingsCustomItem.js +8 -7
  444. package/src/sap/m/ViewSettingsCustomTab.js +2 -2
  445. package/src/sap/m/ViewSettingsDialog.js +55 -49
  446. package/src/sap/m/ViewSettingsDialogRenderer.js +1 -1
  447. package/src/sap/m/ViewSettingsFilterItem.js +2 -2
  448. package/src/sap/m/ViewSettingsItem.js +2 -2
  449. package/src/sap/m/VisibleItem.js +2 -2
  450. package/src/sap/m/WheelSlider.js +5 -3
  451. package/src/sap/m/WheelSliderContainer.js +2 -2
  452. package/src/sap/m/WheelSliderContainerRenderer.js +1 -1
  453. package/src/sap/m/WheelSliderRenderer.js +1 -1
  454. package/src/sap/m/Wizard.js +19 -11
  455. package/src/sap/m/WizardProgressNavigator.js +2 -2
  456. package/src/sap/m/WizardProgressNavigatorRenderer.js +1 -1
  457. package/src/sap/m/WizardRenderer.js +1 -1
  458. package/src/sap/m/WizardStep.js +21 -6
  459. package/src/sap/m/WizardStepRenderer.js +1 -1
  460. package/src/sap/m/changeHandler/AddTableColumn.js +2 -2
  461. package/src/sap/m/changeHandler/ChangeLinkTarget.js +2 -2
  462. package/src/sap/m/changeHandler/CombineButtons.js +2 -2
  463. package/src/sap/m/changeHandler/MoveTableColumns.js +2 -2
  464. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +2 -2
  465. package/src/sap/m/changeHandler/SplitMenuButton.js +2 -2
  466. package/src/sap/m/delegate/DateNavigation.js +11 -2
  467. package/src/sap/m/delegate/ValueStateMessage.js +1 -1
  468. package/src/sap/m/designtime/ActionSheet.designtime.js +1 -1
  469. package/src/sap/m/designtime/Avatar.designtime.js +1 -1
  470. package/src/sap/m/designtime/Bar.designtime.js +1 -1
  471. package/src/sap/m/designtime/Breadcrumbs.designtime.js +1 -1
  472. package/src/sap/m/designtime/BusyDialog.designtime.js +1 -1
  473. package/src/sap/m/designtime/Button.designtime.js +1 -1
  474. package/src/sap/m/designtime/Carousel.designtime.js +1 -1
  475. package/src/sap/m/designtime/CheckBox.designtime.js +1 -1
  476. package/src/sap/m/designtime/Column.designtime.js +1 -1
  477. package/src/sap/m/designtime/ComboBox.designtime.js +1 -1
  478. package/src/sap/m/designtime/CustomListItem.designtime.js +1 -1
  479. package/src/sap/m/designtime/CustomTile.designtime.js +1 -1
  480. package/src/sap/m/designtime/DatePicker.designtime.js +1 -1
  481. package/src/sap/m/designtime/DateRangeSelection.designtime.js +1 -1
  482. package/src/sap/m/designtime/DateTimeInput.designtime.js +1 -1
  483. package/src/sap/m/designtime/DateTimePicker.designtime.js +1 -1
  484. package/src/sap/m/designtime/Dialog.designtime.js +1 -1
  485. package/src/sap/m/designtime/DraftIndicator.designtime.js +1 -1
  486. package/src/sap/m/designtime/ExpandableText.designtime.js +1 -1
  487. package/src/sap/m/designtime/FeedInput.designtime.js +1 -1
  488. package/src/sap/m/designtime/FeedListItem.designtime.js +1 -1
  489. package/src/sap/m/designtime/FlexBox.designtime.js +1 -1
  490. package/src/sap/m/designtime/HBox.designtime.js +1 -1
  491. package/src/sap/m/designtime/IconTabBar.designtime.js +1 -1
  492. package/src/sap/m/designtime/IconTabFilter.designtime.js +1 -1
  493. package/src/sap/m/designtime/IconTabSeparator.designtime.js +1 -1
  494. package/src/sap/m/designtime/Image.designtime.js +1 -1
  495. package/src/sap/m/designtime/Input.designtime.js +1 -1
  496. package/src/sap/m/designtime/InputBase.designtime.js +1 -1
  497. package/src/sap/m/designtime/InputListItem.designtime.js +1 -1
  498. package/src/sap/m/designtime/Label.designtime.js +1 -1
  499. package/src/sap/m/designtime/LightBox.designtime.js +1 -1
  500. package/src/sap/m/designtime/Link.designtime.js +1 -1
  501. package/src/sap/m/designtime/ListBase.designtime.js +1 -1
  502. package/src/sap/m/designtime/ListItemBase.designtime.js +1 -1
  503. package/src/sap/m/designtime/MenuButton.designtime.js +1 -1
  504. package/src/sap/m/designtime/MessagePage.designtime.js +1 -1
  505. package/src/sap/m/designtime/MessageStrip.designtime.js +1 -1
  506. package/src/sap/m/designtime/MultiComboBox.designtime.js +1 -1
  507. package/src/sap/m/designtime/MultiInput.designtime.js +1 -1
  508. package/src/sap/m/designtime/NewsContent.designtime.js +1 -1
  509. package/src/sap/m/designtime/ObjectAttribute.designtime.js +1 -1
  510. package/src/sap/m/designtime/ObjectHeader.designtime.js +1 -1
  511. package/src/sap/m/designtime/ObjectIdentifier.designtime.js +1 -1
  512. package/src/sap/m/designtime/ObjectListItem.designtime.js +1 -1
  513. package/src/sap/m/designtime/ObjectMarker.designtime.js +1 -1
  514. package/src/sap/m/designtime/ObjectNumber.designtime.js +1 -1
  515. package/src/sap/m/designtime/ObjectStatus.designtime.js +1 -1
  516. package/src/sap/m/designtime/OverflowToolbar.designtime.js +1 -1
  517. package/src/sap/m/designtime/OverflowToolbarButton.designtime.js +1 -1
  518. package/src/sap/m/designtime/Page.designtime.js +1 -1
  519. package/src/sap/m/designtime/Panel.designtime.js +1 -1
  520. package/src/sap/m/designtime/PlanningCalendar.designtime.js +1 -1
  521. package/src/sap/m/designtime/PlanningCalendarLegend.designtime.js +1 -1
  522. package/src/sap/m/designtime/Popover.designtime.js +1 -1
  523. package/src/sap/m/designtime/ProgressIndicator.designtime.js +1 -1
  524. package/src/sap/m/designtime/QuickView.designtime.js +1 -1
  525. package/src/sap/m/designtime/QuickViewCard.designtime.js +1 -1
  526. package/src/sap/m/designtime/RadioButton.designtime.js +1 -1
  527. package/src/sap/m/designtime/RadioButtonGroup.designtime.js +1 -1
  528. package/src/sap/m/designtime/RangeSlider.designtime.js +1 -1
  529. package/src/sap/m/designtime/RatingIndicator.designtime.js +1 -1
  530. package/src/sap/m/designtime/ScrollContainer.designtime.js +1 -1
  531. package/src/sap/m/designtime/SearchField.designtime.js +1 -1
  532. package/src/sap/m/designtime/SegmentedButton.designtime.js +1 -1
  533. package/src/sap/m/designtime/Select.designtime.js +1 -1
  534. package/src/sap/m/designtime/Slider.designtime.js +1 -1
  535. package/src/sap/m/designtime/SplitApp.designtime.js +1 -1
  536. package/src/sap/m/designtime/SplitContainer.designtime.js +1 -1
  537. package/src/sap/m/designtime/StandardListItem.designtime.js +1 -1
  538. package/src/sap/m/designtime/StepInput.designtime.js +1 -1
  539. package/src/sap/m/designtime/Switch.designtime.js +1 -1
  540. package/src/sap/m/designtime/TabContainer.designtime.js +1 -1
  541. package/src/sap/m/designtime/Table.designtime.js +1 -1
  542. package/src/sap/m/designtime/Text.designtime.js +1 -1
  543. package/src/sap/m/designtime/TextArea.designtime.js +1 -1
  544. package/src/sap/m/designtime/TimePicker.designtime.js +6 -1
  545. package/src/sap/m/designtime/Title.designtime.js +1 -1
  546. package/src/sap/m/designtime/ToggleButton.designtime.js +1 -1
  547. package/src/sap/m/designtime/Toolbar.designtime.js +1 -1
  548. package/src/sap/m/designtime/VBox.designtime.js +1 -1
  549. package/src/sap/m/designtime/VariantManagement.designtime.js +1 -1
  550. package/src/sap/m/designtime/Wizard.designtime.js +1 -1
  551. package/src/sap/m/designtime/library.designtime.js +1 -1
  552. package/src/sap/m/designtime/semantic/DetailPage.designtime.js +1 -1
  553. package/src/sap/m/designtime/semantic/SemanticPage.designtime.js +1 -1
  554. package/src/sap/m/designtime/semantic/ShareMenuPage.designtime.js +1 -1
  555. package/src/sap/m/flexibility/Avatar.flexibility.js +1 -1
  556. package/src/sap/m/flexibility/Bar.flexibility.js +1 -1
  557. package/src/sap/m/flexibility/Button.flexibility.js +1 -1
  558. package/src/sap/m/flexibility/CheckBox.flexibility.js +1 -1
  559. package/src/sap/m/flexibility/Dialog.flexibility.js +1 -1
  560. package/src/sap/m/flexibility/EngineFlex.js +1 -1
  561. package/src/sap/m/flexibility/ExpandableText.flexibility.js +1 -1
  562. package/src/sap/m/flexibility/IconTabBar.flexibility.js +1 -1
  563. package/src/sap/m/flexibility/IconTabFilter.flexibility.js +1 -1
  564. package/src/sap/m/flexibility/InputListItem.flexibility.js +1 -1
  565. package/src/sap/m/flexibility/Label.flexibility.js +1 -1
  566. package/src/sap/m/flexibility/Link.flexibility.js +1 -1
  567. package/src/sap/m/flexibility/MenuButton.flexibility.js +1 -1
  568. package/src/sap/m/flexibility/OverflowToolbar.flexibility.js +1 -1
  569. package/src/sap/m/flexibility/OverflowToolbarButton.flexibility.js +1 -1
  570. package/src/sap/m/flexibility/Page.flexibility.js +1 -1
  571. package/src/sap/m/flexibility/Panel.flexibility.js +1 -1
  572. package/src/sap/m/flexibility/Popover.flexibility.js +1 -1
  573. package/src/sap/m/flexibility/RadioButton.flexibility.js +1 -1
  574. package/src/sap/m/flexibility/StandardListItem.flexibility.js +1 -1
  575. package/src/sap/m/flexibility/Table.flexibility.js +1 -1
  576. package/src/sap/m/flexibility/Text.flexibility.js +1 -1
  577. package/src/sap/m/flexibility/Title.flexibility.js +1 -1
  578. package/src/sap/m/flexibility/Toolbar.flexibility.js +1 -1
  579. package/src/sap/m/inputUtils/ListHelpers.js +4 -2
  580. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +9 -3
  581. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +1 -1
  582. package/src/sap/m/inputUtils/calculateSelectionStart.js +1 -1
  583. package/src/sap/m/inputUtils/completeTextSelected.js +1 -1
  584. package/src/sap/m/inputUtils/filterItems.js +1 -1
  585. package/src/sap/m/inputUtils/forwardItemProperties.js +1 -1
  586. package/src/sap/m/inputUtils/forwardItemPropertiesToToken.js +1 -1
  587. package/src/sap/m/inputUtils/getTokenByItem.js +1 -1
  588. package/src/sap/m/inputUtils/highlightDOMElements.js +1 -1
  589. package/src/sap/m/inputUtils/inputsDefaultFilter.js +1 -1
  590. package/src/sap/m/inputUtils/itemsVisibilityHandler.js +1 -1
  591. package/src/sap/m/inputUtils/scrollToItem.js +1 -1
  592. package/src/sap/m/inputUtils/selectionRange.js +1 -1
  593. package/src/sap/m/inputUtils/typeAhead.js +11 -1
  594. package/src/sap/m/inputUtils/wordStartsWithValue.js +1 -1
  595. package/src/sap/m/library.js +133 -39
  596. package/src/sap/m/library.support.js +1 -1
  597. package/src/sap/m/messagebundle.properties +50 -30
  598. package/src/sap/m/messagebundle_ar.properties +55 -24
  599. package/src/sap/m/messagebundle_bg.properties +121 -90
  600. package/src/sap/m/messagebundle_ca.properties +49 -18
  601. package/src/sap/m/messagebundle_cs.properties +71 -40
  602. package/src/sap/m/messagebundle_cy.properties +47 -16
  603. package/src/sap/m/messagebundle_da.properties +47 -16
  604. package/src/sap/m/messagebundle_de.properties +57 -26
  605. package/src/sap/m/messagebundle_el.properties +64 -33
  606. package/src/sap/m/messagebundle_en.properties +45 -14
  607. package/src/sap/m/messagebundle_en_GB.properties +43 -12
  608. package/src/sap/m/messagebundle_en_US_sappsd.properties +40 -14
  609. package/src/sap/m/messagebundle_en_US_saprigi.properties +34 -20
  610. package/src/sap/m/messagebundle_en_US_saptrc.properties +44 -13
  611. package/src/sap/m/messagebundle_es.properties +63 -32
  612. package/src/sap/m/messagebundle_es_MX.properties +49 -18
  613. package/src/sap/m/messagebundle_et.properties +47 -16
  614. package/src/sap/m/messagebundle_fi.properties +50 -19
  615. package/src/sap/m/messagebundle_fr.properties +90 -59
  616. package/src/sap/m/messagebundle_fr_CA.properties +49 -18
  617. package/src/sap/m/messagebundle_hi.properties +56 -25
  618. package/src/sap/m/messagebundle_hr.properties +58 -27
  619. package/src/sap/m/messagebundle_hu.properties +67 -36
  620. package/src/sap/m/messagebundle_id.properties +49 -18
  621. package/src/sap/m/messagebundle_it.properties +58 -27
  622. package/src/sap/m/messagebundle_iw.properties +47 -16
  623. package/src/sap/m/messagebundle_ja.properties +63 -32
  624. package/src/sap/m/messagebundle_kk.properties +58 -27
  625. package/src/sap/m/messagebundle_ko.properties +50 -19
  626. package/src/sap/m/messagebundle_lt.properties +47 -16
  627. package/src/sap/m/messagebundle_lv.properties +49 -18
  628. package/src/sap/m/messagebundle_ms.properties +47 -16
  629. package/src/sap/m/messagebundle_nl.properties +50 -19
  630. package/src/sap/m/messagebundle_no.properties +50 -19
  631. package/src/sap/m/messagebundle_pl.properties +56 -25
  632. package/src/sap/m/messagebundle_pt.properties +49 -18
  633. package/src/sap/m/messagebundle_pt_PT.properties +47 -16
  634. package/src/sap/m/messagebundle_ro.properties +48 -17
  635. package/src/sap/m/messagebundle_ru.properties +47 -16
  636. package/src/sap/m/messagebundle_sh.properties +48 -17
  637. package/src/sap/m/messagebundle_sk.properties +48 -17
  638. package/src/sap/m/messagebundle_sl.properties +54 -23
  639. package/src/sap/m/messagebundle_sv.properties +57 -26
  640. package/src/sap/m/messagebundle_th.properties +78 -47
  641. package/src/sap/m/messagebundle_tr.properties +47 -16
  642. package/src/sap/m/messagebundle_uk.properties +47 -16
  643. package/src/sap/m/messagebundle_vi.properties +47 -16
  644. package/src/sap/m/messagebundle_zh_CN.properties +47 -16
  645. package/src/sap/m/messagebundle_zh_TW.properties +49 -18
  646. package/src/sap/m/p13n/AbstractContainer.js +3 -4
  647. package/src/sap/m/p13n/AbstractContainerItem.js +4 -4
  648. package/src/sap/m/p13n/BasePanel.js +58 -28
  649. package/src/sap/m/p13n/Container.js +2 -2
  650. package/src/sap/m/p13n/Engine.js +62 -52
  651. package/src/sap/m/p13n/FlexUtil.js +1 -1
  652. package/src/sap/m/p13n/GroupController.js +2 -3
  653. package/src/sap/m/p13n/GroupPanel.js +2 -4
  654. package/src/sap/m/p13n/MetadataHelper.js +2 -2
  655. package/src/sap/m/p13n/PersistenceProvider.js +28 -9
  656. package/src/sap/m/p13n/Popup.js +21 -9
  657. package/src/sap/m/p13n/QueryPanel.js +37 -17
  658. package/src/sap/m/p13n/SelectionController.js +23 -9
  659. package/src/sap/m/p13n/SelectionPanel.js +14 -5
  660. package/src/sap/m/p13n/SortController.js +3 -4
  661. package/src/sap/m/p13n/SortPanel.js +2 -4
  662. package/src/sap/m/p13n/enum/PersistenceMode.js +4 -1
  663. package/src/sap/m/p13n/enum/ProcessingStrategy.js +3 -2
  664. package/src/sap/m/p13n/handler/xConfigHandler.js +2 -2
  665. package/src/sap/m/p13n/modification/FlexModificationHandler.js +1 -1
  666. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +1 -1
  667. package/src/sap/m/p13n/modification/ModificationHandler.js +1 -1
  668. package/src/sap/m/p13n/modules/AdaptationProvider.js +4 -7
  669. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +16 -14
  670. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +5 -4
  671. package/src/sap/m/p13n/modules/UIManager.js +5 -5
  672. package/src/sap/m/p13n/modules/xConfigAPI.js +5 -2
  673. package/src/sap/m/plugins/CellSelector.js +114 -56
  674. package/src/sap/m/plugins/ColumnResizer.js +9 -9
  675. package/src/sap/m/plugins/CopyProvider.js +302 -0
  676. package/src/sap/m/plugins/DataStateIndicator.js +2 -2
  677. package/src/sap/m/plugins/PasteProvider.js +2 -2
  678. package/src/sap/m/plugins/PluginBase.js +8 -5
  679. package/src/sap/m/routing/RouteMatchedHandler.js +1 -1
  680. package/src/sap/m/routing/Router.js +1 -1
  681. package/src/sap/m/routing/Target.js +1 -1
  682. package/src/sap/m/routing/TargetHandler.js +1 -1
  683. package/src/sap/m/routing/Targets.js +1 -1
  684. package/src/sap/m/routing/async/Target.js +1 -1
  685. package/src/sap/m/routing/async/Targets.js +1 -1
  686. package/src/sap/m/routing/sync/Target.js +1 -1
  687. package/src/sap/m/routing/sync/Targets.js +1 -1
  688. package/src/sap/m/rules/Breadcrumbs.support.js +1 -1
  689. package/src/sap/m/rules/Button.support.js +1 -1
  690. package/src/sap/m/rules/CheckBox.support.js +1 -1
  691. package/src/sap/m/rules/DatePicker.support.js +1 -1
  692. package/src/sap/m/rules/DateRangeSelection.support.js +1 -1
  693. package/src/sap/m/rules/Dialog.support.js +1 -1
  694. package/src/sap/m/rules/FacetFilter.support.js +1 -1
  695. package/src/sap/m/rules/IconTabBar.support.js +1 -1
  696. package/src/sap/m/rules/Image.support.js +1 -1
  697. package/src/sap/m/rules/Input.support.js +1 -1
  698. package/src/sap/m/rules/Link.support.js +1 -1
  699. package/src/sap/m/rules/MaskInput.support.js +1 -1
  700. package/src/sap/m/rules/MessagePage.support.js +1 -1
  701. package/src/sap/m/rules/ObjectHeader.support.js +1 -1
  702. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  703. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  704. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  705. package/src/sap/m/rules/Panel.support.js +1 -1
  706. package/src/sap/m/rules/Select.support.js +1 -1
  707. package/src/sap/m/rules/SelectDialog.support.js +1 -1
  708. package/src/sap/m/rules/StepInput.support.js +1 -1
  709. package/src/sap/m/rules/Table.support.js +1 -1
  710. package/src/sap/m/rules/Title.support.js +1 -1
  711. package/src/sap/m/rules/Tokenizer.support.js +1 -1
  712. package/src/sap/m/rules/ViewSettingsDialog.support.js +1 -1
  713. package/src/sap/m/semantic/AddAction.js +2 -2
  714. package/src/sap/m/semantic/CancelAction.js +2 -2
  715. package/src/sap/m/semantic/DeleteAction.js +2 -2
  716. package/src/sap/m/semantic/DetailPage.js +2 -2
  717. package/src/sap/m/semantic/DiscussInJamAction.js +2 -2
  718. package/src/sap/m/semantic/EditAction.js +2 -2
  719. package/src/sap/m/semantic/FavoriteAction.js +2 -2
  720. package/src/sap/m/semantic/FilterAction.js +2 -2
  721. package/src/sap/m/semantic/FilterSelect.js +2 -2
  722. package/src/sap/m/semantic/FlagAction.js +2 -2
  723. package/src/sap/m/semantic/ForwardAction.js +2 -2
  724. package/src/sap/m/semantic/FullscreenPage.js +2 -2
  725. package/src/sap/m/semantic/GroupAction.js +2 -2
  726. package/src/sap/m/semantic/GroupSelect.js +2 -2
  727. package/src/sap/m/semantic/MainAction.js +2 -2
  728. package/src/sap/m/semantic/MasterPage.js +2 -2
  729. package/src/sap/m/semantic/MessagesIndicator.js +2 -2
  730. package/src/sap/m/semantic/MultiSelectAction.js +2 -2
  731. package/src/sap/m/semantic/NegativeAction.js +2 -2
  732. package/src/sap/m/semantic/OpenInAction.js +2 -2
  733. package/src/sap/m/semantic/PositiveAction.js +2 -2
  734. package/src/sap/m/semantic/PrintAction.js +2 -2
  735. package/src/sap/m/semantic/SaveAction.js +2 -2
  736. package/src/sap/m/semantic/Segment.js +2 -2
  737. package/src/sap/m/semantic/SegmentedContainer.js +2 -2
  738. package/src/sap/m/semantic/SemanticButton.js +2 -2
  739. package/src/sap/m/semantic/SemanticConfiguration.js +2 -2
  740. package/src/sap/m/semantic/SemanticControl.js +2 -2
  741. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +2 -2
  742. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +2 -2
  743. package/src/sap/m/semantic/SemanticPage.js +2 -2
  744. package/src/sap/m/semantic/SemanticPageRenderer.js +1 -1
  745. package/src/sap/m/semantic/SemanticSelect.js +2 -2
  746. package/src/sap/m/semantic/SemanticToggleButton.js +2 -2
  747. package/src/sap/m/semantic/SendEmailAction.js +2 -2
  748. package/src/sap/m/semantic/SendMessageAction.js +2 -2
  749. package/src/sap/m/semantic/ShareInJamAction.js +2 -2
  750. package/src/sap/m/semantic/ShareMenu.js +2 -2
  751. package/src/sap/m/semantic/ShareMenuPage.js +2 -2
  752. package/src/sap/m/semantic/SortAction.js +2 -2
  753. package/src/sap/m/semantic/SortSelect.js +2 -2
  754. package/src/sap/m/table/Util.js +31 -11
  755. package/src/sap/m/table/columnmenu/ActionItem.js +20 -14
  756. package/src/sap/m/table/columnmenu/Entry.js +18 -14
  757. package/src/sap/m/table/columnmenu/Item.js +21 -19
  758. package/src/sap/m/table/columnmenu/ItemBase.js +26 -23
  759. package/src/sap/m/table/columnmenu/ItemContainer.js +1 -1
  760. package/src/sap/m/table/columnmenu/Menu.js +107 -106
  761. package/src/sap/m/table/columnmenu/MenuRenderer.js +2 -4
  762. package/src/sap/m/table/columnmenu/QuickAction.js +12 -11
  763. package/src/sap/m/table/columnmenu/QuickActionBase.js +12 -11
  764. package/src/sap/m/table/columnmenu/QuickActionContainer.js +1 -1
  765. package/src/sap/m/table/columnmenu/QuickActionItem.js +10 -9
  766. package/src/sap/m/table/columnmenu/QuickGroup.js +10 -8
  767. package/src/sap/m/table/columnmenu/QuickGroupItem.js +10 -9
  768. package/src/sap/m/table/columnmenu/QuickSort.js +11 -9
  769. package/src/sap/m/table/columnmenu/QuickSortItem.js +16 -9
  770. package/src/sap/m/table/columnmenu/QuickTotal.js +10 -8
  771. package/src/sap/m/table/columnmenu/QuickTotalItem.js +10 -9
  772. package/src/sap/m/themes/base/Carousel.less +17 -4
  773. package/src/sap/m/themes/base/ColumnResizer.less +1 -1
  774. package/src/sap/m/themes/base/Dialog.less +22 -52
  775. package/src/sap/m/themes/base/FeedInput.less +4 -0
  776. package/src/sap/m/themes/base/FeedListItem.less +1 -1
  777. package/src/sap/m/themes/base/GenericTile.less +97 -16
  778. package/src/sap/m/themes/base/IconTabBar.less +7 -4
  779. package/src/sap/m/themes/base/IllustratedMessage.less +1 -0
  780. package/src/sap/m/themes/base/InputBase.less +11 -2
  781. package/src/sap/m/themes/base/Label.less +22 -0
  782. package/src/sap/m/themes/base/Link.less +3 -1
  783. package/src/sap/m/themes/base/MenuButton.less +1 -1
  784. package/src/sap/m/themes/base/MessageBox.less +5 -5
  785. package/src/sap/m/themes/base/MessageView.less +4 -0
  786. package/src/sap/m/themes/base/MultiComboBox.less +6 -4
  787. package/src/sap/m/themes/base/NotificationListBase.less +3 -18
  788. package/src/sap/m/themes/base/NotificationListGroup.less +14 -0
  789. package/src/sap/m/themes/base/NotificationListItem.less +12 -0
  790. package/src/sap/m/themes/base/ObjectNumber.less +9 -0
  791. package/src/sap/m/themes/base/ObjectStatus.less +44 -0
  792. package/src/sap/m/themes/base/PlanningCalendar.less +1 -0
  793. package/src/sap/m/themes/base/RadioButton.less +1 -1
  794. package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +1 -0
  795. package/src/sap/m/themes/base/SlideTile.less +4 -4
  796. package/src/sap/m/themes/base/SplitButton.less +3 -1
  797. package/src/sap/m/themes/base/SuggestionsPopover.less +14 -6
  798. package/src/sap/m/themes/base/Table.less +9 -16
  799. package/src/sap/m/themes/base/Text.less +1 -0
  800. package/src/sap/m/themes/base/TextArea.less +57 -16
  801. package/src/sap/m/themes/base/Tokenizer.less +23 -0
  802. package/src/sap/m/themes/base/Toolbar.less +1 -1
  803. package/src/sap/m/themes/base/WizardProgressNavigator.less +4 -3
  804. package/src/sap/m/themes/base/library.source.less +1 -1
  805. package/src/sap/m/themes/base/p13n.QueryPanel.less +5 -0
  806. package/src/sap/m/themes/sap_hcb/Dialog.less +2 -2
  807. package/src/sap/m/themes/sap_hcb/ObjectStatus.less +40 -0
  808. package/src/sap/m/themes/sap_hcb/library.source.less +1 -1
  809. package/src/sap/m/themes/sap_horizon/Label.less +10 -0
  810. package/src/sap/m/themes/sap_horizon/Text.less +10 -0
  811. package/src/sap/m/upload/UploadSet.js +65 -5
  812. package/src/sap/m/upload/UploadSetItem.js +15 -11
  813. package/src/sap/m/upload/UploadSetRenderer.js +1 -1
  814. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +2 -2
  815. package/src/sap/m/upload/Uploader.js +1 -1
  816. package/src/sap/m/upload/UploaderHttpRequestMethod.js +1 -1
@@ -1,15 +1,15 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
7
  "./PluginBase",
8
8
  "sap/ui/events/KeyCodes",
9
9
  "sap/ui/core/Core",
10
- "sap/ui/thirdparty/jquery",
10
+ "sap/ui/core/Element",
11
11
  "sap/base/Log"
12
- ], function (PluginBase, KeyCodes, Core, jQuery, Log) {
12
+ ], function (PluginBase, KeyCodes, Core, Element, Log) {
13
13
  "use strict";
14
14
 
15
15
  var SELECTION_DIRECTION = {
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  *
54
54
  * @extends sap.m.plugins.PluginBase
55
55
  * @class
56
- * @version 1.109.0
56
+ * @version 1.111.0
57
57
  * @author SAP SE
58
58
  *
59
59
  * @private
@@ -62,7 +62,22 @@ sap.ui.define([
62
62
  var CellSelector = PluginBase.extend("sap.m.plugins.CellSelector", {
63
63
  metadata: {
64
64
  library: "sap.m",
65
- properties: {},
65
+ properties: {
66
+ /**
67
+ * For the {@link sap.ui.table.Table} control, defines the number of row contexts that needs to be retrived from the binding
68
+ * when the range selection (e.g. enhancing the cell selection block to cover all rows of a column) is triggered by the user.
69
+ * This helps to make the contexts already available for the user actions after the cell selection (e.g. copy to clipboard).
70
+ * This property accepts positive integer values.
71
+ * <b>Note:</b> To avoid performance problems, the <code>rangeLimit</code> should only be set higher than the default value of 200 in the following cases:
72
+ * <ul>
73
+ * <li>With client-side models</li>
74
+ * <li>With server-side models if they are used in client mode</li>
75
+ * <li>If the entity set is small</li>
76
+ * </ul>
77
+ * In other cases, it is recommended to set the <code>rangeLimit</code> to at least double the value of the {@link sap.ui.table.Table#getThreshold threshold} property.
78
+ */
79
+ rangeLimit: {type: "int", group: "Behavior", defaultValue: 200}
80
+ },
66
81
  events: {}
67
82
  }
68
83
  });
@@ -114,34 +129,48 @@ sap.ui.define([
114
129
  };
115
130
 
116
131
  /**
117
- * Retrieve the cells for the current selection.
132
+ * Returns the cell selection range.
133
+ * The value <code>Infinity</code> in <code>rowIndex</code> meant for until the limit is reached.
118
134
  *
119
135
  * Note: This method is subject to change.
120
- * @returns {Object} contains the selected cells in each selected row
136
+ * @returns {{from: {rowIndex: int, colIndex: int}, to: {rowIndex: int, colIndex: int}} The range of the selection
121
137
  * @private
122
- * @experimental Since 1.104
138
+ * @experimental Since 1.110
139
+ * @ui5-restricted sap.m.plugins.CopyProvider
123
140
  */
124
- CellSelector.prototype.getSelectedCells = function () {
141
+ CellSelector.prototype.getSelectionRange = function () {
125
142
  if (!this._bSelecting) {
126
- return {};
143
+ return null;
127
144
  }
128
- var oNormalizedBounds = getNormalizedBounds(this._oSession.mSource, this._oSession.mTarget);
129
-
130
- var oSelection = {};
131
- for (var iRow = oNormalizedBounds.from.rowIndex; iRow < oNormalizedBounds.to.rowIndex; iRow++) {
132
- var oRowContext = this.getConfig("contextByIndex", this.getControl(), iRow), aColumns = [];
133
- for (var iCol = oNormalizedBounds.from.colIndex; iCol < oNormalizedBounds.to.colIndex; iCol++) {
134
- var oColumn = this.getConfig("columnByIndex", this.getControl(), iCol);
135
- if (oColumn) {
136
- aColumns.push(iCol);
137
- }
138
- }
139
- oSelection[iRow] = {
140
- rowContext: oRowContext,
141
- columnIndices: aColumns
142
- };
145
+
146
+ var mSelectionRange = getNormalizedBounds(this._oSession.mSource, this._oSession.mTarget);
147
+ if (isNaN(mSelectionRange.from.rowIndex) || isNaN(mSelectionRange.to.rowIndex)) {
148
+ return null;
149
+ }
150
+
151
+ var iMaxColumnIndex = this.getConfig("getVisibleColumns", this.getControl()).length - 1;
152
+ mSelectionRange.from.colIndex = Math.max(mSelectionRange.from.colIndex, 0);
153
+ mSelectionRange.to.colIndex = Math.min(mSelectionRange.to.colIndex, iMaxColumnIndex);
154
+ mSelectionRange.from.rowIndex = Math.max(mSelectionRange.from.rowIndex, 0);
155
+ return mSelectionRange;
156
+ };
157
+
158
+ /**
159
+ * Returns the row binding context of the current selection.
160
+ *
161
+ * Note: This method is subject to change.
162
+ * @returns {sap.ui.model.Context[]} The binding context of selected rows
163
+ * @private
164
+ * @experimental Since 1.110
165
+ * @ui5-restricted sap.m.plugins.CopyProvider
166
+ */
167
+ CellSelector.prototype.getSelectedRowContexts = function () {
168
+ var mSelectionRange = this.getSelectionRange();
169
+ if (!mSelectionRange) {
170
+ return [];
143
171
  }
144
- return oSelection;
172
+
173
+ return this.getConfig("rowContexts", this.getControl(), mSelectionRange.from.rowIndex, mSelectionRange.to.rowIndex, this.getRangeLimit());
145
174
  };
146
175
 
147
176
  CellSelector.prototype.onsapspace = function (oEvent) {
@@ -264,19 +293,12 @@ sap.ui.define([
264
293
  // CTRL+SHIFT+A: Clear Selection
265
294
  if (isKeyCombination(oEvent, KeyCodes.A, true, true)) {
266
295
  this.clearSelection();
296
+ oEvent.preventDefault();
297
+ oEvent.setMarked();
267
298
  }
268
- oEvent.preventDefault();
269
- oEvent.setMarked();
270
299
  }
271
300
  };
272
301
 
273
- CellSelector.prototype.onkeyup = function (oEvent) {
274
- if (!this._bSelecting) {
275
- return;
276
- }
277
- oEvent.setMarked();
278
- };
279
-
280
302
  // Mouse Navigation
281
303
 
282
304
  CellSelector.prototype.ontouchstart = function (oEvent) {
@@ -552,6 +574,10 @@ sap.ui.define([
552
574
  return;
553
575
  }
554
576
 
577
+ if (mBounds.to.rowIndex == Infinity) {
578
+ this.getConfig("loadContexts", this.getControl(), mBounds.from.rowIndex, this.getRangeLimit());
579
+ }
580
+
555
581
  var oBorderOptions = this._getBorderOptions(mBounds, mDrawableBounds);
556
582
  this._oSession.aCells = oSelection.cells;
557
583
  this._drawSelection(mDrawableBounds, oBorderOptions);
@@ -894,6 +920,16 @@ sap.ui.define([
894
920
  });
895
921
  oSelectionPlugin.detachEvent(sEvent, oPlugin.clearSelection, oPlugin);
896
922
  },
923
+ /**
924
+ * Get visible columns of the table.
925
+ * @param {sap.ui.table.Table} oTable table instance
926
+ * @returns {sap.ui.table.Column[]} array of visible columns
927
+ */
928
+ getVisibleColumns: function (oTable) {
929
+ return oTable.getColumns().filter(function (oColumn) {
930
+ return oColumn.getDomRef();
931
+ });
932
+ },
897
933
  /**
898
934
  * Checks if the selection is enabled for the control.
899
935
  * @param {sap.ui.core.Control} oControl control instance
@@ -913,7 +949,7 @@ sap.ui.define([
913
949
  getCellRef: function (oTable, mPosition) {
914
950
  var oRow = this._getRowByIndex(oTable, mPosition.rowIndex);
915
951
  if (oRow) {
916
- var oColumn = this._getColumns(oTable)[mPosition.colIndex];
952
+ var oColumn = this.getVisibleColumns(oTable)[mPosition.colIndex];
917
953
  var oCell = oColumn && oRow.getCells()[mPosition.colIndex];
918
954
  if (oCell) {
919
955
  return oCell.$().closest(this.selectableCells)[0];
@@ -941,7 +977,7 @@ sap.ui.define([
941
977
  var aRows = oTable.getRows();
942
978
  return {
943
979
  from: {rowIndex: aRows[0].getIndex(), colIndex: 0},
944
- to: {rowIndex: aRows[aRows.length - 1].getIndex(), colIndex: this._getColumns(oTable).length - 1}
980
+ to: {rowIndex: aRows[aRows.length - 1].getIndex(), colIndex: this.getVisibleColumns(oTable).length - 1}
945
981
  };
946
982
  },
947
983
  /**
@@ -989,19 +1025,19 @@ sap.ui.define([
989
1025
  mBounds.from.colIndex = Math.max(mBounds.from.colIndex, 0);
990
1026
 
991
1027
  mBounds.to.rowIndex = Math.min(mBounds.to.rowIndex, iBindingLength);
992
- mBounds.to.colIndex = Math.min(mBounds.to.colIndex, this._getColumns(oTable).length - 1);
1028
+ mBounds.to.colIndex = Math.min(mBounds.to.colIndex, this.getVisibleColumns(oTable).length - 1);
993
1029
 
994
1030
  var aCells = [];
995
1031
 
996
1032
  // Replace MIN/MAX with according number for focus object
997
1033
  if (oOptions && oOptions.info) {
998
1034
  oOptions.info.focus.rowIndex = Math.min(Math.max(oOptions.info.focus.rowIndex, 0), iBindingLength);
999
- oOptions.info.focus.colIndex = Math.min(Math.max(oOptions.info.focus.colIndex, 0), this._getColumns(oTable).length - 1);
1035
+ oOptions.info.focus.colIndex = Math.min(Math.max(oOptions.info.focus.colIndex, 0), this.getVisibleColumns(oTable).length - 1);
1000
1036
  this._focusCell(oTable, oOptions.info.focus, oOptions.info.direction);
1001
1037
  }
1002
1038
 
1003
1039
  // If table is in Single Selection Mode, only select the row with focus in it
1004
- if (mBounds.from.colIndex === 0 && mBounds.to.colIndex === (this._getColumns(oTable).length - 1) && oTable.getSelectionMode() == "Single") {
1040
+ if (mBounds.from.colIndex === 0 && mBounds.to.colIndex === (this.getVisibleColumns(oTable).length - 1) && oTable.getSelectionMode() == "Single") {
1005
1041
  mBounds.from.rowIndex = mSelectionBounds.from.rowIndex = oOptions.info.focus.rowIndex;
1006
1042
  mBounds.to.rowIndex = mSelectionBounds.to.rowIndex = oOptions.info.focus.rowIndex;
1007
1043
  }
@@ -1024,7 +1060,7 @@ sap.ui.define([
1024
1060
  * @returns {int} row index
1025
1061
  */
1026
1062
  rowIndex: function (oTable, oCellDomRef) {
1027
- return jQuery(oCellDomRef).control(0, true).getIndex();
1063
+ return Element.closestTo(oCellDomRef, true).getIndex();
1028
1064
  },
1029
1065
  /**
1030
1066
  * Retrieves the column index for the given cell's DOM reference.
@@ -1033,13 +1069,45 @@ sap.ui.define([
1033
1069
  * @returns {int} column index
1034
1070
  */
1035
1071
  colIndex: function (oTable, oCellDomRef) {
1036
- return this._getColumns(oTable).indexOf(Core.byId(oCellDomRef.getAttribute("data-sap-ui-colid")));
1072
+ return this.getVisibleColumns(oTable).indexOf(Core.byId(oCellDomRef.getAttribute("data-sap-ui-colid")));
1037
1073
  },
1038
- contextByIndex: function(oTable, iRowIndex) {
1039
- return oTable.getContextByIndex(iRowIndex);
1074
+ /**
1075
+ * Loads contexts according to the provided parameters without changing the binding's state.
1076
+ *
1077
+ * @param {sap.ui.table.Table} oTable The Table instance
1078
+ * @param {int} iStartIndex The index where to start the retrieval of contexts
1079
+ * @param {int} iLength The number of contexts to retrieve beginning from the start index.
1080
+ */
1081
+ loadContexts: function(oTable, iStartIndex, iLength) {
1082
+ var oBinding = oTable.getBinding("rows");
1083
+ if (!oBinding || oBinding.isA("sap.ui.model.ClientListBinding")) {
1084
+ return;
1085
+ }
1086
+
1087
+ oBinding.getContexts(Math.max(0, iStartIndex), Math.max(1, iLength), 0, true);
1088
+ },
1089
+ /**
1090
+ * Retrieves the row contexts of the table according to the specified parameters.
1091
+ * @param {sap.ui.table.Table} oTable The table instance
1092
+ * @param {int} iFromIndex The start index
1093
+ * @param {int} iToIndex The end index
1094
+ * @param {int} iLimit The range limit
1095
+ * @returns {sap.ui.model.Context[]} A portion of the row binding contexts
1096
+ */
1097
+ rowContexts: function(oTable, iFromIndex, iToIndex, iLimit) {
1098
+ if (iToIndex == Infinity) {
1099
+ var iMaxIndex = oTable.getBinding("rows").getAllCurrentContexts().length - 1;
1100
+ iToIndex = Math.min(iToIndex, iFromIndex + iLimit - 1, iMaxIndex);
1101
+ }
1102
+
1103
+ var aContexts = [];
1104
+ for (var i = iFromIndex; i <= iToIndex; i++) {
1105
+ aContexts.push(oTable.getContextByIndex(i));
1106
+ }
1107
+ return aContexts;
1040
1108
  },
1041
1109
  columnByIndex: function(oTable, iColIndex) {
1042
- var oColumn = this._getColumns(oTable)[iColIndex];
1110
+ var oColumn = this.getVisibleColumns(oTable)[iColIndex];
1043
1111
  if (!oColumn.getVisible()) {
1044
1112
  return;
1045
1113
  }
@@ -1047,7 +1115,7 @@ sap.ui.define([
1047
1115
  },
1048
1116
  isNavigatableCell: function (oTable, mPosition) {
1049
1117
  if ((mPosition.rowIndex < 0 || mPosition.rowIndex >= oTable.getBinding("rows").getLength()
1050
- || mPosition.colIndex < 0 || mPosition.colIndex >= this._getColumns(oTable).length)
1118
+ || mPosition.colIndex < 0 || mPosition.colIndex >= this.getVisibleColumns(oTable).length)
1051
1119
  && !(mPosition.rowIndex == -Infinity || mPosition.rowIndex == Infinity
1052
1120
  || mPosition.colIndex == -Infinity || mPosition.colIndex == Infinity)) {
1053
1121
  return false;
@@ -1093,16 +1161,6 @@ sap.ui.define([
1093
1161
  }
1094
1162
  oCellRef && oCellRef.focus();
1095
1163
  },
1096
- /**
1097
- * Get visible columns of the table.
1098
- * @param {sap.ui.table.Table} oTable table instance
1099
- * @returns {sap.ui.table.Column[]} array of visible columns
1100
- */
1101
- _getColumns: function (oTable) {
1102
- return oTable.getColumns().filter(function (oColumn) {
1103
- return oColumn.getDomRef();
1104
- });
1105
- },
1106
1164
  /**
1107
1165
  * Retrieve a row by its index.
1108
1166
  * @param {sap.ui.table.Table} oTable table instance
@@ -1,22 +1,23 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
8
  "./PluginBase",
9
9
  "sap/ui/core/Core",
10
+ "sap/ui/core/Element",
10
11
  "sap/ui/core/InvisibleText",
11
12
  "sap/ui/Device",
12
13
  "sap/m/ColumnPopoverActionItem",
13
14
  "sap/m/table/columnmenu/QuickAction",
14
15
  "sap/m/Button",
15
16
  "sap/ui/thirdparty/jquery",
16
- "sap/ui/dom/jquery/control", // jQuery Plugin "control"
17
17
  "sap/ui/dom/jquery/Aria" // jQuery Plugin "aria"
18
18
  ], function(PluginBase,
19
19
  Core,
20
+ Element,
20
21
  InvisibleText,
21
22
  Device,
22
23
  ColumnPopoverActionItem,
@@ -39,7 +40,7 @@ sap.ui.define([
39
40
  *
40
41
  * @extends sap.ui.core.Element
41
42
  * @author SAP SE
42
- * @version 1.109.0
43
+ * @version 1.111.0
43
44
  *
44
45
  * @public
45
46
  * @since 1.91
@@ -124,7 +125,7 @@ sap.ui.define([
124
125
  */
125
126
  ColumnResizer.prototype._updateAriaDescribedBy = function(sAction) {
126
127
  this._aResizables.forEach(function(oResizable) {
127
- var oResizableControl = jQuery(oResizable).control(0, true);
128
+ var oResizableControl = Element.closestTo(oResizable, true);
128
129
  var oFocusDomRef = oResizableControl && oResizableControl.getFocusDomRef();
129
130
  jQuery(oFocusDomRef)[sAction + "AriaDescribedBy"](InvisibleText.getStaticId("sap.m", "COLUMNRESIZER_RESIZABLE"));
130
131
  });
@@ -346,14 +347,14 @@ sap.ui.define([
346
347
  */
347
348
  ColumnResizer.prototype._startResizeSession = function(iIndex) {
348
349
  oSession.$CurrentColumn = jQuery(this._aResizables[iIndex]);
349
- oSession.oCurrentColumn = oSession.$CurrentColumn.control(0, true);
350
+ oSession.oCurrentColumn = Element.closestTo(oSession.$CurrentColumn[0], true);
350
351
  oSession.fCurrentColumnWidth = oSession.$CurrentColumn.width();
351
352
  oSession.iMaxDecrease = this._getColumnMinWidth(oSession.oCurrentColumn) - oSession.fCurrentColumnWidth;
352
353
  oSession.iEmptySpace = this.getConfig("emptySpace", this.getControl());
353
354
 
354
355
  if (oSession.iEmptySpace != -1) {
355
356
  oSession.$NextColumn = jQuery(this._aResizables[iIndex + 1]);
356
- oSession.oNextColumn = oSession.$NextColumn.control(0, true);
357
+ oSession.oNextColumn = Element.closestTo(oSession.$NextColumn[0], true);
357
358
  oSession.fNextColumnWidth = oSession.$NextColumn.width() || 0;
358
359
  oSession.iMaxIncrease = oSession.iEmptySpace + oSession.fNextColumnWidth - this._getColumnMinWidth(oSession.oNextColumn);
359
360
  } else {
@@ -396,7 +397,7 @@ sap.ui.define([
396
397
  // when any column is resized, then make all visible columns have fixed width
397
398
  this.getConfig("fixAutoWidthColumns") && this._aResizables.forEach(function(oResizable) {
398
399
  var $Resizable = jQuery(oResizable),
399
- oColumn = $Resizable.control(0, true),
400
+ oColumn = Element.closestTo(oResizable, true),
400
401
  sWidth = oColumn.getWidth();
401
402
 
402
403
  if (sWidth && sWidth.toLowerCase() != "auto") {
@@ -506,9 +507,8 @@ sap.ui.define([
506
507
  }
507
508
 
508
509
  return new QuickAction({
509
- label: Core.getLibraryResourceBundle("sap.m").getText("table.COLUMN_MENU_RESIZE"),
510
510
  content: new Button({
511
- icon: "sap-icon://resize-horizontal",
511
+ text: Core.getLibraryResourceBundle("sap.m").getText("table.COLUMNMENU_RESIZE"),
512
512
  press: function() {
513
513
  oColumnMenu.close();
514
514
  this.startResizing(oColumn.getDomRef());
@@ -0,0 +1,302 @@
1
+ /* eslint-disable no-loop-func */
2
+ /*!
3
+ * OpenUI5
4
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
5
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
6
+ */
7
+
8
+ sap.ui.define(["./PluginBase", "sap/ui/core/Core"], function(PluginBase, Core) {
9
+ "use strict";
10
+
11
+ /**
12
+ * Constructor for a new CopyProvider plugin that can be used to copy table rows to the clipboard.
13
+ *
14
+ * @param {string} [sId] ID for the new <code>CopyProvider</code>, generated automatically if no ID is given
15
+ * @param {object} [mSettings] Initial settings for the <code>CopyProvider</code>
16
+ *
17
+ * @class
18
+ * Provides copy to clipboard capabilities for the selected rows of the table.
19
+ * This plugin can copy individual cells if the {@link sap.m.plugins.CellSelector CellSelector} plugin is also enabled for that table.<br>
20
+ *
21
+ * <b>Note:</b> If a <code>sap.ui.table.Table</code> control is used together with server-side models, the {@link sap.ui.table.plugins.MultiSelectionPlugin MultiSelectionPlugin}
22
+ * must be set for that table to make this plugin work property with range selections. See also the {@link sap.ui.table.plugins.MultiSelectionPlugin#getLimit limit} property of
23
+ * the <code>MultiSelectionPlugin</code>.<br>
24
+ * <b>Note:</b> This plugin requires a secure origin, either HTTPS or localhost, in order to access the browser's clipboard API.
25
+ * For more information, see {@link https://w3c.github.io/webappsec-secure-contexts/}.
26
+ *
27
+ * @extends sap.ui.core.Element
28
+ * @author SAP SE
29
+ * @version 1.111.0
30
+ *
31
+ * @public
32
+ * @since 1.110
33
+ * @alias sap.m.plugins.CopyProvider
34
+ */
35
+ var CopyProvider = PluginBase.extend("sap.m.plugins.CopyProvider", /** @lends sap.m.plugins.CopyProvider.prototype */ { metadata: {
36
+ library: "sap.m",
37
+ properties: {
38
+ /**
39
+ * Callback function to extract the cell data that is copied to the clipboard.
40
+ *
41
+ * @callback sap.m.plugins.CopyProvider.extractDataHandler
42
+ * @param {sap.ui.model.Context|sap.m.ColumnListItem} oContextOrRow The binding context of the selected row or the row instance if there is no binding
43
+ * @param {sap.m.Column|sap.ui.table.Column|sap.ui.mdc.table.Column} oColumn The related column instance of selected cells
44
+ * @returns {*|Array.<*>|undefined|null} The cell data to be copied or array of cell data to be split into different cells in the clipboard. <code>undefined</code> or <code>null</code> to exclude the cell from copying.
45
+ * @public
46
+ */
47
+ /**
48
+ * Defines a {@link sap.m.plugins.CopyProvider.extractDataHandler callback function} that gets called for each selected cell to extract the cell data that is copied to the clipboard.
49
+ *
50
+ * The callback function gets called with the binding context of the selected row and the column instance parameters.<br>
51
+ * For the <code>sap.ui.table.Table</code> control, the row context parameter can also be the context of an unselectable row in case of a range selection, for example the context of grouping or sub-total row.<br>
52
+ * For the <code>sap.m.Table</code> control, if the <code>items</code> aggregation of the table is not bound then the callback function gets called with the row instance instead of the binding context.<br>
53
+ * The callback function must return the cell data that is then stringified and copied to the clipboard.<br>
54
+ * If an array is returned from the callback function, then each array values will be copied as a separate cell into the clipboard.<br>
55
+ * If a column should not be copied to the clipboard, then the callback function must return <code>undefined</code> or <code>null</code> for each cell of the same column.<br>
56
+ * <br>
57
+ * <b>Note:</b> This property is mandatory to make the <code>CopyProvider</code> plugin work, and it must be set in the constructor.
58
+ */
59
+ extractData: { type: "function", invalidate: false },
60
+
61
+ /**
62
+ * Determines whether unselected rows that are located between the selected rows are copied to the clipboard as an empty row.
63
+ *
64
+ * This can be useful for maintaining the original structure of the data when it is pasted into a new location (e.g. spreadsheets).
65
+ */
66
+ copySparse: { type: "boolean", defaultValue: false, invalidate: false },
67
+
68
+ /**
69
+ * Callback function to exclude certain contexts from being copied to the clipboard.
70
+ *
71
+ * @callback sap.m.plugins.CopyProvider.excludeContextHandler
72
+ * @param {sap.ui.model.Context|sap.m.ColumnListItem} oContextOrRow The binding context of the selected row or the row instance if there is no binding
73
+ * @returns {boolean} <code>true</code> to exclude the context, <code>false</code> otherwise
74
+ * @public
75
+ */
76
+ /**
77
+ * Defines a {@link sap.m.plugins.CopyProvider.excludeContextHandler callback function} which gets called to exclude certain contexts from being copied to the clipboard.
78
+ *
79
+ * This callback function gets called with the binding context or the row instance if there is no binding.
80
+ * Return <code>true</code> to exclude the context, <code>false</code> otherwise.
81
+ */
82
+ excludeContext: { type: "function", invalidate: false }
83
+ },
84
+ events: {
85
+ /**
86
+ * This event is fired if there is a selection, and the user triggers the copy action.
87
+ *
88
+ * This can be done with the standard paste keyboard shortcut when the focus is on a selected row or cell. Also the {@link #copySelectionData} API can be called,
89
+ * for example, from the press handler of a copy button in a table toolbar to start the copy action synthetically, which might cause this event to be fired.
90
+ * To avoid writing the selection to the clipboard, call <code>preventDefault</code> on the event instance.
91
+ */
92
+ copy: {
93
+ allowPreventDefault: true,
94
+ parameters: {
95
+ /**
96
+ * Two-dimensional mutable array of selection data to be copied to the clipboard.
97
+ * The first dimension represents the selected rows, and the second dimension represents the cells of the selected rows.
98
+ */
99
+ data: { type: "any[][]" }
100
+ }
101
+ }
102
+ }
103
+ }});
104
+
105
+ function isCellValueCopyable(vCellValue) {
106
+ return vCellValue != null;
107
+ }
108
+
109
+ function stringifyForSpreadSheet(vCellValue) {
110
+ if (isCellValueCopyable(vCellValue)) {
111
+ var sCellValue = String(vCellValue);
112
+ return /\n|\r|\t/.test(sCellValue) ? '"' + sCellValue.replaceAll('"', '""') + '"' : sCellValue;
113
+ } else {
114
+ return "";
115
+ }
116
+ }
117
+
118
+ function copyMatrixForSpreadSheet(aMatrix) {
119
+ var sClipboardText = aMatrix.map(function(aRows) {
120
+ return aRows.map(stringifyForSpreadSheet).join("\t");
121
+ }).join("\n");
122
+
123
+ return navigator.clipboard.writeText(sClipboardText);
124
+ }
125
+
126
+ CopyProvider.prototype.isApplicable = function() {
127
+ if (!navigator.clipboard) {
128
+ throw new Error(this + " requires a secure context in order to access the clipboard API.");
129
+ } else if (!this.getExtractData()) {
130
+ throw new Error("extractData property must be defined for " + this);
131
+ } else {
132
+ return true;
133
+ }
134
+ };
135
+
136
+ CopyProvider.prototype.onActivate = function(oControl) {
137
+ this._oDelegate = { onkeydown: this.onkeydown };
138
+ oControl.addEventDelegate(this._oDelegate, this);
139
+ };
140
+
141
+ CopyProvider.prototype.onDeactivate = function(oControl) {
142
+ oControl.removeEventDelegate(this._oDelegate, this);
143
+ this._oDelegate = null;
144
+ };
145
+
146
+ /**
147
+ * Returns the extracted selection data as a two-dimensional array. This includes individual cell selections
148
+ * if the {@link sap.m.plugins.CellSelector CellSelector} plugin is also enabled for the table.
149
+ * <b>Note: </b> The returned array might be a sparse array if the {@link #getCopySparse copySparse} property is <code>true</code>.
150
+ *
151
+ * @returns {Array.<Array.<*>>} Two-dimensional extracted data from the selection.
152
+ * @public
153
+ */
154
+ CopyProvider.prototype.getSelectionData = function() {
155
+ var oControl = this.getControl();
156
+ var fnExtractData = this.getExtractData();
157
+ if (!oControl || !fnExtractData || !navigator.clipboard) {
158
+ return [];
159
+ }
160
+
161
+ var aSelectableColumns = this.getConfig("selectableColumns", oControl);
162
+ if (!aSelectableColumns.length) {
163
+ return [];
164
+ }
165
+
166
+ if (oControl.getParent().isA("sap.ui.mdc.Table")) {
167
+ aSelectableColumns = aSelectableColumns.map(function(oSelectableColumn) {
168
+ return Core.byId(oSelectableColumn.getId().replace(/\-innerColumn$/, ""));
169
+ });
170
+ }
171
+
172
+ var aSelectionData = [];
173
+ var aAllSelectedRowContexts = [];
174
+ var bCopySparse = this.getCopySparse();
175
+ var fnExludeContext = this.getExcludeContext();
176
+ var oCellSelectorPlugin = PluginBase.getPlugin(oControl, "sap.m.plugins.CellSelector");
177
+ var mCellSelectionRange = oCellSelectorPlugin && oCellSelectorPlugin.getSelectionRange();
178
+ var aCellSelectorRowContexts = mCellSelectionRange ? oCellSelectorPlugin.getSelectedRowContexts() : [];
179
+ var bCellSelectorRowContextsMustBeMerged = Boolean(aCellSelectorRowContexts.length);
180
+ var bSelectedRowContextsMustBeSparse = bCellSelectorRowContextsMustBeMerged || bCopySparse;
181
+ var aSelectedRowContexts = this.getConfig("selectedContexts", oControl, bSelectedRowContextsMustBeSparse);
182
+
183
+ if (bCellSelectorRowContextsMustBeMerged) {
184
+ aCellSelectorRowContexts = Array(mCellSelectionRange.from.rowIndex).concat(aCellSelectorRowContexts);
185
+ Object.assign(aAllSelectedRowContexts, aSelectedRowContexts, aCellSelectorRowContexts);
186
+ } else {
187
+ aAllSelectedRowContexts = aSelectedRowContexts;
188
+ }
189
+
190
+ for (var iContextIndex = 0; iContextIndex < aAllSelectedRowContexts.length; iContextIndex++) {
191
+ var oRowContext = aAllSelectedRowContexts[iContextIndex];
192
+ if (!oRowContext) {
193
+ if (bCopySparse && aSelectionData.length) {
194
+ aSelectionData.push(Array(aSelectionData[0].length));
195
+ }
196
+ } else if (fnExludeContext && fnExludeContext(oRowContext)) {
197
+ continue;
198
+ } else {
199
+ var aRowData = [];
200
+ var bContextFromSelectedRows = (oRowContext == aSelectedRowContexts[iContextIndex]);
201
+ aSelectableColumns.forEach(function(oColumn, iColumnIndex) {
202
+ if (bContextFromSelectedRows || (iColumnIndex >= mCellSelectionRange.from.colIndex && iColumnIndex <= mCellSelectionRange.to.colIndex)) {
203
+ var vCellData = fnExtractData(oRowContext, oColumn);
204
+ if (isCellValueCopyable(vCellData)) {
205
+ aRowData.push[Array.isArray(vCellData) ? "apply" : "call"](aRowData, vCellData);
206
+ }
207
+ } else if (aSelectedRowContexts.length) {
208
+ aRowData.push(undefined);
209
+ }
210
+ });
211
+ if (bCopySparse || aRowData.some(isCellValueCopyable)) {
212
+ aSelectionData.push(aRowData);
213
+ }
214
+ }
215
+ }
216
+
217
+ return aSelectionData;
218
+ };
219
+
220
+ /**
221
+ * Writes the selection data to the system clipboard and returns a <code>Promise</code> which resolves once the clipboard's content has been updated.
222
+ *
223
+ * <b>Note: </b> The user has to interact with the page or a UI element when this API gets called.
224
+ *
225
+ * @param {boolean} [bFireCopyEvent=false] Whether the <code>copy</code> event should be triggered or not
226
+ * @returns {Promise} A <code>Promise</code> that is resolved after the selection data has been written to the clipboard
227
+ * @public
228
+ */
229
+ CopyProvider.prototype.copySelectionData = function(bFireCopyEvent) {
230
+ var aSelectionData = this.getSelectionData();
231
+ if (!aSelectionData.length || bFireCopyEvent && !this.fireCopy({ data: aSelectionData }, true)) {
232
+ return Promise.resolve();
233
+ }
234
+
235
+ return copyMatrixForSpreadSheet(aSelectionData);
236
+ };
237
+
238
+ CopyProvider.prototype.onkeydown = function(oEvent) {
239
+ if (oEvent.isMarked() ||
240
+ oEvent.code != "KeyC" ||
241
+ !(oEvent.ctrlKey || oEvent.metaKey) ||
242
+ !oEvent.target.matches(this.getConfig("allowForCopySelector"))) {
243
+ return;
244
+ }
245
+
246
+ oEvent.setMarked();
247
+ oEvent.preventDefault();
248
+ this.copySelectionData(true);
249
+ };
250
+
251
+
252
+ /**
253
+ * Plugin-specific control configurations.
254
+ */
255
+ PluginBase.setConfigs({
256
+ "sap.m.Table": {
257
+ allowForCopySelector: ".sapMLIBFocusable,.sapMLIBSelectM,.sapMLIBSelectS",
258
+ selectedContexts: function(oTable, bSparse) {
259
+ var aSelectedContexts = [];
260
+ var oBindingInfo = oTable.getBindingInfo("items");
261
+ oTable.getItems(true).forEach(function(oItem, iIndex) {
262
+ if (oItem.isSelectable() && oItem.getVisible()) {
263
+ if (oItem.getSelected()) {
264
+ var oContextOrItem = oBindingInfo ? oItem.getBindingContext(oBindingInfo.model) : oItem;
265
+ var iSparseOrDenseIndex = bSparse ? iIndex : aSelectedContexts.length;
266
+ aSelectedContexts[iSparseOrDenseIndex] = oContextOrItem;
267
+ }
268
+ }
269
+ });
270
+ return aSelectedContexts;
271
+ },
272
+ selectableColumns: function(oTable) {
273
+ return oTable.getColumns(true).filter(function(oColumn) {
274
+ return oColumn.getVisible() && (oColumn.isPopin() || (!oColumn.isPopin() && !oColumn.isHidden()));
275
+ });
276
+ }
277
+ },
278
+ "sap.ui.table.Table": {
279
+ allowForCopySelector: ".sapUiTableCell",
280
+ selectedContexts: function(oTable, bSparse) {
281
+ var aSelectedContexts = [];
282
+ var oSelectionOwner = PluginBase.getPlugin(oTable, "sap.ui.table.plugins.SelectionPlugin") || oTable;
283
+ oSelectionOwner.getSelectedIndices().forEach(function(iSelectedIndex) {
284
+ var oContext = oTable.getContextByIndex(iSelectedIndex);
285
+ if (oContext) {
286
+ var iSparseOrDenseIndex = bSparse ? iSelectedIndex : aSelectedContexts.length;
287
+ aSelectedContexts[iSparseOrDenseIndex] = oContext;
288
+ }
289
+ });
290
+ return aSelectedContexts;
291
+ },
292
+ selectableColumns: function(oTable) {
293
+ return oTable.getColumns().filter(function(oColumn) {
294
+ return oColumn.getDomRef();
295
+ });
296
+ }
297
+ }
298
+ }, CopyProvider);
299
+
300
+ return CopyProvider;
301
+
302
+ });