@openui5/sap.m 1.105.1 → 1.107.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 (471) hide show
  1. package/.reuse/dep5 +20 -17
  2. package/THIRDPARTY.txt +31 -21
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +20 -1
  5. package/src/sap/m/AccButton.js +4 -3
  6. package/src/sap/m/ActionListItem.js +14 -11
  7. package/src/sap/m/ActionSelect.js +14 -11
  8. package/src/sap/m/ActionSheet.js +103 -101
  9. package/src/sap/m/ActionSheetRenderer.js +3 -3
  10. package/src/sap/m/ActionTile.js +90 -0
  11. package/src/sap/m/ActionTileContent.js +71 -0
  12. package/src/sap/m/ActionTileContentRenderer.js +108 -0
  13. package/src/sap/m/App.js +107 -104
  14. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  15. package/src/sap/m/Avatar.js +4 -3
  16. package/src/sap/m/AvatarColor.js +0 -1
  17. package/src/sap/m/AvatarImageFitType.js +0 -1
  18. package/src/sap/m/AvatarShape.js +0 -1
  19. package/src/sap/m/AvatarSize.js +0 -1
  20. package/src/sap/m/AvatarType.js +0 -1
  21. package/src/sap/m/Bar.js +103 -89
  22. package/src/sap/m/BarRenderer.js +3 -3
  23. package/src/sap/m/Breadcrumbs.js +4 -3
  24. package/src/sap/m/BusyDialog.js +1 -2
  25. package/src/sap/m/BusyIndicator.js +76 -73
  26. package/src/sap/m/Button.js +123 -120
  27. package/src/sap/m/Carousel.js +148 -147
  28. package/src/sap/m/CarouselLayout.js +1 -2
  29. package/src/sap/m/CarouselRenderer.js +3 -3
  30. package/src/sap/m/CheckBox.js +178 -175
  31. package/src/sap/m/CheckBoxRenderer.js +3 -3
  32. package/src/sap/m/ColorPalette.js +4 -3
  33. package/src/sap/m/ColorPalettePopover.js +24 -21
  34. package/src/sap/m/Column.js +5 -6
  35. package/src/sap/m/ColumnHeaderPopover.js +1 -2
  36. package/src/sap/m/ColumnListItem.js +39 -50
  37. package/src/sap/m/ColumnListItemRenderer.js +0 -3
  38. package/src/sap/m/ColumnPopoverActionItem.js +1 -2
  39. package/src/sap/m/ColumnPopoverCustomItem.js +1 -2
  40. package/src/sap/m/ColumnPopoverItem.js +1 -2
  41. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  42. package/src/sap/m/ColumnPopoverSortItem.js +1 -2
  43. package/src/sap/m/ComboBox.js +4 -3
  44. package/src/sap/m/ComboBoxBase.js +3 -4
  45. package/src/sap/m/ComboBoxTextField.js +4 -3
  46. package/src/sap/m/CustomAttribute.js +53 -0
  47. package/src/sap/m/CustomDynamicDateOption.js +1 -2
  48. package/src/sap/m/CustomListItem.js +24 -21
  49. package/src/sap/m/CustomTile.js +19 -16
  50. package/src/sap/m/CustomTreeItem.js +4 -3
  51. package/src/sap/m/DatePicker.js +148 -143
  52. package/src/sap/m/DateRangeSelection.js +45 -40
  53. package/src/sap/m/DateTimeField.js +11 -8
  54. package/src/sap/m/DateTimeInput.js +147 -142
  55. package/src/sap/m/DateTimePicker.js +83 -75
  56. package/src/sap/m/DateTimePickerRenderer.js +1 -1
  57. package/src/sap/m/Dialog.js +10 -7
  58. package/src/sap/m/DisplayListItem.js +23 -20
  59. package/src/sap/m/DraftIndicator.js +4 -3
  60. package/src/sap/m/DynamicDate.js +1 -1
  61. package/src/sap/m/DynamicDateFormat.js +4 -3
  62. package/src/sap/m/DynamicDateOption.js +1 -2
  63. package/src/sap/m/DynamicDateRange.js +11 -10
  64. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -2
  65. package/src/sap/m/ExpandableText.js +4 -3
  66. package/src/sap/m/FacetFilter.js +112 -110
  67. package/src/sap/m/FacetFilterItem.js +27 -24
  68. package/src/sap/m/FacetFilterList.js +131 -132
  69. package/src/sap/m/FeedContent.js +4 -3
  70. package/src/sap/m/FeedInput.js +136 -133
  71. package/src/sap/m/FeedListItem.js +9 -6
  72. package/src/sap/m/FeedListItemAction.js +1 -2
  73. package/src/sap/m/FeedListItemRenderer.js +3 -3
  74. package/src/sap/m/Fiori20Adapter.js +2 -2
  75. package/src/sap/m/FlexBox.js +96 -93
  76. package/src/sap/m/FlexItemData.js +1 -2
  77. package/src/sap/m/FormattedText.js +4 -3
  78. package/src/sap/m/GenericTag.js +5 -4
  79. package/src/sap/m/GenericTile.js +65 -22
  80. package/src/sap/m/GenericTileLineModeRenderer.js +3 -3
  81. package/src/sap/m/GenericTileRenderer.js +36 -10
  82. package/src/sap/m/GroupHeaderListItem.js +35 -32
  83. package/src/sap/m/GrowingEnablement.js +23 -25
  84. package/src/sap/m/GrowingList.js +35 -32
  85. package/src/sap/m/HBox.js +9 -6
  86. package/src/sap/m/HeaderContainer.js +44 -43
  87. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  88. package/src/sap/m/IconTabBar.js +232 -229
  89. package/src/sap/m/IconTabBarDragAndDropUtil.js +5 -4
  90. package/src/sap/m/IconTabBarSelectList.js +28 -25
  91. package/src/sap/m/IconTabFilter.js +1 -2
  92. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -2
  93. package/src/sap/m/IconTabHeader.js +152 -166
  94. package/src/sap/m/IconTabSeparator.js +1 -2
  95. package/src/sap/m/IllustratedMessage.js +38 -3
  96. package/src/sap/m/IllustratedMessageSize.js +0 -1
  97. package/src/sap/m/IllustratedMessageType.js +0 -1
  98. package/src/sap/m/Illustration.js +11 -3
  99. package/src/sap/m/IllustrationPool.js +1 -1
  100. package/src/sap/m/IllustrationRenderer.js +1 -0
  101. package/src/sap/m/Image.js +270 -197
  102. package/src/sap/m/ImageContent.js +4 -3
  103. package/src/sap/m/ImageRenderer.js +66 -2
  104. package/src/sap/m/Input.js +375 -367
  105. package/src/sap/m/InputBase.js +143 -140
  106. package/src/sap/m/InputBaseRenderer.js +3 -3
  107. package/src/sap/m/InputListItem.js +26 -23
  108. package/src/sap/m/InputRenderer.js +4 -4
  109. package/src/sap/m/InstanceManager.js +6 -6
  110. package/src/sap/m/Label.js +110 -106
  111. package/src/sap/m/LightBox.js +5 -6
  112. package/src/sap/m/LightBoxItem.js +1 -2
  113. package/src/sap/m/Link.js +182 -179
  114. package/src/sap/m/LinkRenderer.js +5 -1
  115. package/src/sap/m/List.js +15 -12
  116. package/src/sap/m/ListBase.js +452 -458
  117. package/src/sap/m/ListItemBase.js +116 -107
  118. package/src/sap/m/ListItemBaseRenderer.js +1 -1
  119. package/src/sap/m/MaskEnabler.js +5 -5
  120. package/src/sap/m/MaskInput.js +4 -3
  121. package/src/sap/m/MaskInputRule.js +1 -2
  122. package/src/sap/m/Menu.js +1 -2
  123. package/src/sap/m/MenuButton.js +142 -135
  124. package/src/sap/m/MenuItem.js +1 -2
  125. package/src/sap/m/MenuListItem.js +49 -46
  126. package/src/sap/m/MessageItem.js +1 -2
  127. package/src/sap/m/MessageListItem.js +4 -3
  128. package/src/sap/m/MessagePage.js +124 -121
  129. package/src/sap/m/MessagePopover.js +6 -6
  130. package/src/sap/m/MessagePopoverItem.js +1 -2
  131. package/src/sap/m/MessageStrip.js +4 -3
  132. package/src/sap/m/MessageToast.js +6 -5
  133. package/src/sap/m/MessageView.js +6 -5
  134. package/src/sap/m/MultiComboBox.js +84 -87
  135. package/src/sap/m/MultiEditField.js +1 -1
  136. package/src/sap/m/MultiInput.js +4 -3
  137. package/src/sap/m/NavContainer.js +6 -15
  138. package/src/sap/m/NewsContent.js +4 -3
  139. package/src/sap/m/NotificationList.js +4 -3
  140. package/src/sap/m/NotificationListBase.js +5 -7
  141. package/src/sap/m/NotificationListGroup.js +4 -3
  142. package/src/sap/m/NotificationListItem.js +4 -12
  143. package/src/sap/m/NumericContent.js +8 -6
  144. package/src/sap/m/NumericInput.js +1 -1
  145. package/src/sap/m/NumericInputRenderer.js +3 -3
  146. package/src/sap/m/ObjectAttribute.js +77 -74
  147. package/src/sap/m/ObjectAttributeRenderer.js +3 -3
  148. package/src/sap/m/ObjectHeader.js +385 -380
  149. package/src/sap/m/ObjectHeaderRenderer.js +4 -3
  150. package/src/sap/m/ObjectIdentifier.js +111 -103
  151. package/src/sap/m/ObjectListItem.js +150 -145
  152. package/src/sap/m/ObjectMarker.js +4 -3
  153. package/src/sap/m/ObjectNumber.js +90 -87
  154. package/src/sap/m/ObjectStatus.js +84 -81
  155. package/src/sap/m/OverflowToolbar.js +4 -3
  156. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  157. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +0 -5
  158. package/src/sap/m/OverflowToolbarButton.js +2 -3
  159. package/src/sap/m/OverflowToolbarLayoutData.js +1 -2
  160. package/src/sap/m/OverflowToolbarToggleButton.js +1 -2
  161. package/src/sap/m/P13nAnyFilterItem.js +1 -2
  162. package/src/sap/m/P13nColumnsItem.js +1 -2
  163. package/src/sap/m/P13nColumnsPanel.js +4 -5
  164. package/src/sap/m/P13nConditionPanel.js +1 -2
  165. package/src/sap/m/P13nDialog.js +1 -2
  166. package/src/sap/m/P13nDimMeasureItem.js +1 -2
  167. package/src/sap/m/P13nDimMeasurePanel.js +6 -5
  168. package/src/sap/m/P13nFilterItem.js +1 -2
  169. package/src/sap/m/P13nFilterPanel.js +1 -2
  170. package/src/sap/m/P13nGroupItem.js +1 -2
  171. package/src/sap/m/P13nGroupPanel.js +1 -2
  172. package/src/sap/m/P13nItem.js +1 -2
  173. package/src/sap/m/P13nPanel.js +1 -2
  174. package/src/sap/m/P13nSelectionItem.js +1 -2
  175. package/src/sap/m/P13nSelectionPanel.js +1 -2
  176. package/src/sap/m/P13nSortItem.js +1 -2
  177. package/src/sap/m/P13nSortPanel.js +1 -2
  178. package/src/sap/m/PDFViewer.js +8 -5
  179. package/src/sap/m/Page.js +9 -7
  180. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -2
  181. package/src/sap/m/PagingButton.js +4 -4
  182. package/src/sap/m/Panel.js +117 -113
  183. package/src/sap/m/PlanningCalendar.js +6 -7
  184. package/src/sap/m/PlanningCalendarHeader.js +135 -129
  185. package/src/sap/m/PlanningCalendarLegend.js +26 -23
  186. package/src/sap/m/PlanningCalendarRow.js +1 -2
  187. package/src/sap/m/PlanningCalendarView.js +1 -2
  188. package/src/sap/m/Popover.js +15 -16
  189. package/src/sap/m/PopoverRenderer.js +5 -4
  190. package/src/sap/m/ProgressIndicator.js +85 -82
  191. package/src/sap/m/ProgressIndicatorRenderer.js +1 -1
  192. package/src/sap/m/PullToRefresh.js +37 -35
  193. package/src/sap/m/QuickView.js +1 -2
  194. package/src/sap/m/QuickViewBase.js +1 -2
  195. package/src/sap/m/QuickViewCard.js +4 -3
  196. package/src/sap/m/QuickViewGroup.js +1 -2
  197. package/src/sap/m/QuickViewGroupElement.js +1 -2
  198. package/src/sap/m/QuickViewPage.js +1 -2
  199. package/src/sap/m/RadioButton.js +117 -114
  200. package/src/sap/m/RadioButtonGroup.js +90 -95
  201. package/src/sap/m/RangeSlider.js +9 -6
  202. package/src/sap/m/RangeSliderRenderer.js +2 -2
  203. package/src/sap/m/RatingIndicator.js +104 -100
  204. package/src/sap/m/RatingIndicatorRenderer.js +3 -5
  205. package/src/sap/m/ResponsivePopover.js +209 -209
  206. package/src/sap/m/ResponsiveScale.js +1 -2
  207. package/src/sap/m/ScrollBar.js +31 -28
  208. package/src/sap/m/ScrollContainer.js +9 -7
  209. package/src/sap/m/SearchField.js +185 -182
  210. package/src/sap/m/SearchFieldRenderer.js +1 -0
  211. package/src/sap/m/SegmentedButton.js +120 -118
  212. package/src/sap/m/SegmentedButtonItem.js +1 -2
  213. package/src/sap/m/Select.js +23 -10
  214. package/src/sap/m/SelectDialog.js +22 -17
  215. package/src/sap/m/SelectDialogBase.js +1 -2
  216. package/src/sap/m/SelectList.js +4 -3
  217. package/src/sap/m/SelectionDetails.js +97 -92
  218. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  219. package/src/sap/m/SelectionDetailsItem.js +1 -2
  220. package/src/sap/m/SelectionDetailsItemLine.js +1 -2
  221. package/src/sap/m/Shell.js +111 -107
  222. package/src/sap/m/SimpleFixFlex.js +5 -5
  223. package/src/sap/m/SinglePlanningCalendar.js +344 -340
  224. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  225. package/src/sap/m/SinglePlanningCalendarGrid.js +25 -10
  226. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +8 -7
  227. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +16 -7
  228. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  229. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  230. package/src/sap/m/SinglePlanningCalendarWeekView.js +15 -15
  231. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +5 -4
  232. package/src/sap/m/SlideTile.js +10 -7
  233. package/src/sap/m/Slider.js +180 -175
  234. package/src/sap/m/SliderRenderer.js +4 -4
  235. package/src/sap/m/SliderTooltip.js +5 -5
  236. package/src/sap/m/SliderTooltipBase.js +4 -3
  237. package/src/sap/m/SliderTooltipContainer.js +10 -6
  238. package/src/sap/m/SplitApp.js +52 -49
  239. package/src/sap/m/SplitButton.js +103 -96
  240. package/src/sap/m/SplitContainer.js +407 -422
  241. package/src/sap/m/StandardDynamicDateOption.js +1 -2
  242. package/src/sap/m/StandardListItem.js +116 -113
  243. package/src/sap/m/StandardTile.js +64 -61
  244. package/src/sap/m/StandardTreeItem.js +20 -17
  245. package/src/sap/m/StepInput.js +4 -3
  246. package/src/sap/m/SuggestionItem.js +1 -2
  247. package/src/sap/m/SuggestionsPopover.js +1 -1
  248. package/src/sap/m/Switch.js +79 -74
  249. package/src/sap/m/SwitchRenderer.js +3 -3
  250. package/src/sap/m/TabContainer.js +4 -3
  251. package/src/sap/m/TabContainerItem.js +1 -2
  252. package/src/sap/m/TabStrip.js +13 -11
  253. package/src/sap/m/TabStripItem.js +1 -1
  254. package/src/sap/m/Table.js +177 -174
  255. package/src/sap/m/TablePersoController.js +6 -5
  256. package/src/sap/m/TablePersoDialog.js +6 -4
  257. package/src/sap/m/TablePersoProvider.js +1 -1
  258. package/src/sap/m/TableRenderer.js +1 -1
  259. package/src/sap/m/TableSelectDialog.js +1 -3
  260. package/src/sap/m/Text.js +4 -3
  261. package/src/sap/m/TextArea.js +87 -84
  262. package/src/sap/m/Tile.js +20 -17
  263. package/src/sap/m/TileContainer.js +73 -73
  264. package/src/sap/m/TileContent.js +57 -6
  265. package/src/sap/m/TimePicker.js +17 -12
  266. package/src/sap/m/TimePickerClock.js +2 -2
  267. package/src/sap/m/TimePickerClocks.js +4 -2
  268. package/src/sap/m/TimePickerClocksRenderer.js +3 -1
  269. package/src/sap/m/TimePickerInputs.js +4 -2
  270. package/src/sap/m/TimePickerInternals.js +11 -7
  271. package/src/sap/m/TimePickerSlider.js +5 -4
  272. package/src/sap/m/TimePickerSliders.js +11 -7
  273. package/src/sap/m/TimePickerSlidersRenderer.js +2 -2
  274. package/src/sap/m/Title.js +109 -106
  275. package/src/sap/m/TitlePropagationSupport.js +4 -4
  276. package/src/sap/m/ToDoCardRenderer.js +161 -0
  277. package/src/sap/m/ToggleButton.js +29 -26
  278. package/src/sap/m/Token.js +97 -94
  279. package/src/sap/m/Tokenizer.js +153 -150
  280. package/src/sap/m/Toolbar.js +104 -101
  281. package/src/sap/m/ToolbarLayoutData.js +1 -2
  282. package/src/sap/m/ToolbarSeparator.js +11 -8
  283. package/src/sap/m/ToolbarSpacer.js +16 -13
  284. package/src/sap/m/Tree.js +32 -29
  285. package/src/sap/m/TreeItemBase.js +8 -5
  286. package/src/sap/m/TreeItemBaseRenderer.js +3 -3
  287. package/src/sap/m/UploadCollection.js +8 -5
  288. package/src/sap/m/UploadCollectionItem.js +1 -2
  289. package/src/sap/m/UploadCollectionParameter.js +1 -2
  290. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -2
  291. package/src/sap/m/VBox.js +9 -6
  292. package/src/sap/m/ValueStateHeader.js +1 -2
  293. package/src/sap/m/VariantItem.js +6 -1
  294. package/src/sap/m/VariantManagement.js +79 -8
  295. package/src/sap/m/ViewSettingsCustomItem.js +1 -2
  296. package/src/sap/m/ViewSettingsCustomTab.js +1 -2
  297. package/src/sap/m/ViewSettingsDialog.js +189 -188
  298. package/src/sap/m/ViewSettingsFilterItem.js +1 -2
  299. package/src/sap/m/ViewSettingsItem.js +1 -2
  300. package/src/sap/m/VisibleItem.js +1 -1
  301. package/src/sap/m/WheelSlider.js +5 -4
  302. package/src/sap/m/WheelSliderContainer.js +4 -2
  303. package/src/sap/m/WheelSliderContainerRenderer.js +2 -2
  304. package/src/sap/m/Wizard.js +13 -3
  305. package/src/sap/m/WizardProgressNavigator.js +52 -49
  306. package/src/sap/m/WizardStep.js +6 -3
  307. package/src/sap/m/_thirdparty/purify.js +1622 -0
  308. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  309. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  310. package/src/sap/m/changeHandler/CombineButtons.js +4 -3
  311. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  312. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  313. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  314. package/src/sap/m/library.js +40 -116
  315. package/src/sap/m/messagebundle.properties +22 -10
  316. package/src/sap/m/messagebundle_ar.properties +20 -6
  317. package/src/sap/m/messagebundle_bg.properties +19 -5
  318. package/src/sap/m/messagebundle_ca.properties +19 -5
  319. package/src/sap/m/messagebundle_cs.properties +30 -16
  320. package/src/sap/m/messagebundle_cy.properties +19 -5
  321. package/src/sap/m/messagebundle_da.properties +19 -5
  322. package/src/sap/m/messagebundle_de.properties +20 -6
  323. package/src/sap/m/messagebundle_el.properties +19 -5
  324. package/src/sap/m/messagebundle_en.properties +18 -4
  325. package/src/sap/m/messagebundle_en_GB.properties +18 -4
  326. package/src/sap/m/messagebundle_en_US_sappsd.properties +19 -3
  327. package/src/sap/m/messagebundle_en_US_saprigi.properties +23 -9
  328. package/src/sap/m/messagebundle_en_US_saptrc.properties +16 -2
  329. package/src/sap/m/messagebundle_es.properties +19 -5
  330. package/src/sap/m/messagebundle_es_MX.properties +19 -5
  331. package/src/sap/m/messagebundle_et.properties +19 -5
  332. package/src/sap/m/messagebundle_fi.properties +19 -5
  333. package/src/sap/m/messagebundle_fr.properties +20 -6
  334. package/src/sap/m/messagebundle_fr_CA.properties +20 -6
  335. package/src/sap/m/messagebundle_hi.properties +19 -5
  336. package/src/sap/m/messagebundle_hr.properties +20 -6
  337. package/src/sap/m/messagebundle_hu.properties +19 -5
  338. package/src/sap/m/messagebundle_id.properties +19 -5
  339. package/src/sap/m/messagebundle_it.properties +20 -6
  340. package/src/sap/m/messagebundle_iw.properties +19 -5
  341. package/src/sap/m/messagebundle_ja.properties +19 -5
  342. package/src/sap/m/messagebundle_kk.properties +19 -5
  343. package/src/sap/m/messagebundle_ko.properties +20 -6
  344. package/src/sap/m/messagebundle_lt.properties +20 -6
  345. package/src/sap/m/messagebundle_lv.properties +19 -5
  346. package/src/sap/m/messagebundle_ms.properties +19 -5
  347. package/src/sap/m/messagebundle_nl.properties +19 -5
  348. package/src/sap/m/messagebundle_no.properties +19 -5
  349. package/src/sap/m/messagebundle_pl.properties +19 -5
  350. package/src/sap/m/messagebundle_pt.properties +19 -5
  351. package/src/sap/m/messagebundle_pt_PT.properties +19 -5
  352. package/src/sap/m/messagebundle_ro.properties +19 -5
  353. package/src/sap/m/messagebundle_ru.properties +19 -5
  354. package/src/sap/m/messagebundle_sh.properties +20 -6
  355. package/src/sap/m/messagebundle_sk.properties +19 -5
  356. package/src/sap/m/messagebundle_sl.properties +20 -6
  357. package/src/sap/m/messagebundle_sv.properties +19 -5
  358. package/src/sap/m/messagebundle_th.properties +19 -5
  359. package/src/sap/m/messagebundle_tr.properties +19 -5
  360. package/src/sap/m/messagebundle_uk.properties +19 -5
  361. package/src/sap/m/messagebundle_vi.properties +19 -5
  362. package/src/sap/m/messagebundle_zh_CN.properties +19 -5
  363. package/src/sap/m/messagebundle_zh_TW.properties +19 -5
  364. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  365. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  366. package/src/sap/m/p13n/BasePanel.js +21 -7
  367. package/src/sap/m/p13n/Container.js +1 -1
  368. package/src/sap/m/p13n/Engine.js +84 -79
  369. package/src/sap/m/p13n/GroupController.js +3 -4
  370. package/src/sap/m/p13n/GroupPanel.js +1 -1
  371. package/src/sap/m/p13n/MetadataHelper.js +8 -0
  372. package/src/sap/m/p13n/Popup.js +1 -1
  373. package/src/sap/m/p13n/QueryPanel.js +1 -1
  374. package/src/sap/m/p13n/SelectionController.js +8 -7
  375. package/src/sap/m/p13n/SelectionPanel.js +37 -15
  376. package/src/sap/m/p13n/SortController.js +3 -4
  377. package/src/sap/m/p13n/SortPanel.js +3 -3
  378. package/src/sap/m/p13n/modification/FlexModificationHandler.js +1 -1
  379. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +1 -1
  380. package/src/sap/m/p13n/modification/ModificationHandler.js +11 -0
  381. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  382. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  383. package/src/sap/m/p13n/modules/UIManager.js +1 -1
  384. package/src/sap/m/plugins/CellSelector.js +459 -76
  385. package/src/sap/m/plugins/ColumnResizer.js +1 -2
  386. package/src/sap/m/plugins/DataStateIndicator.js +1 -2
  387. package/src/sap/m/plugins/PasteProvider.js +1 -2
  388. package/src/sap/m/plugins/PluginBase.js +1 -2
  389. package/src/sap/m/rules/CheckBox.support.js +1 -1
  390. package/src/sap/m/rules/Image.support.js +1 -1
  391. package/src/sap/m/rules/Link.support.js +1 -1
  392. package/src/sap/m/rules/MessagePage.support.js +1 -1
  393. package/src/sap/m/rules/ObjectHeader.support.js +6 -6
  394. package/src/sap/m/rules/ObjectListItem.support.js +1 -1
  395. package/src/sap/m/rules/ObjectMarker.support.js +1 -1
  396. package/src/sap/m/rules/ObjectStatus.support.js +1 -1
  397. package/src/sap/m/rules/Panel.support.js +1 -1
  398. package/src/sap/m/rules/Select.support.js +1 -1
  399. package/src/sap/m/rules/Table.support.js +3 -3
  400. package/src/sap/m/semantic/AddAction.js +1 -2
  401. package/src/sap/m/semantic/CancelAction.js +1 -2
  402. package/src/sap/m/semantic/DeleteAction.js +1 -2
  403. package/src/sap/m/semantic/DetailPage.js +1 -2
  404. package/src/sap/m/semantic/DiscussInJamAction.js +1 -2
  405. package/src/sap/m/semantic/EditAction.js +1 -2
  406. package/src/sap/m/semantic/FavoriteAction.js +1 -2
  407. package/src/sap/m/semantic/FilterAction.js +1 -2
  408. package/src/sap/m/semantic/FilterSelect.js +1 -2
  409. package/src/sap/m/semantic/FlagAction.js +1 -2
  410. package/src/sap/m/semantic/ForwardAction.js +1 -2
  411. package/src/sap/m/semantic/FullscreenPage.js +1 -2
  412. package/src/sap/m/semantic/GroupAction.js +1 -2
  413. package/src/sap/m/semantic/GroupSelect.js +1 -2
  414. package/src/sap/m/semantic/MainAction.js +1 -2
  415. package/src/sap/m/semantic/MasterPage.js +1 -2
  416. package/src/sap/m/semantic/MessagesIndicator.js +1 -2
  417. package/src/sap/m/semantic/MultiSelectAction.js +1 -2
  418. package/src/sap/m/semantic/NegativeAction.js +1 -2
  419. package/src/sap/m/semantic/OpenInAction.js +1 -2
  420. package/src/sap/m/semantic/PositiveAction.js +1 -2
  421. package/src/sap/m/semantic/PrintAction.js +1 -2
  422. package/src/sap/m/semantic/SaveAction.js +1 -2
  423. package/src/sap/m/semantic/Segment.js +1 -2
  424. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  425. package/src/sap/m/semantic/SemanticButton.js +1 -2
  426. package/src/sap/m/semantic/SemanticConfiguration.js +1 -2
  427. package/src/sap/m/semantic/SemanticControl.js +1 -2
  428. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -2
  429. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -2
  430. package/src/sap/m/semantic/SemanticPage.js +4 -3
  431. package/src/sap/m/semantic/SemanticSelect.js +1 -2
  432. package/src/sap/m/semantic/SemanticToggleButton.js +1 -2
  433. package/src/sap/m/semantic/SendEmailAction.js +1 -2
  434. package/src/sap/m/semantic/SendMessageAction.js +1 -2
  435. package/src/sap/m/semantic/ShareInJamAction.js +1 -2
  436. package/src/sap/m/semantic/ShareMenu.js +1 -2
  437. package/src/sap/m/semantic/ShareMenuPage.js +1 -2
  438. package/src/sap/m/semantic/SortAction.js +1 -2
  439. package/src/sap/m/semantic/SortSelect.js +1 -2
  440. package/src/sap/m/table/Util.js +17 -5
  441. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  442. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  443. package/src/sap/m/table/columnmenu/Item.js +1 -1
  444. package/src/sap/m/table/columnmenu/ItemBase.js +2 -2
  445. package/src/sap/m/table/columnmenu/ItemContainer.js +1 -1
  446. package/src/sap/m/table/columnmenu/Menu.js +64 -22
  447. package/src/sap/m/table/columnmenu/QuickAction.js +16 -8
  448. package/src/sap/m/table/columnmenu/QuickActionBase.js +19 -4
  449. package/src/sap/m/table/columnmenu/QuickActionContainer.js +1 -1
  450. package/src/sap/m/table/columnmenu/QuickActionItem.js +5 -6
  451. package/src/sap/m/table/columnmenu/QuickGroup.js +9 -3
  452. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  453. package/src/sap/m/table/columnmenu/QuickSort.js +6 -4
  454. package/src/sap/m/table/columnmenu/QuickSortItem.js +11 -12
  455. package/src/sap/m/table/columnmenu/QuickTotal.js +9 -3
  456. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  457. package/src/sap/m/themes/base/ActionTile.less +239 -0
  458. package/src/sap/m/themes/base/Bar.less +6 -0
  459. package/src/sap/m/themes/base/Carousel.less +8 -8
  460. package/src/sap/m/themes/base/CellSelector.less +109 -2
  461. package/src/sap/m/themes/base/DisplayListItem.less +3 -3
  462. package/src/sap/m/themes/base/GenericTile.less +7 -0
  463. package/src/sap/m/themes/base/IconTabBar.less +2 -0
  464. package/src/sap/m/themes/base/Link.less +4 -0
  465. package/src/sap/m/themes/base/Page.less +2 -1
  466. package/src/sap/m/themes/base/library.source.less +1 -0
  467. package/src/sap/m/upload/UploadSet.js +295 -13
  468. package/src/sap/m/upload/UploadSetItem.js +1 -2
  469. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  470. package/src/sap/m/upload/Uploader.js +0 -1
  471. package/src/sap/m/upload/UploaderHttpRequestMethod.js +0 -1
