@openui5/sap.m 1.98.0 → 1.101.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 (615) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +6 -6
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +2 -2
  7. package/src/sap/m/ActionListItemRenderer.js +5 -7
  8. package/src/sap/m/ActionSelect.js +1 -1
  9. package/src/sap/m/ActionSelectRenderer.js +1 -1
  10. package/src/sap/m/ActionSheet.js +12 -5
  11. package/src/sap/m/ActionSheetRenderer.js +1 -1
  12. package/src/sap/m/App.js +1 -1
  13. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  14. package/src/sap/m/Avatar.js +21 -4
  15. package/src/sap/m/AvatarRenderer.js +6 -1
  16. package/src/sap/m/BadgeCustomData.js +6 -4
  17. package/src/sap/m/BadgeEnabler.js +3 -2
  18. package/src/sap/m/Bar.js +6 -5
  19. package/src/sap/m/BarRenderer.js +6 -6
  20. package/src/sap/m/Breadcrumbs.js +81 -7
  21. package/src/sap/m/BreadcrumbsRenderer.js +3 -7
  22. package/src/sap/m/BusyDialog.js +1 -1
  23. package/src/sap/m/BusyIndicator.js +1 -1
  24. package/src/sap/m/BusyIndicatorRenderer.js +1 -1
  25. package/src/sap/m/Button.js +2 -2
  26. package/src/sap/m/ButtonRenderer.js +3 -3
  27. package/src/sap/m/Carousel.js +22 -17
  28. package/src/sap/m/CarouselLayout.js +1 -1
  29. package/src/sap/m/CarouselRenderer.js +10 -4
  30. package/src/sap/m/CheckBox.js +2 -4
  31. package/src/sap/m/CheckBoxRenderer.js +1 -1
  32. package/src/sap/m/ColorPalette.js +1 -1
  33. package/src/sap/m/ColorPalettePopover.js +1 -1
  34. package/src/sap/m/Column.js +1 -1
  35. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  36. package/src/sap/m/ColumnListItem.js +1 -1
  37. package/src/sap/m/ColumnListItemRenderer.js +10 -11
  38. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  39. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  40. package/src/sap/m/ColumnPopoverItem.js +1 -1
  41. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  42. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  43. package/src/sap/m/ComboBox.js +3 -2
  44. package/src/sap/m/ComboBoxBase.js +5 -3
  45. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  46. package/src/sap/m/ComboBoxRenderer.js +4 -4
  47. package/src/sap/m/ComboBoxTextField.js +1 -1
  48. package/src/sap/m/ComboBoxTextFieldRenderer.js +2 -2
  49. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  50. package/src/sap/m/CustomListItem.js +1 -1
  51. package/src/sap/m/CustomListItemRenderer.js +4 -6
  52. package/src/sap/m/CustomTile.js +1 -1
  53. package/src/sap/m/CustomTileRenderer.js +2 -2
  54. package/src/sap/m/CustomTreeItem.js +1 -1
  55. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  56. package/src/sap/m/DatePicker.js +36 -7
  57. package/src/sap/m/DatePickerRenderer.js +1 -6
  58. package/src/sap/m/DateRangeSelection.js +42 -4
  59. package/src/sap/m/DateRangeSelectionRenderer.js +1 -1
  60. package/src/sap/m/DateTimeField.js +15 -6
  61. package/src/sap/m/DateTimeInput.js +1 -1
  62. package/src/sap/m/DateTimePicker.js +375 -89
  63. package/src/sap/m/DateTimePickerRenderer.js +57 -0
  64. package/src/sap/m/Dialog.js +20 -7
  65. package/src/sap/m/DialogRenderer.js +1 -1
  66. package/src/sap/m/DisplayListItem.js +1 -1
  67. package/src/sap/m/DisplayListItemRenderer.js +4 -6
  68. package/src/sap/m/DraftIndicator.js +1 -1
  69. package/src/sap/m/DraftIndicatorRenderer.js +1 -1
  70. package/src/sap/m/DynamicDate.js +3 -3
  71. package/src/sap/m/DynamicDateFormat.js +33 -1
  72. package/src/sap/m/DynamicDateOption.js +144 -9
  73. package/src/sap/m/DynamicDateRange.js +145 -49
  74. package/src/sap/m/DynamicDateRangeRenderer.js +1 -1
  75. package/src/sap/m/DynamicDateUtil.js +10 -3
  76. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  77. package/src/sap/m/ExpandableText.js +1 -1
  78. package/src/sap/m/FacetFilter.js +1 -1
  79. package/src/sap/m/FacetFilterItem.js +1 -1
  80. package/src/sap/m/FacetFilterItemRenderer.js +1 -1
  81. package/src/sap/m/FacetFilterList.js +7 -5
  82. package/src/sap/m/FacetFilterRenderer.js +10 -10
  83. package/src/sap/m/FeedContent.js +2 -2
  84. package/src/sap/m/FeedInput.js +2 -2
  85. package/src/sap/m/FeedInputRenderer.js +1 -1
  86. package/src/sap/m/FeedListItem.js +7 -7
  87. package/src/sap/m/FeedListItemAction.js +1 -1
  88. package/src/sap/m/FeedListItemRenderer.js +12 -7
  89. package/src/sap/m/Fiori20Adapter.js +2 -2
  90. package/src/sap/m/FlexBox.js +1 -1
  91. package/src/sap/m/FlexItemData.js +1 -1
  92. package/src/sap/m/FormattedText.js +4 -1
  93. package/src/sap/m/GenericTag.js +5 -3
  94. package/src/sap/m/GenericTagRenderer.js +13 -5
  95. package/src/sap/m/GenericTile.js +62 -16
  96. package/src/sap/m/GenericTileLineModeRenderer.js +77 -3
  97. package/src/sap/m/GenericTileRenderer.js +89 -42
  98. package/src/sap/m/GroupHeaderListItem.js +1 -1
  99. package/src/sap/m/GroupHeaderListItemRenderer.js +2 -2
  100. package/src/sap/m/GrowingEnablement.js +53 -3
  101. package/src/sap/m/GrowingList.js +1 -1
  102. package/src/sap/m/HBox.js +1 -1
  103. package/src/sap/m/HBoxRenderer.js +1 -1
  104. package/src/sap/m/HeaderContainer.js +87 -16
  105. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  106. package/src/sap/m/HeaderContainerRenderer.js +1 -1
  107. package/src/sap/m/HyphenationSupport.js +1 -5
  108. package/src/sap/m/IconTabBar.js +2 -2
  109. package/src/sap/m/IconTabBarDragAndDropUtil.js +5 -4
  110. package/src/sap/m/IconTabBarSelectList.js +3 -5
  111. package/src/sap/m/IconTabFilter.js +1 -1
  112. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  113. package/src/sap/m/IconTabHeader.js +9 -13
  114. package/src/sap/m/IconTabHeaderRenderer.js +1 -1
  115. package/src/sap/m/IconTabSeparator.js +1 -1
  116. package/src/sap/m/IllustratedMessage.js +29 -8
  117. package/src/sap/m/IllustratedMessageRenderer.js +5 -5
  118. package/src/sap/m/IllustratedMessageType.js +26 -2
  119. package/src/sap/m/Illustration.js +1 -1
  120. package/src/sap/m/IllustrationRenderer.js +4 -2
  121. package/src/sap/m/Image.js +1 -1
  122. package/src/sap/m/ImageContent.js +2 -2
  123. package/src/sap/m/ImageRenderer.js +1 -1
  124. package/src/sap/m/Input.js +13 -23
  125. package/src/sap/m/InputBase.js +6 -8
  126. package/src/sap/m/InputBaseRenderer.js +53 -39
  127. package/src/sap/m/InputListItem.js +1 -1
  128. package/src/sap/m/InputListItemRenderer.js +4 -6
  129. package/src/sap/m/InputRenderer.js +12 -9
  130. package/src/sap/m/Label.js +3 -3
  131. package/src/sap/m/LabelRenderer.js +2 -2
  132. package/src/sap/m/LightBox.js +5 -5
  133. package/src/sap/m/LightBoxItem.js +2 -3
  134. package/src/sap/m/LightBoxRenderer.js +1 -1
  135. package/src/sap/m/Link.js +2 -2
  136. package/src/sap/m/LinkRenderer.js +1 -1
  137. package/src/sap/m/List.js +1 -1
  138. package/src/sap/m/ListBase.js +50 -10
  139. package/src/sap/m/ListBaseRenderer.js +38 -24
  140. package/src/sap/m/ListItemBase.js +4 -3
  141. package/src/sap/m/ListItemBaseRenderer.js +23 -23
  142. package/src/sap/m/MaskEnabler.js +11 -11
  143. package/src/sap/m/MaskInput.js +9 -1
  144. package/src/sap/m/MaskInputRenderer.js +9 -43
  145. package/src/sap/m/MaskInputRule.js +5 -5
  146. package/src/sap/m/Menu.js +1 -1
  147. package/src/sap/m/MenuButton.js +5 -1
  148. package/src/sap/m/MenuButtonRenderer.js +1 -1
  149. package/src/sap/m/MenuItem.js +1 -1
  150. package/src/sap/m/MenuListItem.js +1 -1
  151. package/src/sap/m/MenuListItemRenderer.js +2 -2
  152. package/src/sap/m/MessageBox.js +1 -1
  153. package/src/sap/m/MessageItem.js +1 -1
  154. package/src/sap/m/MessageListItem.js +1 -1
  155. package/src/sap/m/MessagePage.js +1 -1
  156. package/src/sap/m/MessagePageRenderer.js +1 -1
  157. package/src/sap/m/MessagePopover.js +19 -34
  158. package/src/sap/m/MessagePopoverItem.js +1 -1
  159. package/src/sap/m/MessagePopoverRenderer.js +1 -1
  160. package/src/sap/m/MessageStrip.js +2 -2
  161. package/src/sap/m/MessageStripRenderer.js +1 -1
  162. package/src/sap/m/MessageToast.js +1 -1
  163. package/src/sap/m/MessageView.js +3 -3
  164. package/src/sap/m/MultiComboBox.js +6 -4
  165. package/src/sap/m/MultiComboBoxRenderer.js +4 -4
  166. package/src/sap/m/MultiEditField.js +1 -1
  167. package/src/sap/m/MultiInput.js +44 -27
  168. package/src/sap/m/NavContainer.js +53 -53
  169. package/src/sap/m/NavContainerRenderer.js +1 -1
  170. package/src/sap/m/NewsContent.js +2 -2
  171. package/src/sap/m/NotificationList.js +1 -1
  172. package/src/sap/m/NotificationListBase.js +1 -1
  173. package/src/sap/m/NotificationListGroup.js +1 -1
  174. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  175. package/src/sap/m/NotificationListItem.js +1 -1
  176. package/src/sap/m/NotificationListItemRenderer.js +1 -1
  177. package/src/sap/m/NotificationListRenderer.js +2 -2
  178. package/src/sap/m/NumericContent.js +30 -22
  179. package/src/sap/m/NumericContentRenderer.js +10 -10
  180. package/src/sap/m/NumericInput.js +3 -2
  181. package/src/sap/m/NumericInputRenderer.js +13 -1
  182. package/src/sap/m/ObjectAttribute.js +4 -5
  183. package/src/sap/m/ObjectAttributeRenderer.js +3 -3
  184. package/src/sap/m/ObjectHeader.js +20 -7
  185. package/src/sap/m/ObjectHeaderRenderer.js +3 -3
  186. package/src/sap/m/ObjectIdentifier.js +3 -3
  187. package/src/sap/m/ObjectIdentifierRenderer.js +1 -1
  188. package/src/sap/m/ObjectListItem.js +1 -1
  189. package/src/sap/m/ObjectListItemRenderer.js +2 -2
  190. package/src/sap/m/ObjectMarker.js +35 -11
  191. package/src/sap/m/ObjectMarkerRenderer.js +15 -3
  192. package/src/sap/m/ObjectNumber.js +1 -1
  193. package/src/sap/m/ObjectNumberRenderer.js +1 -2
  194. package/src/sap/m/ObjectStatus.js +1 -1
  195. package/src/sap/m/ObjectStatusRenderer.js +4 -5
  196. package/src/sap/m/OverflowToolbar.js +23 -3
  197. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  198. package/src/sap/m/OverflowToolbarButton.js +1 -1
  199. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  200. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  201. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  202. package/src/sap/m/P13nColumnsItem.js +1 -1
  203. package/src/sap/m/P13nColumnsPanel.js +1 -1
  204. package/src/sap/m/P13nConditionPanel.js +2 -2
  205. package/src/sap/m/P13nDialog.js +1 -1
  206. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  207. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  208. package/src/sap/m/P13nFilterItem.js +1 -1
  209. package/src/sap/m/P13nFilterPanel.js +1 -1
  210. package/src/sap/m/P13nGroupItem.js +1 -1
  211. package/src/sap/m/P13nGroupPanel.js +3 -3
  212. package/src/sap/m/P13nItem.js +1 -1
  213. package/src/sap/m/P13nPanel.js +1 -1
  214. package/src/sap/m/P13nSelectionItem.js +1 -1
  215. package/src/sap/m/P13nSelectionPanel.js +1 -1
  216. package/src/sap/m/P13nSortItem.js +1 -1
  217. package/src/sap/m/P13nSortPanel.js +1 -1
  218. package/src/sap/m/PDFViewer.js +4 -3
  219. package/src/sap/m/PDFViewerRenderer.js +15 -7
  220. package/src/sap/m/Page.js +1 -1
  221. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  222. package/src/sap/m/PagingButton.js +1 -1
  223. package/src/sap/m/Panel.js +1 -1
  224. package/src/sap/m/PanelRenderer.js +1 -1
  225. package/src/sap/m/PlanningCalendar.js +16 -15
  226. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  227. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  228. package/src/sap/m/PlanningCalendarRow.js +1 -1
  229. package/src/sap/m/PlanningCalendarView.js +1 -1
  230. package/src/sap/m/Popover.js +25 -9
  231. package/src/sap/m/PopoverRenderer.js +1 -1
  232. package/src/sap/m/ProgressIndicator.js +3 -3
  233. package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
  234. package/src/sap/m/PullToRefresh.js +1 -1
  235. package/src/sap/m/PullToRefreshRenderer.js +2 -2
  236. package/src/sap/m/QuickView.js +1 -1
  237. package/src/sap/m/QuickViewBase.js +1 -1
  238. package/src/sap/m/QuickViewCard.js +1 -1
  239. package/src/sap/m/QuickViewCardRenderer.js +1 -1
  240. package/src/sap/m/QuickViewGroup.js +1 -1
  241. package/src/sap/m/QuickViewGroupElement.js +1 -1
  242. package/src/sap/m/QuickViewPage.js +5 -2
  243. package/src/sap/m/QuickViewPageRenderer.js +1 -1
  244. package/src/sap/m/RadioButton.js +1 -1
  245. package/src/sap/m/RadioButtonGroup.js +14 -2
  246. package/src/sap/m/RadioButtonRenderer.js +1 -2
  247. package/src/sap/m/RangeSlider.js +17 -6
  248. package/src/sap/m/RangeSliderRenderer.js +5 -5
  249. package/src/sap/m/RatingIndicator.js +2 -2
  250. package/src/sap/m/RatingIndicatorRenderer.js +1 -1
  251. package/src/sap/m/ResponsivePopover.js +3 -5
  252. package/src/sap/m/ResponsivePopoverRenderer.js +1 -1
  253. package/src/sap/m/ResponsiveScale.js +1 -1
  254. package/src/sap/m/ScrollBar.js +3 -3
  255. package/src/sap/m/ScrollBarRenderer.js +1 -1
  256. package/src/sap/m/ScrollContainer.js +1 -1
  257. package/src/sap/m/ScrollContainerRenderer.js +1 -1
  258. package/src/sap/m/SearchField.js +2 -2
  259. package/src/sap/m/SegmentedButton.js +17 -7
  260. package/src/sap/m/SegmentedButtonItem.js +1 -1
  261. package/src/sap/m/SegmentedButtonRenderer.js +2 -2
  262. package/src/sap/m/Select.js +36 -6
  263. package/src/sap/m/SelectDialog.js +4 -4
  264. package/src/sap/m/SelectDialogBase.js +1 -1
  265. package/src/sap/m/SelectList.js +4 -3
  266. package/src/sap/m/SelectListRenderer.js +5 -5
  267. package/src/sap/m/SelectRenderer.js +5 -5
  268. package/src/sap/m/SelectionDetails.js +3 -5
  269. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  270. package/src/sap/m/SelectionDetailsItem.js +1 -1
  271. package/src/sap/m/SelectionDetailsItemLine.js +3 -3
  272. package/src/sap/m/SelectionDetailsRenderer.js +1 -1
  273. package/src/sap/m/Shell.js +1 -1
  274. package/src/sap/m/ShellRenderer.js +1 -1
  275. package/src/sap/m/SimpleFixFlex.js +1 -1
  276. package/src/sap/m/SimpleFixFlexRenderer.js +1 -1
  277. package/src/sap/m/SinglePlanningCalendar.js +21 -2
  278. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  279. package/src/sap/m/SinglePlanningCalendarGrid.js +118 -67
  280. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +16 -14
  281. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +24 -10
  282. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +1 -1
  283. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  284. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  285. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  286. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  287. package/src/sap/m/SlideTile.js +2 -2
  288. package/src/sap/m/SlideTileRenderer.js +9 -2
  289. package/src/sap/m/Slider.js +1 -1
  290. package/src/sap/m/SliderRenderer.js +9 -9
  291. package/src/sap/m/SliderTooltip.js +3 -3
  292. package/src/sap/m/SliderTooltipBase.js +1 -1
  293. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  294. package/src/sap/m/SliderTooltipContainer.js +6 -2
  295. package/src/sap/m/SliderTooltipContainerRenderer.js +1 -1
  296. package/src/sap/m/SliderTooltipRenderer.js +1 -1
  297. package/src/sap/m/SplitApp.js +1 -1
  298. package/src/sap/m/SplitButton.js +3 -1
  299. package/src/sap/m/SplitButtonRenderer.js +1 -1
  300. package/src/sap/m/SplitContainer.js +24 -31
  301. package/src/sap/m/StandardDynamicDateOption.js +154 -12
  302. package/src/sap/m/StandardListItem.js +1 -1
  303. package/src/sap/m/StandardListItemRenderer.js +8 -8
  304. package/src/sap/m/StandardTile.js +1 -1
  305. package/src/sap/m/StandardTileRenderer.js +1 -1
  306. package/src/sap/m/StandardTreeItem.js +1 -1
  307. package/src/sap/m/StepInput.js +4 -4
  308. package/src/sap/m/SuggestionItem.js +1 -1
  309. package/src/sap/m/SuggestionsPopover.js +7 -22
  310. package/src/sap/m/Switch.js +1 -1
  311. package/src/sap/m/SwitchRenderer.js +3 -3
  312. package/src/sap/m/TabContainer.js +1 -1
  313. package/src/sap/m/TabContainerItem.js +1 -3
  314. package/src/sap/m/TabContainerRenderer.js +2 -2
  315. package/src/sap/m/TabStrip.js +2 -2
  316. package/src/sap/m/TabStripItem.js +1 -1
  317. package/src/sap/m/TabStripRenderer.js +2 -2
  318. package/src/sap/m/Table.js +41 -9
  319. package/src/sap/m/TablePersoController.js +1 -1
  320. package/src/sap/m/TablePersoDialog.js +1 -1
  321. package/src/sap/m/TablePersoProvider.js +1 -1
  322. package/src/sap/m/TableRenderer.js +10 -5
  323. package/src/sap/m/TableSelectDialog.js +19 -19
  324. package/src/sap/m/Text.js +1 -1
  325. package/src/sap/m/TextArea.js +1 -1
  326. package/src/sap/m/TextAreaRenderer.js +1 -1
  327. package/src/sap/m/Tile.js +3 -3
  328. package/src/sap/m/TileContainer.js +6 -4
  329. package/src/sap/m/TileContainerRenderer.js +1 -1
  330. package/src/sap/m/TileContent.js +37 -5
  331. package/src/sap/m/TileContentRenderer.js +43 -6
  332. package/src/sap/m/TileRenderer.js +2 -2
  333. package/src/sap/m/TimePicker.js +4 -56
  334. package/src/sap/m/TimePickerClock.js +5 -6
  335. package/src/sap/m/TimePickerClockRenderer.js +1 -1
  336. package/src/sap/m/TimePickerClocks.js +6 -5
  337. package/src/sap/m/TimePickerClocksRenderer.js +3 -3
  338. package/src/sap/m/TimePickerInputs.js +1 -1
  339. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  340. package/src/sap/m/TimePickerInternals.js +8 -6
  341. package/src/sap/m/TimePickerRenderer.js +5 -17
  342. package/src/sap/m/TimePickerSlider.js +2 -2
  343. package/src/sap/m/TimePickerSliderRenderer.js +2 -2
  344. package/src/sap/m/TimePickerSliders.js +7 -5
  345. package/src/sap/m/TimePickerSlidersRenderer.js +1 -1
  346. package/src/sap/m/Title.js +1 -5
  347. package/src/sap/m/TitlePropagationSupport.js +1 -1
  348. package/src/sap/m/TitleRenderer.js +2 -2
  349. package/src/sap/m/ToggleButton.js +1 -1
  350. package/src/sap/m/Token.js +1 -2
  351. package/src/sap/m/TokenRenderer.js +21 -3
  352. package/src/sap/m/Tokenizer.js +8 -8
  353. package/src/sap/m/TokenizerRenderer.js +41 -7
  354. package/src/sap/m/Toolbar.js +5 -5
  355. package/src/sap/m/ToolbarLayoutData.js +1 -1
  356. package/src/sap/m/ToolbarRenderer.js +3 -3
  357. package/src/sap/m/ToolbarSeparator.js +5 -3
  358. package/src/sap/m/ToolbarSpacer.js +1 -1
  359. package/src/sap/m/Tree.js +1 -1
  360. package/src/sap/m/TreeItemBase.js +6 -6
  361. package/src/sap/m/TreeItemBaseRenderer.js +2 -2
  362. package/src/sap/m/TreeRenderer.js +2 -2
  363. package/src/sap/m/UploadCollection.js +5 -3
  364. package/src/sap/m/UploadCollectionItem.js +1 -1
  365. package/src/sap/m/UploadCollectionParameter.js +1 -1
  366. package/src/sap/m/UploadCollectionRenderer.js +2 -1
  367. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  368. package/src/sap/m/VBox.js +1 -1
  369. package/src/sap/m/VBoxRenderer.js +1 -1
  370. package/src/sap/m/ValueStateHeader.js +1 -1
  371. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  372. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  373. package/src/sap/m/ViewSettingsDialog.js +118 -61
  374. package/src/sap/m/ViewSettingsDialogRenderer.js +1 -1
  375. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  376. package/src/sap/m/ViewSettingsItem.js +1 -1
  377. package/src/sap/m/VisibleItem.js +2 -2
  378. package/src/sap/m/WheelSlider.js +1 -1
  379. package/src/sap/m/WheelSliderContainer.js +1 -1
  380. package/src/sap/m/WheelSliderContainerRenderer.js +1 -1
  381. package/src/sap/m/WheelSliderRenderer.js +2 -2
  382. package/src/sap/m/Wizard.js +22 -4
  383. package/src/sap/m/WizardProgressNavigator.js +10 -3
  384. package/src/sap/m/WizardStep.js +1 -1
  385. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  386. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  387. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  388. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  389. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  390. package/src/sap/m/changeHandler/SplitMenuButton.js +5 -5
  391. package/src/sap/m/delegate/DateNavigation.js +2 -2
  392. package/src/sap/m/designtime/ListBase.designtime.js +29 -0
  393. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  394. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  395. package/src/sap/m/inputUtils/highlightDOMElements.js +1 -1
  396. package/src/sap/m/inputUtils/typeAhead.js +7 -7
  397. package/src/sap/m/library.js +74 -38
  398. package/src/sap/m/messagebundle.properties +80 -20
  399. package/src/sap/m/messagebundle_ar.properties +48 -14
  400. package/src/sap/m/messagebundle_bg.properties +77 -43
  401. package/src/sap/m/messagebundle_ca.properties +48 -14
  402. package/src/sap/m/messagebundle_cs.properties +50 -16
  403. package/src/sap/m/messagebundle_cy.properties +48 -14
  404. package/src/sap/m/messagebundle_da.properties +49 -15
  405. package/src/sap/m/messagebundle_de.properties +49 -15
  406. package/src/sap/m/messagebundle_el.properties +53 -19
  407. package/src/sap/m/messagebundle_en.properties +46 -12
  408. package/src/sap/m/messagebundle_en_GB.properties +46 -12
  409. package/src/sap/m/messagebundle_en_US_sappsd.properties +48 -12
  410. package/src/sap/m/messagebundle_en_US_saprigi.properties +291 -66
  411. package/src/sap/m/messagebundle_en_US_saptrc.properties +46 -12
  412. package/src/sap/m/messagebundle_es.properties +48 -14
  413. package/src/sap/m/messagebundle_es_MX.properties +48 -14
  414. package/src/sap/m/messagebundle_et.properties +48 -14
  415. package/src/sap/m/messagebundle_fi.properties +49 -15
  416. package/src/sap/m/messagebundle_fr.properties +61 -27
  417. package/src/sap/m/messagebundle_fr_CA.properties +47 -13
  418. package/src/sap/m/messagebundle_hi.properties +46 -12
  419. package/src/sap/m/messagebundle_hr.properties +48 -14
  420. package/src/sap/m/messagebundle_hu.properties +49 -15
  421. package/src/sap/m/messagebundle_id.properties +48 -14
  422. package/src/sap/m/messagebundle_it.properties +55 -21
  423. package/src/sap/m/messagebundle_iw.properties +48 -14
  424. package/src/sap/m/messagebundle_ja.properties +51 -17
  425. package/src/sap/m/messagebundle_kk.properties +48 -14
  426. package/src/sap/m/messagebundle_ko.properties +48 -14
  427. package/src/sap/m/messagebundle_lt.properties +48 -14
  428. package/src/sap/m/messagebundle_lv.properties +48 -14
  429. package/src/sap/m/messagebundle_ms.properties +47 -13
  430. package/src/sap/m/messagebundle_nl.properties +48 -14
  431. package/src/sap/m/messagebundle_no.properties +48 -14
  432. package/src/sap/m/messagebundle_pl.properties +48 -14
  433. package/src/sap/m/messagebundle_pt.properties +71 -37
  434. package/src/sap/m/messagebundle_pt_PT.properties +49 -15
  435. package/src/sap/m/messagebundle_ro.properties +48 -14
  436. package/src/sap/m/messagebundle_ru.properties +48 -14
  437. package/src/sap/m/messagebundle_sh.properties +48 -14
  438. package/src/sap/m/messagebundle_sk.properties +48 -14
  439. package/src/sap/m/messagebundle_sl.properties +48 -14
  440. package/src/sap/m/messagebundle_sv.properties +49 -15
  441. package/src/sap/m/messagebundle_th.properties +55 -21
  442. package/src/sap/m/messagebundle_tr.properties +48 -14
  443. package/src/sap/m/messagebundle_uk.properties +48 -14
  444. package/src/sap/m/messagebundle_vi.properties +47 -13
  445. package/src/sap/m/messagebundle_zh_CN.properties +48 -14
  446. package/src/sap/m/messagebundle_zh_TW.properties +47 -13
  447. package/src/sap/m/p13n/AbstractContainer.js +15 -8
  448. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  449. package/src/sap/m/p13n/BasePanel.js +39 -20
  450. package/src/sap/m/p13n/Container.js +20 -14
  451. package/src/sap/m/p13n/GroupPanel.js +6 -5
  452. package/src/sap/m/p13n/Popup.js +9 -2
  453. package/src/sap/m/p13n/QueryPanel.js +93 -30
  454. package/src/sap/m/p13n/SelectionPanel.js +16 -8
  455. package/src/sap/m/p13n/SortPanel.js +9 -6
  456. package/src/sap/m/plugins/ColumnResizer.js +38 -9
  457. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  458. package/src/sap/m/plugins/PasteProvider.js +1 -1
  459. package/src/sap/m/plugins/PluginBase.js +1 -1
  460. package/src/sap/m/rules/Breadcrumbs.support.js +1 -1
  461. package/src/sap/m/rules/MessagePage.support.js +1 -1
  462. package/src/sap/m/rules/Tokenizer.support.js +4 -2
  463. package/src/sap/m/semantic/AddAction.js +1 -1
  464. package/src/sap/m/semantic/CancelAction.js +1 -1
  465. package/src/sap/m/semantic/DeleteAction.js +1 -1
  466. package/src/sap/m/semantic/DetailPage.js +1 -1
  467. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  468. package/src/sap/m/semantic/EditAction.js +1 -1
  469. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  470. package/src/sap/m/semantic/FilterAction.js +1 -1
  471. package/src/sap/m/semantic/FilterSelect.js +1 -1
  472. package/src/sap/m/semantic/FlagAction.js +1 -1
  473. package/src/sap/m/semantic/ForwardAction.js +1 -1
  474. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  475. package/src/sap/m/semantic/GroupAction.js +1 -1
  476. package/src/sap/m/semantic/GroupSelect.js +1 -1
  477. package/src/sap/m/semantic/MainAction.js +1 -1
  478. package/src/sap/m/semantic/MasterPage.js +1 -1
  479. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  480. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  481. package/src/sap/m/semantic/NegativeAction.js +1 -1
  482. package/src/sap/m/semantic/OpenInAction.js +1 -1
  483. package/src/sap/m/semantic/PositiveAction.js +1 -1
  484. package/src/sap/m/semantic/PrintAction.js +1 -1
  485. package/src/sap/m/semantic/SaveAction.js +1 -1
  486. package/src/sap/m/semantic/Segment.js +1 -1
  487. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  488. package/src/sap/m/semantic/SemanticButton.js +1 -1
  489. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  490. package/src/sap/m/semantic/SemanticControl.js +1 -1
  491. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  492. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  493. package/src/sap/m/semantic/SemanticPage.js +1 -1
  494. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  495. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  496. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  497. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  498. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  499. package/src/sap/m/semantic/ShareMenu.js +2 -2
  500. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  501. package/src/sap/m/semantic/SortAction.js +1 -1
  502. package/src/sap/m/semantic/SortSelect.js +1 -1
  503. package/src/sap/m/table/Util.js +104 -23
  504. package/src/sap/m/table/{ActionItem.js → columnmenu/ActionItem.js} +9 -10
  505. package/src/sap/m/table/{ColumnMenuEntry.js → columnmenu/Entry.js} +16 -16
  506. package/src/sap/m/table/{Item.js → columnmenu/Item.js} +8 -8
  507. package/src/sap/m/table/{ItemBase.js → columnmenu/ItemBase.js} +11 -12
  508. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  509. package/src/sap/m/table/columnmenu/Menu.js +556 -0
  510. package/src/sap/m/table/columnmenu/MenuRenderer.js +57 -0
  511. package/src/sap/m/table/columnmenu/QuickAction.js +65 -0
  512. package/src/sap/m/table/columnmenu/QuickActionBase.js +54 -0
  513. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  514. package/src/sap/m/table/columnmenu/QuickActionItem.js +51 -0
  515. package/src/sap/m/table/columnmenu/QuickGroup.js +146 -0
  516. package/src/sap/m/table/columnmenu/QuickGroupItem.js +59 -0
  517. package/src/sap/m/table/columnmenu/QuickSort.js +80 -0
  518. package/src/sap/m/table/columnmenu/QuickSortItem.js +118 -0
  519. package/src/sap/m/table/columnmenu/QuickTotal.js +157 -0
  520. package/src/sap/m/table/columnmenu/QuickTotalItem.js +59 -0
  521. package/src/sap/m/themes/base/AbstractContainer.less +2 -3
  522. package/src/sap/m/themes/base/Avatar.less +11 -5
  523. package/src/sap/m/themes/base/Button.less +2 -2
  524. package/src/sap/m/themes/base/Carousel.less +5 -0
  525. package/src/sap/m/themes/base/CheckBox.less +0 -5
  526. package/src/sap/m/themes/base/ColumnMenu.less +17 -13
  527. package/src/sap/m/themes/base/DatePicker.less +7 -2
  528. package/src/sap/m/themes/base/DateTimePicker.less +147 -1
  529. package/src/sap/m/themes/base/Dialog.less +4 -6
  530. package/src/sap/m/themes/base/DynamicDateRange.less +3 -1
  531. package/src/sap/m/themes/base/FeedListItem.less +1 -1
  532. package/src/sap/m/themes/base/GenericTile.less +418 -55
  533. package/src/sap/m/themes/base/HeaderContainer.less +25 -0
  534. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  535. package/src/sap/m/themes/base/IllustratedMessage.less +16 -16
  536. package/src/sap/m/themes/base/Input.less +1 -1
  537. package/src/sap/m/themes/base/InputBase.less +112 -10
  538. package/src/sap/m/themes/base/Label.less +4 -1
  539. package/src/sap/m/themes/base/Link.less +12 -4
  540. package/src/sap/m/themes/base/ListBase.less +4 -0
  541. package/src/sap/m/themes/base/MenuButton.less +4 -4
  542. package/src/sap/m/themes/base/MessageToast.less +2 -2
  543. package/src/sap/m/themes/base/MultiInput.less +1 -1
  544. package/src/sap/m/themes/base/NewsContent.less +7 -0
  545. package/src/sap/m/themes/base/NumericContent.less +1 -5
  546. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  547. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  548. package/src/sap/m/themes/base/ObjectStatus.less +5 -0
  549. package/src/sap/m/themes/base/Page.less +1 -1
  550. package/src/sap/m/themes/base/Popover.less +10 -7
  551. package/src/sap/m/themes/base/RadioButton.less +22 -3
  552. package/src/sap/m/themes/base/SearchField.less +23 -59
  553. package/src/sap/m/themes/base/SplitButton.less +5 -0
  554. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  555. package/src/sap/m/themes/base/TextArea.less +27 -0
  556. package/src/sap/m/themes/base/TileContent.less +45 -1
  557. package/src/sap/m/themes/base/Token.less +14 -13
  558. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  559. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  560. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  561. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  562. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  563. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  564. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  565. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  566. package/src/sap/m/themes/base/illustrations/{sapIllus-Dialog-SimpleCheckmark.svg → sapIllus-Dialog-SimpleCheckMark.svg} +1 -1
  567. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  568. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessBalloon.svg +16 -0
  569. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessCheckMark.svg +8 -0
  570. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SuccessHighFive.svg +45 -0
  571. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  572. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UnableToLoadImage.svg +38 -0
  573. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  574. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  575. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  576. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  577. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  578. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  579. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  580. package/src/sap/m/themes/base/illustrations/{sapIllus-Scene-SimpleCheckmark.svg → sapIllus-Scene-SimpleCheckMark.svg} +1 -1
  581. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  582. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessBalloon.svg +33 -0
  583. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessCheckMark.svg +43 -0
  584. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SuccessHighFive.svg +27 -0
  585. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  586. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UnableToLoadImage.svg +35 -0
  587. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  588. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  589. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  590. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  591. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  592. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  593. package/src/sap/m/themes/base/illustrations/{sapIllus-Spot-SimpleCheckmark.svg → sapIllus-Spot-SimpleCheckMark.svg} +1 -1
  594. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  595. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessBalloon.svg +19 -0
  596. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessCheckMark.svg +7 -0
  597. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SuccessHighFive.svg +31 -0
  598. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  599. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UnableToLoadImage.svg +36 -0
  600. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  601. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  602. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  603. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  604. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  605. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  606. package/src/sap/m/upload/UploadSet.js +421 -59
  607. package/src/sap/m/upload/UploadSetItem.js +77 -8
  608. package/src/sap/m/upload/UploadSetRenderer.js +1 -1
  609. package/src/sap/m/table/ColumnMenu.js +0 -378
  610. package/src/sap/m/table/ColumnMenuRenderer.js +0 -82
  611. package/src/sap/m/table/QuickAction.js +0 -53
  612. package/src/sap/m/table/QuickActionBase.js +0 -53
  613. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NewMail.svg +0 -21
  614. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NewMail.svg +0 -54
  615. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NewMail.svg +0 -18
