@openui5/sap.m 1.103.1 → 1.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +35 -15
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +64 -21
  5. package/package.json +4 -4
  6. package/src/sap/m/.library +17 -1
  7. package/src/sap/m/AccButton.js +1 -1
  8. package/src/sap/m/ActionListItem.js +1 -1
  9. package/src/sap/m/ActionSelect.js +1 -1
  10. package/src/sap/m/ActionSheet.js +1 -1
  11. package/src/sap/m/App.js +2 -3
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +2 -2
  14. package/src/sap/m/BadgeEnabler.js +1 -2
  15. package/src/sap/m/Bar.js +11 -10
  16. package/src/sap/m/Breadcrumbs.js +2 -2
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +49 -10
  20. package/src/sap/m/ButtonRenderer.js +10 -2
  21. package/src/sap/m/Carousel.js +3 -4
  22. package/src/sap/m/CarouselLayout.js +1 -1
  23. package/src/sap/m/CarouselRenderer.js +3 -3
  24. package/src/sap/m/CheckBox.js +46 -6
  25. package/src/sap/m/CheckBoxRenderer.js +1 -0
  26. package/src/sap/m/ColorPalette.js +1 -1
  27. package/src/sap/m/ColorPalettePopover.js +1 -1
  28. package/src/sap/m/Column.js +5 -5
  29. package/src/sap/m/ColumnHeaderPopover.js +5 -7
  30. package/src/sap/m/ColumnListItem.js +1 -4
  31. package/src/sap/m/ColumnListItemRenderer.js +1 -2
  32. package/src/sap/m/ColumnPopoverActionItem.js +3 -3
  33. package/src/sap/m/ColumnPopoverCustomItem.js +3 -3
  34. package/src/sap/m/ColumnPopoverItem.js +3 -3
  35. package/src/sap/m/ColumnPopoverSelectListItem.js +3 -5
  36. package/src/sap/m/ColumnPopoverSortItem.js +3 -3
  37. package/src/sap/m/ComboBox.js +6 -5
  38. package/src/sap/m/ComboBoxBase.js +3 -7
  39. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  40. package/src/sap/m/ComboBoxTextField.js +1 -7
  41. package/src/sap/m/ComboBoxTextFieldRenderer.js +19 -4
  42. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  43. package/src/sap/m/CustomListItem.js +1 -1
  44. package/src/sap/m/CustomTile.js +1 -1
  45. package/src/sap/m/CustomTreeItem.js +3 -3
  46. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  47. package/src/sap/m/DatePicker.js +16 -26
  48. package/src/sap/m/DateRangeSelection.js +45 -38
  49. package/src/sap/m/DateTimeField.js +87 -20
  50. package/src/sap/m/DateTimeInput.js +1 -1
  51. package/src/sap/m/DateTimePicker.js +58 -32
  52. package/src/sap/m/DateTimePickerRenderer.js +1 -1
  53. package/src/sap/m/Dialog.js +44 -2
  54. package/src/sap/m/DisplayListItem.js +1 -1
  55. package/src/sap/m/DraftIndicator.js +1 -1
  56. package/src/sap/m/DynamicDate.js +1 -1
  57. package/src/sap/m/DynamicDateFormat.js +2 -5
  58. package/src/sap/m/DynamicDateOption.js +43 -16
  59. package/src/sap/m/DynamicDateRange.js +49 -7
  60. package/src/sap/m/DynamicDateRangeRenderer.js +5 -2
  61. package/src/sap/m/DynamicDateUtil.js +23 -2
  62. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  63. package/src/sap/m/ExpandableText.js +1 -1
  64. package/src/sap/m/FacetFilter.js +2 -2
  65. package/src/sap/m/FacetFilterItem.js +1 -1
  66. package/src/sap/m/FacetFilterList.js +4 -4
  67. package/src/sap/m/FeedContent.js +1 -1
  68. package/src/sap/m/FeedInput.js +1 -1
  69. package/src/sap/m/FeedListItem.js +1 -1
  70. package/src/sap/m/FeedListItemAction.js +1 -1
  71. package/src/sap/m/Fiori20Adapter.js +2 -2
  72. package/src/sap/m/FlexBox.js +1 -1
  73. package/src/sap/m/FlexItemData.js +1 -1
  74. package/src/sap/m/FormattedText.js +1 -1
  75. package/src/sap/m/GenericTag.js +1 -1
  76. package/src/sap/m/GenericTile.js +116 -23
  77. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  78. package/src/sap/m/GenericTileRenderer.js +23 -10
  79. package/src/sap/m/GroupHeaderListItem.js +1 -1
  80. package/src/sap/m/GrowingEnablement.js +60 -36
  81. package/src/sap/m/GrowingList.js +1 -1
  82. package/src/sap/m/HBox.js +1 -1
  83. package/src/sap/m/HeaderContainer.js +34 -32
  84. package/src/sap/m/HeaderContainerItemNavigator.js +3 -6
  85. package/src/sap/m/IconTabBar.js +54 -22
  86. package/src/sap/m/IconTabBarSelectList.js +1 -1
  87. package/src/sap/m/IconTabFilter.js +1 -1
  88. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  89. package/src/sap/m/IconTabHeader.js +6 -19
  90. package/src/sap/m/IconTabSeparator.js +1 -1
  91. package/src/sap/m/IllustratedMessage.js +98 -25
  92. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  93. package/src/sap/m/Illustration.js +8 -1
  94. package/src/sap/m/IllustrationPool.js +1 -0
  95. package/src/sap/m/IllustrationRenderer.js +2 -1
  96. package/src/sap/m/Image.js +73 -3
  97. package/src/sap/m/ImageContent.js +1 -1
  98. package/src/sap/m/ImageRenderer.js +66 -2
  99. package/src/sap/m/Input.js +62 -7
  100. package/src/sap/m/InputBase.js +1 -1
  101. package/src/sap/m/InputBaseRenderer.js +2 -2
  102. package/src/sap/m/InputListItem.js +1 -1
  103. package/src/sap/m/InputRenderer.js +4 -0
  104. package/src/sap/m/InstanceManager.js +6 -6
  105. package/src/sap/m/Label.js +34 -4
  106. package/src/sap/m/LabelRenderer.js +7 -2
  107. package/src/sap/m/LightBox.js +2 -2
  108. package/src/sap/m/LightBoxItem.js +1 -1
  109. package/src/sap/m/Link.js +74 -10
  110. package/src/sap/m/LinkRenderer.js +26 -12
  111. package/src/sap/m/List.js +38 -1
  112. package/src/sap/m/ListBase.js +109 -44
  113. package/src/sap/m/ListBaseRenderer.js +7 -15
  114. package/src/sap/m/ListItemBase.js +40 -11
  115. package/src/sap/m/ListItemBaseRenderer.js +17 -6
  116. package/src/sap/m/ListRenderer.js +2 -2
  117. package/src/sap/m/MaskEnabler.js +52 -2
  118. package/src/sap/m/MaskInput.js +23 -1
  119. package/src/sap/m/MaskInputRule.js +1 -1
  120. package/src/sap/m/Menu.js +1 -1
  121. package/src/sap/m/MenuButton.js +1 -1
  122. package/src/sap/m/MenuItem.js +1 -1
  123. package/src/sap/m/MenuListItem.js +1 -1
  124. package/src/sap/m/MessageBox.js +1 -1
  125. package/src/sap/m/MessageItem.js +3 -4
  126. package/src/sap/m/MessageListItem.js +10 -6
  127. package/src/sap/m/MessagePage.js +1 -1
  128. package/src/sap/m/MessagePopover.js +4 -1
  129. package/src/sap/m/MessagePopoverItem.js +1 -1
  130. package/src/sap/m/MessageStrip.js +1 -1
  131. package/src/sap/m/MessageToast.js +1 -1
  132. package/src/sap/m/MessageView.js +1 -1
  133. package/src/sap/m/MultiComboBox.js +5 -16
  134. package/src/sap/m/MultiEditField.js +1 -1
  135. package/src/sap/m/MultiInput.js +1 -15
  136. package/src/sap/m/NavContainer.js +21 -19
  137. package/src/sap/m/NewsContent.js +2 -3
  138. package/src/sap/m/NotificationList.js +1 -1
  139. package/src/sap/m/NotificationListBase.js +1 -1
  140. package/src/sap/m/NotificationListGroup.js +3 -7
  141. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  142. package/src/sap/m/NotificationListItem.js +1 -1
  143. package/src/sap/m/NumericContent.js +1 -1
  144. package/src/sap/m/NumericInput.js +1 -1
  145. package/src/sap/m/ObjectAttribute.js +1 -1
  146. package/src/sap/m/ObjectHeader.js +3 -3
  147. package/src/sap/m/ObjectIdentifier.js +8 -5
  148. package/src/sap/m/ObjectListItem.js +7 -1
  149. package/src/sap/m/ObjectMarker.js +1 -1
  150. package/src/sap/m/ObjectNumber.js +2 -3
  151. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  152. package/src/sap/m/ObjectStatus.js +2 -3
  153. package/src/sap/m/ObjectStatusRenderer.js +2 -2
  154. package/src/sap/m/OverflowToolbar.js +3 -8
  155. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  156. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +3 -8
  157. package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +2 -2
  158. package/src/sap/m/OverflowToolbarButton.js +2 -2
  159. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  160. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  161. package/src/sap/m/P13nAnyFilterItem.js +3 -3
  162. package/src/sap/m/P13nColumnsItem.js +3 -3
  163. package/src/sap/m/P13nColumnsPanel.js +3 -3
  164. package/src/sap/m/P13nConditionPanel.js +10 -3
  165. package/src/sap/m/P13nDialog.js +3 -3
  166. package/src/sap/m/P13nDimMeasureItem.js +3 -3
  167. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  168. package/src/sap/m/P13nFilterItem.js +3 -3
  169. package/src/sap/m/P13nFilterPanel.js +3 -3
  170. package/src/sap/m/P13nGroupItem.js +3 -3
  171. package/src/sap/m/P13nGroupPanel.js +3 -3
  172. package/src/sap/m/P13nItem.js +3 -3
  173. package/src/sap/m/P13nOperationsHelper.js +2 -2
  174. package/src/sap/m/P13nPanel.js +3 -3
  175. package/src/sap/m/P13nSelectionItem.js +3 -3
  176. package/src/sap/m/P13nSelectionPanel.js +3 -3
  177. package/src/sap/m/P13nSortItem.js +3 -3
  178. package/src/sap/m/P13nSortPanel.js +3 -3
  179. package/src/sap/m/PDFViewer.js +2 -2
  180. package/src/sap/m/PDFViewerRenderer.js +1 -0
  181. package/src/sap/m/Page.js +1 -3
  182. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  183. package/src/sap/m/PagingButton.js +1 -1
  184. package/src/sap/m/Panel.js +1 -1
  185. package/src/sap/m/PlanningCalendar.js +4 -16
  186. package/src/sap/m/PlanningCalendarHeader.js +1 -5
  187. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  188. package/src/sap/m/PlanningCalendarRow.js +1 -1
  189. package/src/sap/m/PlanningCalendarView.js +1 -1
  190. package/src/sap/m/Popover.js +11 -4
  191. package/src/sap/m/ProgressIndicator.js +1 -1
  192. package/src/sap/m/ProgressIndicatorRenderer.js +6 -3
  193. package/src/sap/m/PullToRefresh.js +1 -1
  194. package/src/sap/m/QuickView.js +3 -3
  195. package/src/sap/m/QuickViewBase.js +3 -3
  196. package/src/sap/m/QuickViewCard.js +3 -3
  197. package/src/sap/m/QuickViewGroup.js +1 -1
  198. package/src/sap/m/QuickViewGroupElement.js +3 -3
  199. package/src/sap/m/QuickViewPage.js +3 -3
  200. package/src/sap/m/RadioButton.js +47 -20
  201. package/src/sap/m/RadioButtonGroup.js +29 -26
  202. package/src/sap/m/RangeSlider.js +1 -3
  203. package/src/sap/m/RatingIndicator.js +8 -1
  204. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  205. package/src/sap/m/ResponsivePopover.js +3 -3
  206. package/src/sap/m/ResponsiveScale.js +1 -1
  207. package/src/sap/m/ScrollBar.js +1 -1
  208. package/src/sap/m/ScrollContainer.js +1 -1
  209. package/src/sap/m/SearchField.js +1 -1
  210. package/src/sap/m/SearchFieldRenderer.js +1 -0
  211. package/src/sap/m/SegmentedButton.js +1 -1
  212. package/src/sap/m/SegmentedButtonItem.js +1 -1
  213. package/src/sap/m/Select.js +8 -14
  214. package/src/sap/m/SelectDialog.js +2 -1
  215. package/src/sap/m/SelectDialogBase.js +1 -1
  216. package/src/sap/m/SelectList.js +1 -1
  217. package/src/sap/m/SelectListRenderer.js +2 -2
  218. package/src/sap/m/SelectionDetails.js +2 -2
  219. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  220. package/src/sap/m/SelectionDetailsItem.js +1 -1
  221. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  222. package/src/sap/m/Shell.js +1 -1
  223. package/src/sap/m/SimpleFixFlex.js +1 -1
  224. package/src/sap/m/SinglePlanningCalendar.js +7 -9
  225. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  226. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -7
  227. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  228. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +0 -2
  229. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  230. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  231. package/src/sap/m/SinglePlanningCalendarWeekView.js +12 -13
  232. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  233. package/src/sap/m/SlideTile.js +30 -5
  234. package/src/sap/m/Slider.js +1 -1
  235. package/src/sap/m/SliderTooltip.js +1 -3
  236. package/src/sap/m/SliderTooltipBase.js +1 -1
  237. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  238. package/src/sap/m/SliderTooltipContainer.js +1 -1
  239. package/src/sap/m/SliderTooltipContainerRenderer.js +2 -2
  240. package/src/sap/m/SliderTooltipRenderer.js +2 -2
  241. package/src/sap/m/SplitApp.js +1 -1
  242. package/src/sap/m/SplitButton.js +1 -3
  243. package/src/sap/m/SplitContainer.js +3 -7
  244. package/src/sap/m/StandardDynamicDateOption.js +9 -15
  245. package/src/sap/m/StandardListItem.js +1 -1
  246. package/src/sap/m/StandardListItemRenderer.js +2 -2
  247. package/src/sap/m/StandardTile.js +1 -1
  248. package/src/sap/m/StandardTreeItem.js +1 -1
  249. package/src/sap/m/StepInput.js +1 -1
  250. package/src/sap/m/SuggestionItem.js +1 -1
  251. package/src/sap/m/SuggestionsPopover.js +4 -2
  252. package/src/sap/m/Switch.js +1 -1
  253. package/src/sap/m/TabContainer.js +1 -1
  254. package/src/sap/m/TabContainerItem.js +1 -1
  255. package/src/sap/m/TabStrip.js +1 -1
  256. package/src/sap/m/TabStripItem.js +1 -1
  257. package/src/sap/m/Table.js +11 -9
  258. package/src/sap/m/TablePersoController.js +1 -1
  259. package/src/sap/m/TablePersoDialog.js +6 -15
  260. package/src/sap/m/TablePersoProvider.js +1 -1
  261. package/src/sap/m/TableRenderer.js +2 -9
  262. package/src/sap/m/TableSelectDialog.js +1 -1
  263. package/src/sap/m/Text.js +1 -1
  264. package/src/sap/m/TextArea.js +1 -1
  265. package/src/sap/m/TextAreaRenderer.js +1 -2
  266. package/src/sap/m/Tile.js +1 -1
  267. package/src/sap/m/TileContainer.js +1 -1
  268. package/src/sap/m/TileContent.js +8 -9
  269. package/src/sap/m/TileContentRenderer.js +3 -3
  270. package/src/sap/m/TimePicker.js +45 -8
  271. package/src/sap/m/TimePickerClock.js +2 -3
  272. package/src/sap/m/TimePickerClocks.js +5 -3
  273. package/src/sap/m/TimePickerClocksRenderer.js +4 -2
  274. package/src/sap/m/TimePickerInputs.js +1 -1
  275. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  276. package/src/sap/m/TimePickerInternals.js +1 -1
  277. package/src/sap/m/TimePickerSlider.js +1 -1
  278. package/src/sap/m/TimePickerSliders.js +3 -5
  279. package/src/sap/m/Title.js +1 -1
  280. package/src/sap/m/TitlePropagationSupport.js +1 -1
  281. package/src/sap/m/ToggleButton.js +2 -2
  282. package/src/sap/m/Token.js +1 -3
  283. package/src/sap/m/Tokenizer.js +1 -1
  284. package/src/sap/m/Toolbar.js +1 -1
  285. package/src/sap/m/ToolbarLayoutData.js +1 -1
  286. package/src/sap/m/ToolbarSeparator.js +1 -1
  287. package/src/sap/m/ToolbarSpacer.js +1 -1
  288. package/src/sap/m/Tree.js +8 -1
  289. package/src/sap/m/TreeItemBase.js +1 -1
  290. package/src/sap/m/TreeRenderer.js +0 -10
  291. package/src/sap/m/UploadCollection.js +2 -2
  292. package/src/sap/m/UploadCollectionItem.js +1 -1
  293. package/src/sap/m/UploadCollectionParameter.js +1 -1
  294. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  295. package/src/sap/m/VBox.js +1 -1
  296. package/src/sap/m/ValueStateHeader.js +1 -1
  297. package/src/sap/m/VariantItem.js +160 -0
  298. package/src/sap/m/VariantManagement.js +717 -571
  299. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  300. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  301. package/src/sap/m/ViewSettingsDialog.js +1 -1
  302. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  303. package/src/sap/m/ViewSettingsItem.js +1 -1
  304. package/src/sap/m/VisibleItem.js +1 -1
  305. package/src/sap/m/WheelSlider.js +1 -1
  306. package/src/sap/m/WheelSliderContainer.js +1 -1
  307. package/src/sap/m/Wizard.js +10 -3
  308. package/src/sap/m/WizardProgressNavigator.js +1 -1
  309. package/src/sap/m/WizardStep.js +3 -1
  310. package/src/sap/m/_thirdparty/purify.js +1622 -0
  311. package/src/sap/m/changeHandler/AddTableColumn.js +12 -13
  312. package/src/sap/m/changeHandler/ChangeLinkTarget.js +2 -3
  313. package/src/sap/m/changeHandler/CombineButtons.js +19 -22
  314. package/src/sap/m/changeHandler/MoveTableColumns.js +6 -6
  315. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +5 -5
  316. package/src/sap/m/changeHandler/SplitMenuButton.js +7 -6
  317. package/src/sap/m/delegate/DateNavigation.js +0 -4
  318. package/src/sap/m/designtime/Link.designtime.js +19 -11
  319. package/src/sap/m/designtime/VariantManagement.designtime.js +36 -26
  320. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  321. package/src/sap/m/inputUtils/selectionRange.js +1 -2
  322. package/src/sap/m/library.js +60 -7
  323. package/src/sap/m/messagebundle.properties +57 -6
  324. package/src/sap/m/messagebundle_ar.properties +39 -9
  325. package/src/sap/m/messagebundle_bg.properties +33 -3
  326. package/src/sap/m/messagebundle_ca.properties +32 -2
  327. package/src/sap/m/messagebundle_cs.properties +32 -2
  328. package/src/sap/m/messagebundle_cy.properties +34 -4
  329. package/src/sap/m/messagebundle_da.properties +32 -2
  330. package/src/sap/m/messagebundle_de.properties +32 -2
  331. package/src/sap/m/messagebundle_el.properties +35 -5
  332. package/src/sap/m/messagebundle_en.properties +34 -4
  333. package/src/sap/m/messagebundle_en_GB.properties +34 -4
  334. package/src/sap/m/messagebundle_en_US_sappsd.properties +33 -3
  335. package/src/sap/m/messagebundle_en_US_saprigi.properties +31 -3
  336. package/src/sap/m/messagebundle_en_US_saptrc.properties +33 -3
  337. package/src/sap/m/messagebundle_es.properties +33 -3
  338. package/src/sap/m/messagebundle_es_MX.properties +32 -2
  339. package/src/sap/m/messagebundle_et.properties +32 -2
  340. package/src/sap/m/messagebundle_fi.properties +36 -6
  341. package/src/sap/m/messagebundle_fr.properties +33 -3
  342. package/src/sap/m/messagebundle_fr_CA.properties +34 -4
  343. package/src/sap/m/messagebundle_hi.properties +34 -4
  344. package/src/sap/m/messagebundle_hr.properties +36 -6
  345. package/src/sap/m/messagebundle_hu.properties +34 -4
  346. package/src/sap/m/messagebundle_id.properties +34 -4
  347. package/src/sap/m/messagebundle_it.properties +33 -3
  348. package/src/sap/m/messagebundle_iw.properties +34 -4
  349. package/src/sap/m/messagebundle_ja.properties +33 -3
  350. package/src/sap/m/messagebundle_kk.properties +32 -2
  351. package/src/sap/m/messagebundle_ko.properties +40 -10
  352. package/src/sap/m/messagebundle_lt.properties +32 -2
  353. package/src/sap/m/messagebundle_lv.properties +32 -2
  354. package/src/sap/m/messagebundle_ms.properties +33 -3
  355. package/src/sap/m/messagebundle_nl.properties +46 -16
  356. package/src/sap/m/messagebundle_no.properties +34 -4
  357. package/src/sap/m/messagebundle_pl.properties +33 -3
  358. package/src/sap/m/messagebundle_pt.properties +37 -7
  359. package/src/sap/m/messagebundle_pt_PT.properties +32 -2
  360. package/src/sap/m/messagebundle_ro.properties +33 -3
  361. package/src/sap/m/messagebundle_ru.properties +33 -3
  362. package/src/sap/m/messagebundle_sh.properties +33 -3
  363. package/src/sap/m/messagebundle_sk.properties +32 -2
  364. package/src/sap/m/messagebundle_sl.properties +33 -3
  365. package/src/sap/m/messagebundle_sv.properties +32 -2
  366. package/src/sap/m/messagebundle_th.properties +65 -35
  367. package/src/sap/m/messagebundle_tr.properties +36 -6
  368. package/src/sap/m/messagebundle_uk.properties +33 -3
  369. package/src/sap/m/messagebundle_vi.properties +33 -3
  370. package/src/sap/m/messagebundle_zh_CN.properties +33 -3
  371. package/src/sap/m/messagebundle_zh_TW.properties +32 -2
  372. package/src/sap/m/p13n/AbstractContainer.js +7 -7
  373. package/src/sap/m/p13n/AbstractContainerItem.js +4 -4
  374. package/src/sap/m/p13n/BasePanel.js +24 -13
  375. package/src/sap/m/p13n/Container.js +3 -3
  376. package/src/sap/m/p13n/Engine.js +1254 -0
  377. package/src/sap/m/p13n/FlexUtil.js +161 -0
  378. package/src/sap/m/p13n/GroupController.js +145 -0
  379. package/src/sap/m/p13n/GroupPanel.js +12 -5
  380. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  381. package/src/sap/m/p13n/PersistenceProvider.js +160 -0
  382. package/src/sap/m/p13n/Popup.js +49 -12
  383. package/src/sap/m/p13n/QueryPanel.js +3 -3
  384. package/src/sap/m/p13n/SelectionController.js +548 -0
  385. package/src/sap/m/p13n/SelectionPanel.js +23 -5
  386. package/src/sap/m/p13n/SortController.js +153 -0
  387. package/src/sap/m/p13n/SortPanel.js +15 -5
  388. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  389. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  390. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  391. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  392. package/src/sap/m/p13n/modification/ModificationHandler.js +143 -0
  393. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  394. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +147 -0
  395. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  396. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  397. package/src/sap/m/p13n/modules/xConfigAPI.js +288 -0
  398. package/src/sap/m/plugins/CellSelector.js +741 -0
  399. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  400. package/src/sap/m/plugins/DataStateIndicator.js +2 -2
  401. package/src/sap/m/plugins/PasteProvider.js +1 -1
  402. package/src/sap/m/plugins/PluginBase.js +4 -3
  403. package/src/sap/m/rules/CheckBox.support.js +1 -1
  404. package/src/sap/m/rules/Image.support.js +1 -1
  405. package/src/sap/m/rules/Link.support.js +1 -1
  406. package/src/sap/m/rules/MessagePage.support.js +1 -1
  407. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  408. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  409. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  410. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  411. package/src/sap/m/rules/Panel.support.js +1 -1
  412. package/src/sap/m/rules/Select.support.js +1 -1
  413. package/src/sap/m/rules/Table.support.js +3 -3
  414. package/src/sap/m/semantic/AddAction.js +1 -1
  415. package/src/sap/m/semantic/CancelAction.js +1 -1
  416. package/src/sap/m/semantic/DeleteAction.js +1 -1
  417. package/src/sap/m/semantic/DetailPage.js +1 -1
  418. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  419. package/src/sap/m/semantic/EditAction.js +1 -1
  420. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  421. package/src/sap/m/semantic/FilterAction.js +1 -1
  422. package/src/sap/m/semantic/FilterSelect.js +1 -1
  423. package/src/sap/m/semantic/FlagAction.js +1 -1
  424. package/src/sap/m/semantic/ForwardAction.js +1 -1
  425. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  426. package/src/sap/m/semantic/GroupAction.js +1 -1
  427. package/src/sap/m/semantic/GroupSelect.js +1 -1
  428. package/src/sap/m/semantic/MainAction.js +1 -1
  429. package/src/sap/m/semantic/MasterPage.js +1 -1
  430. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  431. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  432. package/src/sap/m/semantic/NegativeAction.js +1 -1
  433. package/src/sap/m/semantic/OpenInAction.js +1 -1
  434. package/src/sap/m/semantic/PositiveAction.js +1 -1
  435. package/src/sap/m/semantic/PrintAction.js +1 -1
  436. package/src/sap/m/semantic/SaveAction.js +1 -1
  437. package/src/sap/m/semantic/Segment.js +1 -1
  438. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  439. package/src/sap/m/semantic/SemanticButton.js +1 -1
  440. package/src/sap/m/semantic/SemanticConfiguration.js +3 -4
  441. package/src/sap/m/semantic/SemanticControl.js +1 -1
  442. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  443. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  444. package/src/sap/m/semantic/SemanticPage.js +1 -1
  445. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  446. package/src/sap/m/semantic/SemanticToggleButton.js +1 -3
  447. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  448. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  449. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  450. package/src/sap/m/semantic/ShareMenu.js +1 -1
  451. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  452. package/src/sap/m/semantic/SortAction.js +1 -1
  453. package/src/sap/m/semantic/SortSelect.js +1 -1
  454. package/src/sap/m/table/Util.js +30 -11
  455. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  456. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  457. package/src/sap/m/table/columnmenu/Item.js +1 -1
  458. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  459. package/src/sap/m/table/columnmenu/Menu.js +50 -13
  460. package/src/sap/m/table/columnmenu/QuickAction.js +16 -8
  461. package/src/sap/m/table/columnmenu/QuickActionBase.js +18 -3
  462. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -6
  463. package/src/sap/m/table/columnmenu/QuickGroup.js +29 -5
  464. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  465. package/src/sap/m/table/columnmenu/QuickSort.js +1 -3
  466. package/src/sap/m/table/columnmenu/QuickSortItem.js +8 -7
  467. package/src/sap/m/table/columnmenu/QuickTotal.js +29 -5
  468. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  469. package/src/sap/m/themes/base/Breadcrumbs.less +6 -0
  470. package/src/sap/m/themes/base/Button.less +0 -1
  471. package/src/sap/m/themes/base/Carousel.less +8 -8
  472. package/src/sap/m/themes/base/CellSelector.less +9 -0
  473. package/src/sap/m/themes/base/CheckBox.less +1 -0
  474. package/src/sap/m/themes/base/Dialog.less +1 -0
  475. package/src/sap/m/themes/base/DisplayListItem.less +3 -3
  476. package/src/sap/m/themes/base/DynamicDateRange.less +4 -0
  477. package/src/sap/m/themes/base/FeedContent.less +13 -5
  478. package/src/sap/m/themes/base/GenericTile.less +56 -9
  479. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  480. package/src/sap/m/themes/base/NewsContent.less +6 -0
  481. package/src/sap/m/themes/base/NumericContent.less +1 -1
  482. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  483. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  484. package/src/sap/m/themes/base/SelectList.less +0 -5
  485. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  486. package/src/sap/m/themes/base/SlideTile.less +35 -4
  487. package/src/sap/m/themes/base/Table.less +11 -2
  488. package/src/sap/m/themes/base/TileContent.less +17 -0
  489. package/src/sap/m/themes/base/library.source.less +1 -0
  490. package/src/sap/m/upload/UploadSet.js +300 -23
  491. package/src/sap/m/upload/UploadSetItem.js +18 -7
  492. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  493. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  494. package/src/sap/m/upload/Uploader.js +1 -2