@@ -25,13 +25,12 @@ sap.ui.define([
25
25
  * @abstract
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.105.1
28
+ * @version 1.107.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
32
32
  * @since 1.30.0
33
33
  * @alias sap.m.semantic.SemanticButton
34
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
35
34
  */
36
35
 
37
36
  var SemanticButton = SemanticControl.extend("sap.m.semantic.SemanticButton", /** @lends sap.m.semantic.SemanticButton.prototype */ {
@@ -35,11 +35,10 @@ sap.ui.define([
35
35
  * Constructor for an sap.m.semantic.SemanticConfiguration.
36
36
  *
37
37
  * @class Defines the visual properties and positioning for each supported semantic type
38
- * @version 1.105.1
38
+ * @version 1.107.0
39
39
  * @private
40
40
  * @since 1.30.0
41
41
  * @alias sap.m.semantic.SemanticConfiguration
42
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
43
42
  */
44
43
 
45
44
  var SemanticConfiguration = BaseObject.extend("sap.m.semantic.SemanticConfiguration", {
@@ -25,13 +25,12 @@ sap.ui.define([
25
25
  * @abstract
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.105.1
28
+ * @version 1.107.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
32
32
  * @since 1.30.0
33
33
  * @alias sap.m.semantic.SemanticControl
34
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
35
34
  */
36
35
  var SemanticControl = Element.extend("sap.m.semantic.SemanticControl", /** @lends sap.m.semantic.SemanticControl.prototype */ {
37
36
  metadata: {
@@ -22,13 +22,12 @@ sap.ui.define(['sap/m/OverflowToolbarButton', 'sap/m/ButtonRenderer'],
22
22
  * @extends sap.m.OverflowToolbarButton
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.105.1
25
+ * @version 1.107.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
29
29
  * @since 1.38
30
30
  * @alias sap.m.semantic.SemanticOverflowToolbarButton
31
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
32
31
  */
33
32
  var SemanticOverflowToolbarButton = OverflowToolbarButton.extend("sap.m.semantic.SemanticOverflowToolbarButton", /** @lends sap.m.semantic.SemanticOverflowToolbarButton.prototype */ {
34
33
  metadata: {
@@ -22,13 +22,12 @@ sap.ui.define(["sap/m/OverflowToolbarToggleButton", "sap/m/ToggleButtonRenderer"
22
22
  * @extends sap.m.OverflowToolbarToggleButton
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.105.1
25
+ * @version 1.107.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
29
29
  * @since 1.80
30
30
  * @alias sap.m.semantic.SemanticOverflowToolbarToggleButton
31
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
32
31
  */
33
32
  var SemanticOverflowToolbarToggleButton = OverflowToolbarToggleButton.extend("sap.m.semantic.SemanticOverflowToolbarToggleButton", /** @lends sap.m.semantic.SemanticOverflowToolbarToggleButton.prototype */ {
34
33
  metadata: {
@@ -109,13 +109,12 @@ function(
109
109
  * @abstract
110
110
  *
111
111
  * @author SAP SE
112
- * @version 1.105.1
112
+ * @version 1.107.0
113
113
  *
114
114
  * @constructor
115
115
  * @public
116
116
  * @since 1.30.0
117
117
  * @alias sap.m.semantic.SemanticPage
118
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
119
118
  */
120
119
  var SemanticPage = Control.extend("sap.m.semantic.SemanticPage", /** @lends sap.m.semantic.SemanticPage.prototype */ {
121
120
  metadata: {
@@ -277,7 +276,9 @@ function(
277
276
  },
278
277
  dnd: { draggable: false, droppable: true },
279
278
  designtime: "sap/m/designtime/semantic/SemanticPage.designtime"
280
- }
279
+ },
280
+
281
+ renderer: SemanticPageRenderer
281
282
  });
282
283
 
283
284
  SemanticPage.prototype.init = function () {
@@ -19,13 +19,12 @@ sap.ui.define(['sap/m/semantic/SemanticControl', 'sap/m/Select', "sap/base/Log"]
19
19
  * @abstract
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.105.1
22
+ * @version 1.107.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
26
26
  * @since 1.30
27
27
  * @alias sap.m.semantic.SemanticSelect
28
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
29
28
  */
30
29
 
31
30
  var SemanticSelect = SemanticControl.extend("sap.m.semantic.SemanticSelect", /** @lends sap.m.semantic.SemanticSelect.prototype */ {
@@ -27,13 +27,12 @@ sap.ui.define([
27
27
  * @abstract
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.105.1
30
+ * @version 1.107.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
34
34
  * @since 1.30.0
35
35
  * @alias sap.m.semantic.SemanticToggleButton
36
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
37
36
  */
38
37
 
39
38
  var SemanticToggleButton = SemanticButton.extend("sap.m.semantic.SemanticToggleButton", /** @lends sap.m.semantic.SemanticToggleButton.prototype */ {
@@ -19,13 +19,12 @@ 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.105.1
22
+ * @version 1.107.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
26
26
  * @since 1.30.0
27
27
  * @alias sap.m.semantic.SendEmailAction
28
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
29
28
  */
30
29
 
31
30
  var SendEmailAction = SemanticButton.extend("sap.m.semantic.SendEmailAction", /** @lends sap.m.semantic.SendEmailAction.prototype */ {
@@ -19,13 +19,12 @@ 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.105.1
22
+ * @version 1.107.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
26
26
  * @since 1.30.0
27
27
  * @alias sap.m.semantic.SendMessageAction
28
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
29
28
  */
30
29
 
31
30
  var SendMessageAction = SemanticButton.extend("sap.m.semantic.SendMessageAction", /** @lends sap.m.semantic.SendMessageAction.prototype */ {
@@ -19,13 +19,12 @@ 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.105.1
22
+ * @version 1.107.0
23
23
  *
24
24
  * @constructor
25
25
  * @public
26
26
  * @since 1.30.0
27
27
  * @alias sap.m.semantic.ShareInJamAction
28
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
29
28
  */
30
29
 
31
30
  var ShareInJamAction = SemanticButton.extend("sap.m.semantic.ShareInJamAction", /** @lends sap.m.semantic.ShareInJamAction.prototype */ {
@@ -48,11 +48,10 @@ 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.105.1
51
+ * @version 1.107.0
52
52
  * @private
53
53
  * @since 1.30.0
54
54
  * @alias sap.m.semantic.ShareMenu
55
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
56
55
  */
57
56
  var ShareMenu = BaseObject.extend("sap.m.semantic.ShareMenu", {
58
57
 
@@ -22,13 +22,12 @@ 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.105.1
25
+ * @version 1.107.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
29
29
  * @since 1.30.0
30
30
  * @alias sap.m.semantic.ShareMenuPage
31
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
32
31
  */
33
32
 
34
33
  var ShareMenuPage = SemanticPage.extend("sap.m.semantic.ShareMenuPage", /** @lends sap.m.semantic.ShareMenuPage.prototype */ {
@@ -25,13 +25,12 @@ 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.105.1
28
+ * @version 1.107.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
32
32
  * @since 1.30.0
33
33
  * @alias sap.m.semantic.SortAction
34
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
35
34
  */
36
35
 
37
36
  var SortAction = SemanticButton.extend("sap.m.semantic.SortAction", /** @lends sap.m.semantic.SortAction.prototype */ {
@@ -24,13 +24,12 @@ 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.105.1
27
+ * @version 1.107.0
28
28
  *
29
29
  * @constructor
30
30
  * @public
31
31
  * @since 1.30.0
32
32
  * @alias sap.m.semantic.SortSelect
33
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
34
33
  */
35
34
 
36
35
  var SortSelect = SemanticSelect.extend("sap.m.semantic.SortSelect", /** @lends sap.m.semantic.SortSelect.prototype */ {
@@ -8,8 +8,9 @@ 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
 
@@ -19,7 +20,7 @@ sap.ui.define([
19
20
  * @namespace
20
21
  * @alias module:sap/m/table/Util
21
22
  * @author SAP SE
22
- * @version 1.105.1
23
+ * @version 1.107.0
23
24
  * @since 1.96.0
24
25
  * @private
25
26
  * @ui5-restricted sap.fe, sap.ui.mdc, sap.ui.comp
@@ -267,16 +268,27 @@ sap.ui.define([
267
268
  * Returns an instance of <code>sap.m.IllustratedMessage</code> in case there are no visible columns in the table.
268
269
  *
269
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
270
272
  * @private
271
273
  */
272
- Util.getNoColumnsIllustratedMessage = function() {
274
+ Util.getNoColumnsIllustratedMessage = function(fnAddColumn) {
273
275
  var oResourceBundle = Core.getLibraryResourceBundle("sap.m");
274
276
 
275
- return new IllustratedMessage({
277
+ var oIllustratedMessage = new IllustratedMessage({
276
278
  illustrationType: MLibrary.IllustratedMessageType.AddColumn,
277
279
  title: oResourceBundle.getText("TABLE_NO_COLUMNS_TITLE"),
278
280
  description: oResourceBundle.getText("TABLE_NO_COLUMNS_DESCRIPTION")
279
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;
280
292
  };
281
293
 
282
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.105.1
26
+ * @version 1.107.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.105.1
26
+ * @version 1.107.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.105.1
26
+ * @version 1.107.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.105.1
26
+ * @version 1.107.0
27
27
  *
28
28
  * @private
29
29
  * @experimental
@@ -54,7 +54,7 @@ sap.ui.define([
54
54
  * @protected
55
55
  */
56
56
  ItemBase.prototype.getEffectiveItems = function() {
57
- return [this];
57
+ return this.getVisible() ? [this] : [];
58
58
  };
59
59
 
60
60
  /**
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  });
21
21
 
22
22
  ItemContainer.prototype.getEffectiveItems = function() {
23
- return this.getItems().reduce(function(aItems, oItem) {
23
+ return !this.getVisible() ? [] : this.getItems().reduce(function(aItems, oItem) {
24
24
  return aItems.concat(oItem.getEffectiveItems());
25
25
  }, []);
26
26
  };
@@ -52,11 +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;
57
-
58
- // shortcut for sap.ui.core.VerticalAlign
59
56
  var VerticalAlign = coreLibrary.VerticalAlign;
57
+ var Category = library.table.columnmenu.Category;
60
58
 
61
59
  /**
62
60
  * Constructor for a new Menu.
@@ -78,7 +76,7 @@ sap.ui.define([
78
76
  * @extends sap.ui.core.Control
79
77
  *
80
78
  * @author SAP SE
81
- * @version 1.105.1
79
+ * @version 1.107.0
82
80
  *
83
81
  * @private
84
82
  * @experimental
@@ -111,6 +109,12 @@ sap.ui.define([
111
109
  * @private
112
110
  */
113
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: {}
114
118
  }
115
119
  },
116
120
  renderer: MenuRenderer
@@ -122,7 +126,7 @@ sap.ui.define([
122
126
 
123
127
  Menu.prototype.init = function() {
124
128
  this.fAnyEventHandlerProxy = jQuery.proxy(function(oEvent){
125
- if (!this._oPopover.isOpen() || !this.getDomRef() || (oEvent.type != "mousedown" && oEvent.type != "touchstart")) {
129
+ if (!this.isOpen() || !this.getDomRef() || (oEvent.type != "mousedown" && oEvent.type != "touchstart")) {
126
130
  return;
127
131
  }
128
132
  this.handleOuterEvent(this.getId(), oEvent);
@@ -158,7 +162,11 @@ sap.ui.define([
158
162
  }
159
163
  this._initItemsContainer();
160
164
 
161
- this._oPopover.openBy(oAnchor);
165
+ if (!this.isOpen()) {
166
+ this.fireBeforeOpen();
167
+ this._oPopover.openBy(oAnchor);
168
+ }
169
+
162
170
  ControlEvents.bindAnyEvent(this.fAnyEventHandlerProxy);
163
171
  };
164
172
 
@@ -173,6 +181,15 @@ sap.ui.define([
173
181
  return ARIA_POPUP_TYPE;
174
182
  };
175
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
+
176
193
  /**
177
194
  * Closes the popover.
178
195
  *
@@ -242,7 +259,7 @@ sap.ui.define([
242
259
  };
243
260
 
244
261
  Menu.prototype.onsapfocusleave = function(oEvent){
245
- if (!this._oPopover.isOpen()) {
262
+ if (!this.isOpen()) {
246
263
  return;
247
264
  }
248
265
  this.handleOuterEvent(this.getId(), oEvent);
@@ -437,17 +454,31 @@ sap.ui.define([
437
454
  return sText ? this.oResourceBundle.getText(sText, vValue) : this.oResourceBundle;
438
455
  };
439
456
 
440
- 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) {
441
465
  var aQuickActions = (this.getAggregation("_quickActions") || []).concat(this.getQuickActions());
442
- return aQuickActions.reduce(function (a, oQuickAction) {
443
- return a.concat(oQuickAction.getEffectiveQuickActions());
444
- }, []).filter(function (oQuickAction) {
445
- return oQuickAction.getVisible();
446
- });
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;
447
478
  };
448
479
 
449
480
  Menu.prototype._hasQuickActions = function() {
450
- return this._getAllEffectiveQuickActions().length > 0;
481
+ return this._getAllEffectiveQuickActions(true).length > 0;
451
482
  };
452
483
 
453
484
  Menu.prototype._getAllEffectiveItems = function() {
@@ -517,6 +548,7 @@ sap.ui.define([
517
548
 
518
549
  Menu.prototype._createQuickActionGrids = function () {
519
550
  var oFormContainer;
551
+
520
552
  if (this._oForm) {
521
553
  oFormContainer = this._oForm.getFormContainers()[0];
522
554
  oFormContainer.destroyFormElements();
@@ -533,28 +565,38 @@ sap.ui.define([
533
565
  editable: true,
534
566
  formContainers: oFormContainer
535
567
  });
568
+ this._oForm.addEventDelegate({
569
+ onAfterRendering: function() {
570
+ this.getDomRef().classList.remove("sapUiFormLblColon");
571
+ }
572
+ }, this._oForm);
536
573
  }
537
574
 
538
- var aEffectiveQuickActions = this._getAllEffectiveQuickActions();
539
- aEffectiveQuickActions.forEach(function (oEffectiveQuickAction) {
540
- if (!oEffectiveQuickAction.getVisible()) {
575
+ this._getAllEffectiveQuickActions().forEach(function(oQuickAction) {
576
+ if (!oQuickAction.getVisible()) {
541
577
  return;
542
578
  }
579
+
543
580
  // Create label
544
581
  var oGridData = new GridData({span: "XL4 L4 M4 S12"});
582
+ var sQuickActionLabel = oQuickAction.getLabel();
545
583
  var oLabel = new Label({
546
- text: oEffectiveQuickAction.getLabel(),
584
+ text: sQuickActionLabel,
547
585
  layoutData: oGridData,
548
586
  vAlign: VerticalAlign.Middle,
549
- wrapping: true
550
- }).setWidth("100%");
587
+ wrapping: true,
588
+ width: "100%",
589
+ showColon: sQuickActionLabel !== ""
590
+ && !(oQuickAction.getParent() && oQuickAction.getParent().isA("sap.m.table.columnmenu.QuickSortItem"))
591
+ && oQuickAction._bHideLabelColon !== true
592
+ });
551
593
  oLabel.addStyleClass("sapMTCMenuQALabel");
552
594
 
553
595
  // Create content
554
596
  var aControls = [];
555
- var aContent = oEffectiveQuickAction.getContent();
597
+ var aContent = oQuickAction.getContent();
556
598
 
557
- aContent.forEach(function (oItem) {
599
+ aContent.forEach(function(oItem) {
558
600
  if (oItem.getLayoutData()) {
559
601
  oGridData = oItem.getLayoutData().clone();
560
602
  } else {
@@ -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.105.1
29
+ * @version 1.107.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.105.1
28
+ * @version 1.107.0
27
29
  *
28
30
  * @private
29
31
  * @experimental
@@ -47,7 +49,7 @@ sap.ui.define([
47
49
  * @public
48
50
  */
49
51
  QuickActionBase.prototype.getEffectiveQuickActions = function() {
50
- return [this];
52
+ return this.getVisible() ? [this] : [];
51
53
  };
52
54
 
53
55
  QuickActionBase.prototype.setVisible = function (bVisible) {
@@ -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
  });
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  });
21
21
 
22
22
  QuickActionContainer.prototype.getEffectiveQuickActions = function() {
23
- return this.getQuickActions().reduce(function(aQuickActions, oQuickAction) {
23
+ return !this.getVisible() ? [] : this.getQuickActions().reduce(function(aQuickActions, oQuickAction) {
24
24
  return aQuickActions.concat(oQuickAction.getEffectiveQuickActions());
25
25
  }, []);
26
26
  };