@@ -4,34 +4,33 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/m/table/ColumnMenuEntry"
7
+ "sap/m/table/columnmenu/Entry"
8
8
  ], function(
9
- ColumnMenuEntry
9
+ Entry
10
10
  ) {
11
11
  "use strict";
12
12
 
13
13
  /**
14
14
  * Constructor for a new ItemBase.
15
15
  *
16
- * @param {string} [sId] ID for the new control, generated automatically if no ID is given
17
- * @param {object} [mSettings] Initial settings for the new control
16
+ * @param {string} [sId] ID for the new ItemBase, generated automatically if no ID is given
17
+ * @param {object} [mSettings] Initial settings for the new ItemBase
18
18
  *
19
19
  * @class
20
- * The ItemBase control serves as a base class for menu items for the sap.m.table.ColumnMenu.
21
- * This base class is faceless and should be inherited by controls, which intend to be menu items
22
- * for the sap.m.table.ColumnMenu.
20
+ * The ItemBase serves as a base class for menu items for the sap.m.table.columnmenu.Menu.
21
+ * This base class is faceless and should be inherited by menu items for the sap.m.table.columnmenu.Menu.
23
22
  *
24
- * @extends sap.m.table.ColumnMenuEntry
23
+ * @extends sap.m.table.columnmenu.Entry
25
24
  *
26
25
  * @author SAP SE
27
- * @version 1.98.0
26
+ * @version 1.101.0
28
27
  *
29
28
  * @private
30
29
  * @experimental
31
30
  *
32
- * @alias sap.m.table.ItemBase
31
+ * @alias sap.m.table.columnmenu.ItemBase
33
32
  */
34
- var ItemBase = ColumnMenuEntry.extend("sap.m.table.ItemBase", {
33
+ var ItemBase = Entry.extend("sap.m.table.columnmenu.ItemBase", {
35
34
  metadata: {
36
35
  "abstract": true,
37
36
  library: "sap.m"
@@ -50,7 +49,7 @@ sap.ui.define([
50
49
  * This method can be used to retrieve the effective items of the item.
51
50
  *
52
51
  * This method allows subclasses to return composition of other items, if they contain multiple items or controls.
53
- * @returns {Array<sap.m.table.ItemBase>} A composition of effective items
52
+ * @returns {sap.m.table.columnmenu.ItemBase[]} A composition of effective items
54
53
  *
55
54
  * @protected
56
55
  */
@@ -0,0 +1,29 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ "sap/m/table/columnmenu/ItemBase"
8
+ ], function(
9
+ ItemBase
10
+ ) {
11
+ "use strict";
12
+
13
+ var ItemContainer = ItemBase.extend("sap.m.table.columnmenu.ItemContainer", {
14
+ metadata: {
15
+ library: "sap.m",
16
+ aggregations: {
17
+ items: {type: "sap.m.table.columnmenu.ItemBase"}
18
+ }
19
+ }
20
+ });
21
+
22
+ ItemContainer.prototype.getEffectiveItems = function() {
23
+ return this.getItems().reduce(function(aItems, oItem) {
24
+ return aItems.concat(oItem.getEffectiveItems());
25
+ }, []);
26
+ };
27
+
28
+ return ItemContainer;
29
+ });
@@ -0,0 +1,556 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ "sap/m/ResponsivePopover",
8
+ "sap/m/Button",
9
+ "sap/m/Toolbar",
10
+ "sap/m/ToolbarSpacer",
11
+ "sap/m/library",
12
+ 'sap/ui/Device',
13
+ "sap/ui/core/Control",
14
+ "sap/ui/core/Core",
15
+ "sap/ui/core/library",
16
+ "sap/ui/thirdparty/jquery",
17
+ "sap/ui/dom/containsOrEquals",
18
+ "sap/ui/events/ControlEvents",
19
+ "sap/base/strings/capitalize",
20
+ "sap/m/p13n/AbstractContainerItem",
21
+ "sap/m/p13n/Container",
22
+ "sap/m/table/columnmenu/MenuRenderer",
23
+ "sap/ui/layout/form/Form",
24
+ "sap/ui/layout/GridData",
25
+ "sap/ui/layout/form/ResponsiveGridLayout",
26
+ "sap/ui/layout/form/FormContainer",
27
+ "sap/ui/layout/form/FormElement",
28
+ "sap/m/Label"
29
+ ], function (
30
+ ResponsivePopover,
31
+ Button,
32
+ Toolbar,
33
+ ToolbarSpacer,
34
+ library,
35
+ Device,
36
+ Control,
37
+ Core,
38
+ coreLibrary,
39
+ jQuery,
40
+ containsOrEquals,
41
+ ControlEvents,
42
+ capitalize,
43
+ AbstractContainerItem,
44
+ Container,
45
+ MenuRenderer,
46
+ Form,
47
+ GridData,
48
+ ResponsiveGridLayout,
49
+ FormContainer,
50
+ FormElement,
51
+ Label
52
+ ) {
53
+ "use strict";
54
+
55
+ // shortcut for sap.ui.core.aria.HasPopup
56
+ var HasPopup = coreLibrary.aria.HasPopup;
57
+
58
+ /**
59
+ * Constructor for a new Menu.
60
+ *
61
+ * @param {string} [sId] ID for the new Menu, generated automatically if no ID is given
62
+ * @param {object} [mSettings] Initial settings for the new Menu
63
+ *
64
+ * @class
65
+ * This Menu is a popover, intended to be used by a table.
66
+ * It serves as a entry point for the table personalization via the column headers.
67
+ * The Menu is separated into two sections: quick actions and menu items.
68
+ *
69
+ * The top section of the popover contains contextual quick actions for the column the menu was triggered from.
70
+ * The lower section contains menu items, which consist of generic and global table settings.
71
+ *
72
+ * There are control- and application-specific quick actions and menu items.
73
+ * Applications are able to add their own quick actions, actions and items.
74
+ *
75
+ * @extends sap.ui.core.Control
76
+ *
77
+ * @author SAP SE
78
+ * @version 1.101.0
79
+ *
80
+ * @private
81
+ * @experimental
82
+ *
83
+ * @alias sap.m.table.columnmenu.Menu
84
+ */
85
+ var Menu = Control.extend("sap.m.table.columnmenu.Menu", {
86
+ metadata: {
87
+ library: "sap.m",
88
+ interfaces: ["sap.ui.core.IColumnHeaderMenu"],
89
+ aggregations: {
90
+ /**
91
+ * Defines the quick actions of the column menu.
92
+ */
93
+ quickActions: { type: "sap.m.table.columnmenu.QuickActionBase" },
94
+
95
+ /**
96
+ * Defines the items of the column menu.
97
+ */
98
+ items: { type: "sap.m.table.columnmenu.ItemBase" },
99
+
100
+ /**
101
+ * Defines quick actions that are control-specific.
102
+ * @private
103
+ */
104
+ _quickActions: { type: "sap.m.table.columnmenu.QuickActionBase", visibility: "hidden" },
105
+
106
+ /**
107
+ * Defines menu items that are control-specific.
108
+ * @private
109
+ */
110
+ _items: { type: "sap.m.table.columnmenu.ItemBase", visibility: "hidden" }
111
+ }
112
+ },
113
+ renderer: MenuRenderer
114
+ });
115
+
116
+ var DEFAULT_KEY = "$default";
117
+ var ARIA_POPUP_TYPE = HasPopup.Dialog;
118
+ var MENU_WIDTH = "500px";
119
+
120
+ Menu.prototype.init = function() {
121
+ this.fAnyEventHandlerProxy = jQuery.proxy(function(oEvent){
122
+ if (!this._oPopover.isOpen() || !this.getDomRef() || (oEvent.type != "mousedown" && oEvent.type != "touchstart")) {
123
+ return;
124
+ }
125
+ this.handleOuterEvent(this.getId(), oEvent);
126
+ }, this);
127
+ };
128
+
129
+ Menu.prototype.applySettings = function (mSettings) {
130
+ // Only works in JS views, but that's fine. This is only convenience for controls.
131
+ if (mSettings) {
132
+ this._addAllToPrivateAggregation(mSettings, "_quickActions");
133
+ this._addAllToPrivateAggregation(mSettings, "_items");
134
+ }
135
+ Control.prototype.applySettings.apply(this, arguments);
136
+ };
137
+
138
+ /**
139
+ * Opens the popover at the specified target.
140
+ *
141
+ * @param {sap.ui.core.Control | HTMLElement} oAnchor This is the control or HTMLElement, where the popover will be placed at.
142
+ * @public
143
+ */
144
+ Menu.prototype.openBy = function(oAnchor) {
145
+ if (!this.getParent()) {
146
+ Core.getUIArea(Core.getStaticAreaRef()).addContent(this, true);
147
+ }
148
+
149
+ this._initPopover();
150
+ this._createQuickActionGrids();
151
+
152
+ if (!this._oItemsContainer) {
153
+ this._initItemsContainer();
154
+ }
155
+ this._oPopover.openBy(oAnchor);
156
+ };
157
+
158
+ /**
159
+ * Returns the <code>sap.ui.core.aria.HasPopup<\code> type of the menu.
160
+ *
161
+ * @returns {sap.ui.core.aria.HasPopup} <code>sap.ui.core.aria.HasPopup<\code> type of the menu
162
+ * @public
163
+ * @since 1.98.0
164
+ */
165
+ Menu.prototype.getAriaHasPopupType = function () {
166
+ return ARIA_POPUP_TYPE;
167
+ };
168
+
169
+ /**
170
+ * Closes the popover.
171
+ *
172
+ * @public
173
+ */
174
+ Menu.prototype.close = function () {
175
+ this._previousView = null;
176
+ if (this._oPopover) {
177
+ this._oPopover.close();
178
+ }
179
+ };
180
+
181
+ Menu.prototype.exit = function () {
182
+ Control.prototype.exit.apply(this, arguments);
183
+ if (this._oPopover) {
184
+ delete this._oPopover;
185
+ }
186
+ if (this._oItemsContainer) {
187
+ delete this._oItemsContainer;
188
+ }
189
+ ControlEvents.unbindAnyEvent(this.fAnyEventHandlerProxy);
190
+ };
191
+
192
+ Menu.prototype._addAllToPrivateAggregation = function (mSettings, sAggregationName) {
193
+ if (mSettings[sAggregationName]) {
194
+ mSettings[sAggregationName].forEach(function (oItem) {
195
+ this.addAggregation(sAggregationName, oItem);
196
+ }.bind(this));
197
+ delete mSettings[sAggregationName];
198
+ }
199
+ };
200
+
201
+ Menu.prototype._initPopover = function () {
202
+ if (this._oPopover) {
203
+ return;
204
+ }
205
+
206
+ this._oPopover = new ResponsivePopover({
207
+ showArrow: false,
208
+ showHeader: false,
209
+ placement: library.PlacementType.Bottom,
210
+ content: new AssociativeControl({control: this, height: true}),
211
+ contentWidth: MENU_WIDTH,
212
+ horizontalScrolling: false,
213
+ verticalScrolling: false,
214
+ afterClose: [this.close, this]
215
+ });
216
+ this.addDependent(this._oPopover);
217
+
218
+ this._oPopover.addEventDelegate({
219
+ "onAfterRendering": this._focusItem
220
+ }, this);
221
+
222
+ if (this.getItems().length === 0 && !this.getAggregation("_items")) {
223
+ this._oPopover.attachAfterOpen(this._focusInitialQuickAction.bind(this));
224
+ } else {
225
+ // focus the first visible menu item
226
+ this._oPopover.attachAfterOpen(function () {
227
+ var oItem = this._oItemsContainer._getNavigationList().getItems().find(function (oItem) {
228
+ return oItem.getVisible();
229
+ });
230
+ oItem && oItem.focus();
231
+ }.bind(this));
232
+ }
233
+ this._oPopover._oControl.oPopup.setAutoClose(false);
234
+ };
235
+
236
+ Menu.prototype.onsapfocusleave = function(oEvent){
237
+ if (!this._oPopover.isOpen()) {
238
+ return;
239
+ }
240
+ this.handleOuterEvent(this.getId(), oEvent);
241
+ };
242
+
243
+ Menu.prototype.handleOuterEvent = function(oMenuId, oEvent) {
244
+ var isInMenuHierarchy = false,
245
+ touchEnabled = Device.support.touch || Device.system.combi;
246
+
247
+ if (oEvent.type == "mousedown" || oEvent.type == "touchstart") {
248
+ // Suppress the delayed mouse event from mobile browser
249
+ if (touchEnabled && (oEvent.isMarked("delayedMouseEvent") || oEvent.isMarked("cancelAutoClose"))) {
250
+ return;
251
+ }
252
+
253
+ if (!isInMenuHierarchy) {
254
+ if (containsOrEquals(this.getDomRef(), oEvent.target)) {
255
+ isInMenuHierarchy = true;
256
+ }
257
+ }
258
+ } else if (oEvent.type == "sapfocusleave") {
259
+ if (touchEnabled) {
260
+ return;
261
+ }
262
+
263
+ if (oEvent.relatedControlId) {
264
+ if (!isInMenuHierarchy) {
265
+ if (containsOrEquals(this.getDomRef(), jQuery(document.getElementById(oEvent.relatedControlId)).get(0)) ||
266
+ isInControlTree(this, Core.byId(oEvent.relatedControlId))) {
267
+ isInMenuHierarchy = true;
268
+ }
269
+ }
270
+ }
271
+ }
272
+
273
+ if (!isInMenuHierarchy) {
274
+ this.close();
275
+ }
276
+ };
277
+
278
+ function isInControlTree(oParent, oChild) {
279
+ var temp = oChild.getParent();
280
+ if (!temp) {
281
+ return false;
282
+ } else if (temp === oParent) {
283
+ return true;
284
+ }
285
+ return isInControlTree(oParent, temp);
286
+ }
287
+
288
+ Menu.prototype._initItemsContainer = function () {
289
+ var aControlMenuItems = (this.getAggregation("_items") || []).reduce(function (aItems, oItem) {
290
+ return aItems.concat(oItem.getEffectiveItems());
291
+ }, []);
292
+ var aApplicationMenuItems = this.getItems().reduce(function (aItems, oItem) {
293
+ return aItems.concat(oItem.getEffectiveItems());
294
+ }, []);
295
+
296
+ if (!this._oItemsContainer) {
297
+ this._createItemsContainer();
298
+ }
299
+
300
+ aControlMenuItems.forEach(function (oColumnMenuItem, iIndex) {
301
+ this._addView(oColumnMenuItem);
302
+ iIndex === 0 && this._oItemsContainer.addSeparator();
303
+ }.bind(this));
304
+ aApplicationMenuItems.forEach(function (oColumnMenuItem, iIndex) {
305
+ this._addView(oColumnMenuItem);
306
+ iIndex === 0 && this._oItemsContainer.addSeparator();
307
+ }.bind(this));
308
+ };
309
+
310
+ var AssociativeControl = Control.extend("sap.m.table.columnmenu.AssociativeControl", {
311
+ metadata: {
312
+ "final": true,
313
+ properties: {
314
+ height: {type: "boolean", defaultValue: false}
315
+ },
316
+ associations: {
317
+ control: {type: "sap.ui.core.Control"}
318
+ }
319
+ },
320
+ renderer: {
321
+ apiVersion: 2,
322
+ render: function (oRm, oControl) {
323
+ oRm.openStart("div", oControl);
324
+ oControl.getHeight() && oRm.style("height", "100%");
325
+ oRm.openEnd();
326
+ oRm.renderControl(sap.ui.getCore().byId(oControl.getControl()));
327
+ oRm.close("div");
328
+ }
329
+ }
330
+ });
331
+
332
+ Menu.prototype._addView = function (oMenuItem) {
333
+ var oItem = new AbstractContainerItem({
334
+ content: new AssociativeControl({
335
+ control: oMenuItem.getContent(),
336
+ height: true
337
+ }),
338
+ key: oMenuItem.getId(),
339
+ text: oMenuItem.getLabel(),
340
+ icon: oMenuItem.getIcon()
341
+ });
342
+
343
+ this._oItemsContainer.addView(oItem);
344
+ this._setItemVisibility(oMenuItem, oMenuItem.getVisible());
345
+ };
346
+
347
+ Menu.prototype._createItemsContainer = function () {
348
+ var oMenu = this;
349
+
350
+ this._oBtnCancel = new Button({
351
+ text: this._getResourceText("table.COLUMNMENU_CANCEL"),
352
+ press: function () {
353
+ var sKey = oMenu._oItemsContainer.getCurrentViewKey();
354
+ if (oMenu._fireEvent(Core.byId(sKey), "cancel")) {
355
+ oMenu.close();
356
+ }
357
+ }
358
+ });
359
+ this._oBtnOk = new Button({
360
+ text: this._getResourceText("table.COLUMNMENU_CONFIRM"),
361
+ press: function () {
362
+ var sKey = oMenu._oItemsContainer.getCurrentViewKey();
363
+ if (oMenu._fireEvent(Core.byId(sKey), "confirm")) {
364
+ oMenu.close();
365
+ }
366
+ }
367
+ });
368
+
369
+ oMenu._oItemsContainer = new Container({
370
+ listLayout: true,
371
+ defaultView: DEFAULT_KEY,
372
+ footer: new Toolbar({
373
+ content: [
374
+ new ToolbarSpacer(),
375
+ this._oBtnOk,
376
+ this._oBtnCancel
377
+ ]
378
+ }),
379
+ beforeViewSwitch: function (oEvent) {
380
+ var mParameters = oEvent.getParameters();
381
+
382
+ if (mParameters.target !== "$default") {
383
+ var oContainerItem = oMenu._oItemsContainer.getView(mParameters.target);
384
+ var oColumnMenuItem = oMenu._getItemFromContainerItem(oContainerItem);
385
+ if (oColumnMenuItem && !oMenu._fireEvent(oColumnMenuItem, "press")) {
386
+ oEvent.preventDefault();
387
+ }
388
+ }
389
+ },
390
+ afterViewSwitch: function (oEvent) {
391
+ var mParameters = oEvent.getParameters();
392
+ this.oLayout.setShowFooter(mParameters.target !== "$default");
393
+
394
+ oMenu._previousView = mParameters.source;
395
+ if (mParameters.target !== "$default") {
396
+ var oContainerItem = oMenu._oItemsContainer.getView(mParameters.target);
397
+ if (oContainerItem) {
398
+ var oItem = oMenu._getItemFromContainerItem(oContainerItem);
399
+ oMenu._updateButtonState(oItem);
400
+ oMenu._focusItem();
401
+ }
402
+ } else {
403
+ oMenu._focusItem();
404
+ this._oPopover && this._oPopover.invalidate();
405
+ }
406
+ }
407
+ });
408
+ oMenu._oItemsContainer.getHeader().addContentRight(new Button({
409
+ text: this._getResourceText("table.COLUMNMENU_RESET"),
410
+ press: function () {
411
+ oMenu._fireEvent(Core.byId(oMenu._oItemsContainer.getCurrentViewKey()), "reset", false);
412
+ }
413
+ }));
414
+ this._oPopover.addDependent(oMenu._oItemsContainer);
415
+ oMenu.addDependent(oMenu._oItemsContainer);
416
+ };
417
+
418
+ Menu.prototype._fireEvent = function (oEntry, sEventType, bAllowPreventDefault) {
419
+ var fnHook = oEntry["on" + capitalize(sEventType)];
420
+ if (bAllowPreventDefault !== false) {
421
+ var oEvent = jQuery.Event(sEventType);
422
+ fnHook.call(oEntry, oEvent);
423
+ return !oEvent.isDefaultPrevented();
424
+ } else {
425
+ fnHook.call(oEntry);
426
+ return true;
427
+ }
428
+ };
429
+
430
+ Menu.prototype._getResourceText = function(sText, vValue) {
431
+ this.oResourceBundle = this.oResourceBundle ? this.oResourceBundle : sap.ui.getCore().getLibraryResourceBundle("sap.m");
432
+ return sText ? this.oResourceBundle.getText(sText, vValue) : this.oResourceBundle;
433
+ };
434
+
435
+ Menu.prototype._getAllEffectiveQuickActions = function() {
436
+ var aQuickActions = (this.getAggregation("_quickActions") || []).concat(this.getQuickActions());
437
+ return aQuickActions.reduce(function (a, oQuickAction) {
438
+ return a.concat(oQuickAction.getEffectiveQuickActions());
439
+ }, []);
440
+ };
441
+
442
+ Menu.prototype._getAllEffectiveItems = function() {
443
+ var aItems = (this.getAggregation("_items") || []).concat(this.getItems());
444
+ return aItems.reduce(function(a, oItem) {
445
+ return a.concat(oItem.getEffectiveItems());
446
+ }, []);
447
+ };
448
+
449
+ Menu.prototype._getItemFromContainerItem = function (oContainerItem) {
450
+ // Low performance as linear search has to be done
451
+ return this._getAllEffectiveItems().find(function(item) {
452
+ return item.getId() === oContainerItem.getKey();
453
+ });
454
+ };
455
+
456
+ Menu.prototype._updateButtonState = function (oItem) {
457
+ if (!this._oItemsContainer) {
458
+ return;
459
+ }
460
+ if (this._oItemsContainer.getCurrentViewKey() === DEFAULT_KEY) {
461
+ return;
462
+ }
463
+ this._oItemsContainer.getHeader().getContentRight()[0].setVisible(oItem.getButtonSettings()["reset"]["visible"]);
464
+ this._oItemsContainer.getHeader().getContentRight()[0].setEnabled(oItem.getButtonSettings()["reset"]["enabled"]);
465
+ this._oBtnOk.setVisible(oItem.getButtonSettings()["confirm"]["visible"]);
466
+ this._oBtnCancel.setVisible(oItem.getButtonSettings()["cancel"]["visible"]);
467
+ };
468
+
469
+ Menu.prototype._focusItem = function () {
470
+ if (this._previousView == DEFAULT_KEY) {
471
+ this._oItemsContainer._getNavBackBtn().focus();
472
+ } else {
473
+ var oItem = this._oItemsContainer._getNavigationList().getItems().find(function (oItem) {
474
+ return oItem.getVisible() && oItem._key === this._previousView;
475
+ }.bind(this));
476
+ oItem && oItem.focus();
477
+ }
478
+ };
479
+
480
+ Menu.prototype._focusInitialQuickAction = function () {
481
+ // Does not work with content, which contains multiple items
482
+ if (this.getItems().length === 0 && !this.getAggregation("_items")) {
483
+ var aQuickActions = [];
484
+ if (this.getAggregation("_quickActions")) {
485
+ aQuickActions = this.getAggregation("_quickActions")[0].getEffectiveQuickActions();
486
+ } else if (this.getQuickActions().length > 0) {
487
+ aQuickActions = this.getQuickActions()[0].getEffectiveQuickActions();
488
+ }
489
+ aQuickActions.length > 0 && aQuickActions[0].getContent()[0].focus();
490
+ }
491
+ };
492
+
493
+ Menu.prototype._setItemVisibility = function (oItem, bVisible) {
494
+ var oList = this._oItemsContainer._getNavigationList().getItems();
495
+ var oListItem = oList.find(function (oListItem) {
496
+ return oListItem._key == oItem.getId();
497
+ });
498
+ oListItem && oListItem.setVisible(bVisible);
499
+ };
500
+
501
+ Menu.prototype._createQuickActionGrids = function () {
502
+ var oFormContainer;
503
+ if (this._oForm) {
504
+ oFormContainer = this._oForm.getFormContainers()[0];
505
+ oFormContainer.destroyFormElements();
506
+ } else {
507
+ oFormContainer = new FormContainer();
508
+ this._oForm = new Form({
509
+ layout: new ResponsiveGridLayout({
510
+ labelSpanXL: 3,
511
+ labelSpanL: 3,
512
+ labelSpanM: 3,
513
+ labelSpanS: 12,
514
+ adjustLabelSpan: false
515
+ }),
516
+ editable: true,
517
+ formContainers: oFormContainer
518
+ });
519
+ }
520
+
521
+ var aEffectiveQuickActions = this._getAllEffectiveQuickActions();
522
+ aEffectiveQuickActions.forEach(function (oEffectiveQuickAction) {
523
+ // Create label
524
+ var oGridData = new GridData({span: "XL4 L4 M4 S12"});
525
+ var oLabel = new Label({
526
+ text: oEffectiveQuickAction.getLabel(),
527
+ layoutData: oGridData,
528
+ vAlign: sap.ui.core.VerticalAlign.Middle,
529
+ wrapping: true
530
+ }).setWidth("100%");
531
+ oLabel.addStyleClass("sapMTCMenuQALabel");
532
+
533
+ // Create content
534
+ var aControls = [];
535
+ var aContent = oEffectiveQuickAction.getContent();
536
+
537
+ aContent.forEach(function (oItem) {
538
+ if (oItem.getLayoutData()) {
539
+ oGridData = oItem.getLayoutData().clone();
540
+ } else {
541
+ var iSpan = Math.floor(8 / aContent.length);
542
+ var iSpanS = aContent.length > 2 ? 12 : Math.floor(12 / aContent.length);
543
+ oGridData = new GridData({spanS: iSpanS, spanM: iSpan, spanL: iSpan, spanXL: iSpan});
544
+ }
545
+ var oControl = new AssociativeControl({control: oItem.setWidth("100%")});
546
+ oControl.setLayoutData(oGridData);
547
+ aControls.push(oControl);
548
+ }, this);
549
+ oFormContainer.addFormElement(new FormElement({label: oLabel, fields: aControls}));
550
+ }, this);
551
+
552
+ this.addDependent(this._oForm);
553
+ };
554
+
555
+ return Menu;
556
+ });
@@ -0,0 +1,57 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([], function () {
7
+ "use strict";
8
+
9
+ var MenuRenderer = {
10
+ apiVersion: 2
11
+ };
12
+
13
+ MenuRenderer.render = function (oRm, oMenu) {
14
+ oRm.openStart("div", oMenu);
15
+ oRm.class("sapMTCMenu");
16
+ oRm.openEnd();
17
+ this.renderQuickActions(oRm, oMenu);
18
+ this.renderItems(oRm, oMenu);
19
+ oRm.close("div");
20
+ };
21
+
22
+ MenuRenderer.renderQuickActions = function (oRm, oMenu) {
23
+ if (oMenu.getQuickActions().length === 0 && !oMenu.getAggregation("_quickActions")) {
24
+ return;
25
+ }
26
+
27
+ oRm.openStart("div", oMenu.getId() + "-quickActions");
28
+ if (oMenu._oItemsContainer) {
29
+ if (oMenu._oItemsContainer.getCurrentViewKey() === "$default") {
30
+ oRm.class("sapMTCMenuQAList");
31
+ } else {
32
+ oRm.class("sapMTCMenuQAListHidden");
33
+ }
34
+ } else {
35
+ oRm.class("sapMTCMenuQAList");
36
+ }
37
+ oRm.openEnd();
38
+
39
+ oRm.renderControl(oMenu._oForm);
40
+
41
+ oRm.close("div");
42
+ };
43
+
44
+ MenuRenderer.renderItems = function (oRm, oMenu) {
45
+ if (oMenu.getItems().length === 0 && !oMenu.getAggregation("_items")) {
46
+ return;
47
+ }
48
+
49
+ oRm.openStart("div");
50
+ oRm.class("sapMTCMenuContainerWrapper");
51
+ oRm.openEnd();
52
+ oRm.renderControl(oMenu._oItemsContainer);
53
+ oRm.close("div");
54
+ };
55
+
56
+ return MenuRenderer;
57
+ });