@@ -19,7 +19,7 @@ sap.ui.define(['sap/m/semantic/SemanticButton'], function(SemanticButton) {
19
19
  * @extends sap.m.semantic.SemanticButton
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.103.1
22
+ * @version 1.106.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -19,7 +19,7 @@ sap.ui.define(['sap/m/semantic/SemanticButton'], function(SemanticButton) {
19
19
  * @extends sap.m.semantic.SemanticButton
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.103.1
22
+ * @version 1.106.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * ShareMenu is a special menu that is represented by (1) an actionSheet with the menu items and (2) a button that opens the actionSheet.
49
49
  * If the menu has only one item, then that item appears in place of the button that opens the actionSheet.
50
50
  *
51
- * @version 1.103.1
51
+ * @version 1.106.0
52
52
  * @private
53
53
  * @since 1.30.0
54
54
  * @alias sap.m.semantic.ShareMenu
@@ -22,7 +22,7 @@ sap.ui.define(["sap/m/semantic/SemanticPage", "sap/m/semantic/SemanticConfigurat
22
22
  * @extends sap.m.semantic.SemanticPage
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.103.1
25
+ * @version 1.106.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -25,7 +25,7 @@ sap.ui.define(['sap/m/semantic/SemanticButton'], function(SemanticButton) {
25
25
  * @implements sap.m.semantic.ISort
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.103.1
28
+ * @version 1.106.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -24,7 +24,7 @@ sap.ui.define(['sap/m/semantic/SemanticSelect'], function(SemanticSelect) {
24
24
  * @implements sap.m.semantic.ISort
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.103.1
27
+ * @version 1.106.0
28
28
  *
29
29
  * @constructor
30
30
  * @public
@@ -8,20 +8,22 @@ sap.ui.define([
8
8
  "sap/m/library",
9
9
  "sap/ui/core/Core",
10
10
  "sap/ui/core/theming/Parameters",
11
- "sap/m/IllustratedMessage"
12
- ], function(MLibrary, Core, ThemeParameters, IllustratedMessage) {
11
+ "sap/m/IllustratedMessage",
12
+ "sap/m/Button"
13
+ ], function(MLibrary, Core, ThemeParameters, IllustratedMessage, Button) {
13
14
  "use strict";
14
15
  /*global Intl*/
15
16
 
16
17
  /**
17
18
  * Provides utility functions for tables.
19
+ *
18
20
  * @namespace
19
21
  * @alias module:sap/m/table/Util
20
22
  * @author SAP SE
21
- * @version 1.103.1
23
+ * @version 1.106.0
22
24
  * @since 1.96.0
23
25
  * @private
24
- * @experimental Since 1.96.0. This class is experimental and the API might be changed in future.
26
+ * @ui5-restricted sap.fe, sap.ui.mdc, sap.ui.comp
25
27
  */
26
28
  var Util = {};
27
29
 
@@ -103,7 +105,7 @@ sap.ui.define([
103
105
 
104
106
  var fSampleWidth = Util.measureText("A".repeat(iMaxLength));
105
107
  if (iMaxLength < iMaxWidth || iMaxWidth < 10) {
106
- return Math.min(fSampleWidth, iMaxWidth);
108
+ return applySettings(fSampleWidth);
107
109
  }
108
110
 
109
111
  var fWidth = Math.log(fSampleWidth - iMaxWidth * 0.16) / Math.log(iMaxWidth / 3) * (iMaxWidth / 2) * Math.pow(iMaxWidth / 19, 1 / fSampleWidth);
@@ -147,7 +149,7 @@ sap.ui.define([
147
149
  * Calculates the width of the column header width according to calculated cell content and min/max width restrictions.
148
150
  *
149
151
  * @param {string} sHeader The header text
150
- * @param {float} fContentWidth The calculated width of the cell in rem
152
+ * @param {float} [fContentWidth] The calculated width of the cell in rem
151
153
  * @param {int} [iMaxWidth=19] The maximum header width in rem
152
154
  * @param {int} [iMinWidth=2] The minimum header width in rem
153
155
  * @returns {float} The calculated header width in rem
@@ -175,6 +177,9 @@ sap.ui.define([
175
177
  if (iMinWidth > iHeaderLength) {
176
178
  return iMinWidth;
177
179
  }
180
+ if (!fContentWidth) {
181
+ return Util.measureText(sHeader, fnGetHeaderFont());
182
+ }
178
183
 
179
184
  fContentWidth = Math.max(fContentWidth, iMinWidth);
180
185
  if (fContentWidth > iHeaderLength) {
@@ -203,6 +208,8 @@ sap.ui.define([
203
208
  * @param {int} [mSettings.maxWidth=19] The maximum content width of the field in rem
204
209
  * @param {int} [mSettings.padding=1] The sum of column padding and border in rem
205
210
  * @param {float} [mSettings.gap=0] The additional content width in rem
211
+ * @param {boolean} [mSettings.headerGap=false] Whether icons in the header should be taken into account
212
+ * @param {boolean} [mSettings.truncateLabel=true] Whether the header of the column can be truncated or not
206
213
  * @param {boolean} [mSettings.verticalArrangement=false] Whether the fields are arranged vertically
207
214
  * @param {int} [mSettings.defaultWidth=8] The default column content width when type check fails
208
215
  * @returns {string} The calculated width of the column
@@ -219,9 +226,9 @@ sap.ui.define([
219
226
  minWidth: 2,
220
227
  maxWidth: 19,
221
228
  defaultWidth: 8,
229
+ truncateLabel: true,
222
230
  padding: 1,
223
- gap: 0,
224
- verticalArrangement: false
231
+ gap: 0
225
232
  }, mSettings);
226
233
 
227
234
  var fHeaderWidth = 0;
@@ -246,7 +253,8 @@ sap.ui.define([
246
253
  }, 0);
247
254
 
248
255
  if (sHeader) {
249
- fHeaderWidth = Util.calcHeaderWidth(sHeader, fContentWidth, iMaxWidth, iMinWidth);
256
+ fHeaderWidth = Util.calcHeaderWidth(sHeader, (mSettings.truncateLabel ? fContentWidth : 0), iMaxWidth, iMinWidth);
257
+ fHeaderWidth += mSettings.headerGap ? (8 /* padding */ + 14 /* icon width */) / fBaseFontSize : 0;
250
258
  }
251
259
 
252
260
  fContentWidth = Math.max(iMinWidth, fContentWidth, fHeaderWidth);
@@ -260,16 +268,27 @@ sap.ui.define([
260
268
  * Returns an instance of <code>sap.m.IllustratedMessage</code> in case there are no visible columns in the table.
261
269
  *
262
270
  * @returns {sap.m.IllustratedMessage} The message to be displayed when the table has no visible columns
271
+ * @param {function} [fnAddColumn] The handler to be executed when the additional add column button is pressed
263
272
  * @private
264
273
  */
265
- Util.getNoColumnsIllustratedMessage = function() {
274
+ Util.getNoColumnsIllustratedMessage = function(fnAddColumn) {
266
275
  var oResourceBundle = Core.getLibraryResourceBundle("sap.m");
267
276
 
268
- return new IllustratedMessage({
277
+ var oIllustratedMessage = new IllustratedMessage({
269
278
  illustrationType: MLibrary.IllustratedMessageType.AddColumn,
270
279
  title: oResourceBundle.getText("TABLE_NO_COLUMNS_TITLE"),
271
280
  description: oResourceBundle.getText("TABLE_NO_COLUMNS_DESCRIPTION")
272
281
  });
282
+
283
+ if (fnAddColumn) {
284
+ var oAddButton = new Button({
285
+ icon: "sap-icon://action-settings",
286
+ press: fnAddColumn
287
+ });
288
+ oIllustratedMessage.addAdditionalContent(oAddButton);
289
+ }
290
+
291
+ return oIllustratedMessage;
273
292
  };
274
293
 
275
294
  return Util;
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.m.table.columnmenu.ItemBase
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.103.1
26
+ * @version 1.106.0
27
27
  *
28
28
  * @private
29
29
  * @experimental
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.103.1
26
+ * @version 1.106.0
27
27
  *
28
28
  * @private
29
29
  * @experimental
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.m.table.columnmenu.ItemBase
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.103.1
26
+ * @version 1.106.0
27
27
  *
28
28
  * @private
29
29
  * @experimental
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.m.table.columnmenu.Entry
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.103.1
26
+ * @version 1.106.0
27
27
  *
28
28
  * @private
29
29
  * @experimental
@@ -52,8 +52,9 @@ sap.ui.define([
52
52
  ) {
53
53
  "use strict";
54
54
 
55
- // shortcut for sap.ui.core.aria.HasPopup
56
55
  var HasPopup = coreLibrary.aria.HasPopup;
56
+ var VerticalAlign = coreLibrary.VerticalAlign;
57
+ var Category = library.table.columnmenu.Category;
57
58
 
58
59
  /**
59
60
  * Constructor for a new Menu.
@@ -75,7 +76,7 @@ sap.ui.define([
75
76
  * @extends sap.ui.core.Control
76
77
  *
77
78
  * @author SAP SE
78
- * @version 1.103.1
79
+ * @version 1.106.0
79
80
  *
80
81
  * @private
81
82
  * @experimental
@@ -108,6 +109,12 @@ sap.ui.define([
108
109
  * @private
109
110
  */
110
111
  _items: { type: "sap.m.table.columnmenu.ItemBase", visibility: "hidden" }
112
+ },
113
+ events: {
114
+ /**
115
+ * Fires before the column menu is opened
116
+ */
117
+ beforeOpen: {}
111
118
  }
112
119
  },
113
120
  renderer: MenuRenderer
@@ -119,7 +126,7 @@ sap.ui.define([
119
126
 
120
127
  Menu.prototype.init = function() {
121
128
  this.fAnyEventHandlerProxy = jQuery.proxy(function(oEvent){
122
- if (!this._oPopover.isOpen() || !this.getDomRef() || (oEvent.type != "mousedown" && oEvent.type != "touchstart")) {
129
+ if (!this.isOpen() || !this.getDomRef() || (oEvent.type != "mousedown" && oEvent.type != "touchstart")) {
123
130
  return;
124
131
  }
125
132
  this.handleOuterEvent(this.getId(), oEvent);
@@ -155,7 +162,11 @@ sap.ui.define([
155
162
  }
156
163
  this._initItemsContainer();
157
164
 
158
- this._oPopover.openBy(oAnchor);
165
+ if (!this.isOpen()) {
166
+ this.fireBeforeOpen();
167
+ this._oPopover.openBy(oAnchor);
168
+ }
169
+
159
170
  ControlEvents.bindAnyEvent(this.fAnyEventHandlerProxy);
160
171
  };
161
172
 
@@ -170,6 +181,15 @@ sap.ui.define([
170
181
  return ARIA_POPUP_TYPE;
171
182
  };
172
183
 
184
+ /**
185
+ * Returns true when the menu is open, otherwise it returns false.
186
+ *
187
+ * @returns {boolean} Whether the menu is open.
188
+ */
189
+ Menu.prototype.isOpen = function () {
190
+ return this._oPopover && this._oPopover.isOpen();
191
+ };
192
+
173
193
  /**
174
194
  * Closes the popover.
175
195
  *
@@ -239,7 +259,7 @@ sap.ui.define([
239
259
  };
240
260
 
241
261
  Menu.prototype.onsapfocusleave = function(oEvent){
242
- if (!this._oPopover.isOpen()) {
262
+ if (!this.isOpen()) {
243
263
  return;
244
264
  }
245
265
  this.handleOuterEvent(this.getId(), oEvent);
@@ -278,6 +298,9 @@ sap.ui.define([
278
298
  };
279
299
 
280
300
  function isInControlTree(oParent, oChild) {
301
+ if (!oParent || !oChild) {
302
+ return false;
303
+ }
281
304
  var temp = oChild.getParent();
282
305
  if (!temp) {
283
306
  return false;
@@ -431,17 +454,31 @@ sap.ui.define([
431
454
  return sText ? this.oResourceBundle.getText(sText, vValue) : this.oResourceBundle;
432
455
  };
433
456
 
434
- Menu.prototype._getAllEffectiveQuickActions = function() {
457
+ var mSortOrder = {};
458
+ mSortOrder[Category.Sort] = 0;
459
+ mSortOrder[Category.Filter] = 1;
460
+ mSortOrder[Category.Group] = 2;
461
+ mSortOrder[Category.Aggregate] = 3;
462
+ mSortOrder[Category.Generic] = 4;
463
+
464
+ Menu.prototype._getAllEffectiveQuickActions = function(bSkipImplicitSorting) {
435
465
  var aQuickActions = (this.getAggregation("_quickActions") || []).concat(this.getQuickActions());
436
- return aQuickActions.reduce(function (a, oQuickAction) {
437
- return a.concat(oQuickAction.getEffectiveQuickActions());
438
- }, []).filter(function (oQuickAction) {
439
- return oQuickAction.getVisible();
440
- });
466
+
467
+ aQuickActions = aQuickActions.reduce(function(aQuickActions, oQuickAction) {
468
+ return aQuickActions.concat(oQuickAction ? oQuickAction.getEffectiveQuickActions() : []);
469
+ }, []);
470
+
471
+ if (!bSkipImplicitSorting) {
472
+ aQuickActions.sort(function(oLeftQuickAction, oRightQuickAction) {
473
+ return mSortOrder[oLeftQuickAction.getCategory()] - mSortOrder[oRightQuickAction.getCategory()];
474
+ });
475
+ }
476
+
477
+ return aQuickActions;
441
478
  };
442
479
 
443
480
  Menu.prototype._hasQuickActions = function() {
444
- return this._getAllEffectiveQuickActions().length > 0;
481
+ return this._getAllEffectiveQuickActions(true).length > 0;
445
482
  };
446
483
 
447
484
  Menu.prototype._getAllEffectiveItems = function() {
@@ -539,7 +576,7 @@ sap.ui.define([
539
576
  var oLabel = new Label({
540
577
  text: oEffectiveQuickAction.getLabel(),
541
578
  layoutData: oGridData,
542
- vAlign: sap.ui.core.VerticalAlign.Middle,
579
+ vAlign: VerticalAlign.Middle,
543
580
  wrapping: true
544
581
  }).setWidth("100%");
545
582
  oLabel.addStyleClass("sapMTCMenuQALabel");
@@ -5,9 +5,11 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/m/table/columnmenu/QuickActionBase"
9
- ], function (
10
- QuickActionBase
8
+ "sap/m/table/columnmenu/QuickActionBase",
9
+ "sap/m/library"
10
+ ], function(
11
+ QuickActionBase,
12
+ library
11
13
  ) {
12
14
  "use strict";
13
15
 
@@ -24,7 +26,7 @@ sap.ui.define([
24
26
  * @extends sap.m.table.columnmenu.QuickActionBase
25
27
  *
26
28
  * @author SAP SE
27
- * @version 1.103.1
29
+ * @version 1.106.0
28
30
  *
29
31
  * @private
30
32
  * @since 1.99
@@ -39,7 +41,11 @@ sap.ui.define([
39
41
  /**
40
42
  * Defines the text for the label.
41
43
  */
42
- label: { type: "string" }
44
+ label: {type: "string", defaultValue: ""},
45
+ /**
46
+ * Defines the category. In the menu, all <code>QuickActions</code> are implicitly ordered by their category.
47
+ */
48
+ category: {type: "sap.m.table.columnmenu.Category", defaultValue: library.table.columnmenu.Category.Generic}
43
49
  },
44
50
  aggregations: {
45
51
  /**
@@ -52,11 +58,13 @@ sap.ui.define([
52
58
  * <li>The layout of the content of <code>QuickAction</code> can be altered by providing {@link sap.ui.layout.GridData} for each
53
59
  * <code>layoutData</code> aggregation of each content control. In size S, content controls can take up to
54
60
  * 12 columns, while in sizes M and bigger, content controls can take up to 8 columns of space.</li>
55
- * <li>If there are more than 2 controls inside a quick action, they will be shown underneath each other if the <code>ColumnMenu</code> is in size S.</li>
56
- * <li>By default, the content controls of <code>QuickAction</code> will take up the same amount of space and will have the same size.</li>
61
+ * <li>If there are more than 2 controls inside a quick action, they will be shown underneath each other if the
62
+ * <code>ColumnMenu</code> is in size S.</li>
63
+ * <li>By default, the content controls of <code>QuickAction</code> will take up the same amount of space and will have the same
64
+ * size.</li>
57
65
  * </ul>
58
66
  */
59
- content: { type: "sap.ui.core.Control", multiple: true }
67
+ content: {type: "sap.ui.core.Control", multiple: true}
60
68
  }
61
69
  }
62
70
  });
@@ -4,9 +4,11 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/m/table/columnmenu/Entry"
7
+ "sap/m/table/columnmenu/Entry",
8
+ "sap/m/library"
8
9
  ], function(
9
- Entry
10
+ Entry,
11
+ library
10
12
  ) {
11
13
  "use strict";
12
14
 
@@ -23,7 +25,7 @@ sap.ui.define([
23
25
  * @extends sap.m.table.columnmenu.Entry
24
26
  *
25
27
  * @author SAP SE
26
- * @version 1.103.1
28
+ * @version 1.106.0
27
29
  *
28
30
  * @private
29
31
  * @experimental
@@ -60,5 +62,18 @@ sap.ui.define([
60
62
  return this;
61
63
  };
62
64
 
65
+ /**
66
+ * Gets the category of this quick action.
67
+ *
68
+ * @returns {sap.m.table.columnmenu.Category} The category
69
+ * @virtual
70
+ */
71
+ QuickActionBase.prototype.getCategory = function() {
72
+ if (this.getMetadata().hasProperty("category")) {
73
+ return this.getProperty("category");
74
+ }
75
+ return library.table.columnmenu.Category.Generic;
76
+ };
77
+
63
78
  return QuickActionBase;
64
79
  });
@@ -6,7 +6,7 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/m/table/columnmenu/Entry"
9
- ], function (
9
+ ], function(
10
10
  Entry
11
11
  ) {
12
12
  "use strict";
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.m.table.columnmenu.Entry
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.103.1
27
+ * @version 1.106.0
28
28
  *
29
29
  * @private
30
30
  * @experimental
@@ -33,16 +33,15 @@ sap.ui.define([
33
33
  */
34
34
  var QuickActionItem = Entry.extend("sap.m.table.columnmenu.QuickActionItem", {
35
35
  metadata: {
36
- library: "sap.m",
37
- properties: {
36
+ library: "sap.m", properties: {
38
37
  /**
39
38
  * The property name
40
39
  */
41
- key: { type: "string" },
40
+ key: {type: "string"},
42
41
  /**
43
42
  * Defines the text for the label.
44
43
  */
45
- label: { type: "string" }
44
+ label: {type: "string", defaultValue: ""}
46
45
  }
47
46
  }
48
47
  });
@@ -6,12 +6,12 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/m/table/columnmenu/QuickActionBase",
9
- "sap/m/HBox",
10
- "sap/m/ToggleButton"
9
+ "sap/m/ToggleButton",
10
+ "sap/m/library"
11
11
  ], function (
12
12
  QuickActionBase,
13
- HBox,
14
- ToggleButton
13
+ ToggleButton,
14
+ library
15
15
  ) {
16
16
  "use strict";
17
17
 
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.m.table.columnmenu.QuickActionBase
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.103.1
30
+ * @version 1.106.0
31
31
  *
32
32
  * @private
33
33
  * @experimental
@@ -127,11 +127,35 @@ sap.ui.define([
127
127
  }
128
128
  };
129
129
 
130
+ QuickGroup.prototype._updateContent = function() {
131
+ var aItems = this.getItems();
132
+ var aContent = this.getContent();
133
+ var oItem, oButton;
134
+
135
+ for (var i = 0; i < aItems.length; i++) {
136
+ oItem = aItems[i];
137
+ oButton = aContent[i];
138
+ if (!oButton) {
139
+ oButton = new ToggleButton({press: [oItem, this.onChange, this]});
140
+ }
141
+ oButton.setText(oItem.getLabel());
142
+ oButton.setPressed(oItem.getGrouped());
143
+ }
144
+
145
+ for (var i = aItems.length; i < aContent.length; i++) {
146
+ aContent[i].destroy();
147
+ }
148
+ };
149
+
130
150
  QuickGroup.prototype.onChange = function(oEvent, oItem) {
131
151
  oItem.setProperty("grouped", oEvent.getParameters().pressed, true);
132
152
  this.fireChange({item: oItem});
133
153
  this.getMenu().close();
134
154
  };
135
155
 
156
+ QuickGroup.prototype.getCategory = function() {
157
+ return library.table.columnmenu.Category.Group;
158
+ };
159
+
136
160
  return QuickGroup;
137
161
  });
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.m.table.columnmenu.QuickActionItem
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.103.1
27
+ * @version 1.106.0
28
28
  *
29
29
  * @private
30
30
  * @experimental
@@ -43,5 +43,17 @@ sap.ui.define([
43
43
  }
44
44
  });
45
45
 
46
+ /*
47
+ * @see JSDoc generated by SAPUI5 control API generator
48
+ */
49
+ QuickGroupItem.prototype.setGrouped = function(bGrouped) {
50
+ this.setProperty("grouped", bGrouped);
51
+
52
+ var oQuickGroup = this.getParent();
53
+ if (oQuickGroup) {
54
+ oQuickGroup._updateContent();
55
+ }
56
+ };
57
+
46
58
  return QuickGroupItem;
47
59
  });
@@ -5,10 +5,8 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/core/Element",
9
8
  "sap/m/table/columnmenu/QuickActionBase"
10
9
  ], function (
11
- Element,
12
10
  QuickActionBase
13
11
  ) {
14
12
  "use strict";
@@ -25,7 +23,7 @@ sap.ui.define([
25
23
  * @extends sap.m.table.columnmenu.QuickActionBase
26
24
  *
27
25
  * @author SAP SE
28
- * @version 1.103.1
26
+ * @version 1.106.0
29
27
  *
30
28
  * @private
31
29
  * @experimental
@@ -7,19 +7,19 @@
7
7
  sap.ui.define([
8
8
  "./QuickActionItem",
9
9
  "./QuickAction",
10
- "sap/m/HBox",
11
10
  "sap/m/ToggleButton",
11
+ "sap/m/library",
12
12
  "sap/ui/core/library"
13
13
  ], function (
14
14
  QuickActionItem,
15
15
  QuickAction,
16
- HBox,
17
16
  ToggleButton,
18
- library
17
+ library,
18
+ CoreLibrary
19
19
  ) {
20
20
  "use strict";
21
21
 
22
- var SortOrder = library.SortOrder;
22
+ var SortOrder = CoreLibrary.SortOrder;
23
23
 
24
24
  /**
25
25
  * Constructor for a new QuickSortItem.
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.m.table.columnmenu.QuickActionItem
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.103.1
37
+ * @version 1.106.0
38
38
  *
39
39
  * @private
40
40
  * @experimental
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  metadata: {
46
46
  library: "sap.m",
47
47
  properties: {
48
- sortOrder: { type: "sap.ui.core.SortOrder", defaultValue: library.SortOrder.None }
48
+ sortOrder: { type: "sap.ui.core.SortOrder", defaultValue: CoreLibrary.SortOrder.None }
49
49
  },
50
50
  aggregations: {
51
51
  quickAction: { type: "sap.m.table.columnmenu.QuickAction", multiple: false, visibility: "hidden" }
@@ -62,7 +62,8 @@ sap.ui.define([
62
62
  } else {
63
63
  oQuickAction = new QuickAction({
64
64
  label: sLabel,
65
- content: [this._createContent()]
65
+ content: [this._createContent()],
66
+ category: library.table.columnmenu.Category.Sort
66
67
  });
67
68
  }
68
69