@openui5/sap.m 1.100.0 → 1.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/.eslintrc.json +18 -0
  2. package/THIRDPARTY.txt +5 -5
  3. package/package.json +4 -4
  4. package/src/sap/m/.library +1 -1
  5. package/src/sap/m/AccButton.js +1 -1
  6. package/src/sap/m/ActionListItem.js +1 -1
  7. package/src/sap/m/ActionSelect.js +1 -1
  8. package/src/sap/m/ActionSheet.js +10 -3
  9. package/src/sap/m/App.js +1 -1
  10. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  11. package/src/sap/m/Avatar.js +1 -1
  12. package/src/sap/m/Bar.js +6 -5
  13. package/src/sap/m/Breadcrumbs.js +1 -1
  14. package/src/sap/m/BreadcrumbsRenderer.js +0 -5
  15. package/src/sap/m/BusyDialog.js +1 -1
  16. package/src/sap/m/BusyIndicator.js +1 -1
  17. package/src/sap/m/Button.js +1 -1
  18. package/src/sap/m/Carousel.js +4 -1
  19. package/src/sap/m/CarouselLayout.js +1 -1
  20. package/src/sap/m/CarouselRenderer.js +2 -1
  21. package/src/sap/m/CheckBox.js +1 -1
  22. package/src/sap/m/ColorPalette.js +1 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +1 -1
  25. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  26. package/src/sap/m/ColumnListItem.js +1 -1
  27. package/src/sap/m/ColumnListItemRenderer.js +1 -0
  28. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  33. package/src/sap/m/ComboBox.js +1 -1
  34. package/src/sap/m/ComboBoxBase.js +4 -2
  35. package/src/sap/m/ComboBoxTextField.js +1 -1
  36. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  37. package/src/sap/m/CustomListItem.js +1 -1
  38. package/src/sap/m/CustomTile.js +1 -1
  39. package/src/sap/m/CustomTreeItem.js +1 -1
  40. package/src/sap/m/DatePicker.js +33 -5
  41. package/src/sap/m/DatePickerRenderer.js +0 -1
  42. package/src/sap/m/DateRangeSelection.js +42 -4
  43. package/src/sap/m/DateTimeField.js +1 -1
  44. package/src/sap/m/DateTimeInput.js +1 -1
  45. package/src/sap/m/DateTimePicker.js +35 -49
  46. package/src/sap/m/DateTimePickerRenderer.js +2 -2
  47. package/src/sap/m/Dialog.js +20 -7
  48. package/src/sap/m/DisplayListItem.js +1 -1
  49. package/src/sap/m/DraftIndicator.js +1 -1
  50. package/src/sap/m/DynamicDate.js +1 -1
  51. package/src/sap/m/DynamicDateOption.js +12 -2
  52. package/src/sap/m/DynamicDateRange.js +56 -15
  53. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  54. package/src/sap/m/ExpandableText.js +1 -1
  55. package/src/sap/m/FacetFilter.js +1 -1
  56. package/src/sap/m/FacetFilterItem.js +1 -1
  57. package/src/sap/m/FacetFilterList.js +1 -1
  58. package/src/sap/m/FeedContent.js +1 -1
  59. package/src/sap/m/FeedInput.js +2 -2
  60. package/src/sap/m/FeedListItem.js +1 -1
  61. package/src/sap/m/FeedListItemAction.js +1 -1
  62. package/src/sap/m/Fiori20Adapter.js +2 -2
  63. package/src/sap/m/FlexBox.js +1 -1
  64. package/src/sap/m/FlexItemData.js +1 -1
  65. package/src/sap/m/FormattedText.js +1 -1
  66. package/src/sap/m/GenericTag.js +1 -1
  67. package/src/sap/m/GenericTagRenderer.js +10 -2
  68. package/src/sap/m/GenericTile.js +44 -4
  69. package/src/sap/m/GenericTileLineModeRenderer.js +77 -3
  70. package/src/sap/m/GenericTileRenderer.js +79 -28
  71. package/src/sap/m/GroupHeaderListItem.js +1 -1
  72. package/src/sap/m/GrowingList.js +1 -1
  73. package/src/sap/m/HBox.js +1 -1
  74. package/src/sap/m/HeaderContainer.js +29 -13
  75. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  76. package/src/sap/m/IconTabBar.js +2 -2
  77. package/src/sap/m/IconTabBarSelectList.js +1 -1
  78. package/src/sap/m/IconTabFilter.js +1 -1
  79. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  80. package/src/sap/m/IconTabHeader.js +1 -1
  81. package/src/sap/m/IconTabSeparator.js +1 -1
  82. package/src/sap/m/IllustratedMessage.js +19 -1
  83. package/src/sap/m/Illustration.js +1 -1
  84. package/src/sap/m/Image.js +1 -1
  85. package/src/sap/m/ImageContent.js +1 -1
  86. package/src/sap/m/Input.js +4 -10
  87. package/src/sap/m/InputBase.js +1 -1
  88. package/src/sap/m/InputListItem.js +1 -1
  89. package/src/sap/m/Label.js +1 -1
  90. package/src/sap/m/LightBox.js +1 -1
  91. package/src/sap/m/LightBoxItem.js +1 -1
  92. package/src/sap/m/Link.js +1 -1
  93. package/src/sap/m/List.js +1 -1
  94. package/src/sap/m/ListBase.js +36 -5
  95. package/src/sap/m/ListBaseRenderer.js +19 -3
  96. package/src/sap/m/ListItemBase.js +3 -2
  97. package/src/sap/m/MaskEnabler.js +1 -1
  98. package/src/sap/m/MaskInput.js +1 -1
  99. package/src/sap/m/MaskInputRule.js +1 -1
  100. package/src/sap/m/Menu.js +1 -1
  101. package/src/sap/m/MenuButton.js +5 -1
  102. package/src/sap/m/MenuItem.js +1 -1
  103. package/src/sap/m/MenuListItem.js +1 -1
  104. package/src/sap/m/MessageBox.js +1 -1
  105. package/src/sap/m/MessageItem.js +1 -1
  106. package/src/sap/m/MessageListItem.js +1 -1
  107. package/src/sap/m/MessagePage.js +1 -1
  108. package/src/sap/m/MessagePopover.js +18 -36
  109. package/src/sap/m/MessagePopoverItem.js +1 -1
  110. package/src/sap/m/MessageStrip.js +1 -1
  111. package/src/sap/m/MessageToast.js +1 -1
  112. package/src/sap/m/MessageView.js +1 -1
  113. package/src/sap/m/MultiComboBox.js +3 -2
  114. package/src/sap/m/MultiEditField.js +1 -1
  115. package/src/sap/m/MultiInput.js +1 -1
  116. package/src/sap/m/NavContainer.js +40 -40
  117. package/src/sap/m/NewsContent.js +1 -1
  118. package/src/sap/m/NotificationList.js +1 -1
  119. package/src/sap/m/NotificationListBase.js +1 -1
  120. package/src/sap/m/NotificationListGroup.js +1 -1
  121. package/src/sap/m/NotificationListItem.js +1 -1
  122. package/src/sap/m/NumericContent.js +1 -1
  123. package/src/sap/m/NumericInput.js +3 -2
  124. package/src/sap/m/NumericInputRenderer.js +13 -1
  125. package/src/sap/m/ObjectAttribute.js +1 -1
  126. package/src/sap/m/ObjectHeader.js +1 -1
  127. package/src/sap/m/ObjectIdentifier.js +1 -1
  128. package/src/sap/m/ObjectListItem.js +1 -1
  129. package/src/sap/m/ObjectMarker.js +34 -10
  130. package/src/sap/m/ObjectMarkerRenderer.js +14 -2
  131. package/src/sap/m/ObjectNumber.js +1 -1
  132. package/src/sap/m/ObjectStatus.js +1 -1
  133. package/src/sap/m/OverflowToolbar.js +1 -1
  134. package/src/sap/m/OverflowToolbarAssociativePopover.js +2 -2
  135. package/src/sap/m/OverflowToolbarButton.js +1 -1
  136. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  137. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  138. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  139. package/src/sap/m/P13nColumnsItem.js +1 -1
  140. package/src/sap/m/P13nColumnsPanel.js +1 -1
  141. package/src/sap/m/P13nConditionPanel.js +1 -1
  142. package/src/sap/m/P13nDialog.js +1 -1
  143. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  144. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  145. package/src/sap/m/P13nFilterItem.js +1 -1
  146. package/src/sap/m/P13nFilterPanel.js +1 -1
  147. package/src/sap/m/P13nGroupItem.js +1 -1
  148. package/src/sap/m/P13nGroupPanel.js +1 -1
  149. package/src/sap/m/P13nItem.js +1 -1
  150. package/src/sap/m/P13nPanel.js +1 -1
  151. package/src/sap/m/P13nSelectionItem.js +1 -1
  152. package/src/sap/m/P13nSelectionPanel.js +1 -1
  153. package/src/sap/m/P13nSortItem.js +1 -1
  154. package/src/sap/m/P13nSortPanel.js +1 -1
  155. package/src/sap/m/PDFViewer.js +3 -3
  156. package/src/sap/m/PDFViewerRenderer.js +15 -7
  157. package/src/sap/m/Page.js +1 -1
  158. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  159. package/src/sap/m/PagingButton.js +1 -1
  160. package/src/sap/m/Panel.js +1 -1
  161. package/src/sap/m/PlanningCalendar.js +14 -14
  162. package/src/sap/m/PlanningCalendarHeader.js +1 -4
  163. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  164. package/src/sap/m/PlanningCalendarRow.js +1 -1
  165. package/src/sap/m/PlanningCalendarView.js +1 -1
  166. package/src/sap/m/Popover.js +14 -9
  167. package/src/sap/m/ProgressIndicator.js +1 -1
  168. package/src/sap/m/PullToRefresh.js +1 -1
  169. package/src/sap/m/QuickView.js +1 -1
  170. package/src/sap/m/QuickViewBase.js +1 -1
  171. package/src/sap/m/QuickViewCard.js +1 -1
  172. package/src/sap/m/QuickViewGroup.js +1 -1
  173. package/src/sap/m/QuickViewGroupElement.js +1 -1
  174. package/src/sap/m/QuickViewPage.js +1 -1
  175. package/src/sap/m/RadioButton.js +1 -1
  176. package/src/sap/m/RadioButtonGroup.js +3 -2
  177. package/src/sap/m/RangeSlider.js +14 -2
  178. package/src/sap/m/RatingIndicator.js +1 -1
  179. package/src/sap/m/ResponsivePopover.js +1 -1
  180. package/src/sap/m/ResponsiveScale.js +1 -1
  181. package/src/sap/m/ScrollBar.js +1 -1
  182. package/src/sap/m/ScrollContainer.js +1 -1
  183. package/src/sap/m/SearchField.js +1 -1
  184. package/src/sap/m/SegmentedButton.js +1 -1
  185. package/src/sap/m/SegmentedButtonItem.js +1 -1
  186. package/src/sap/m/Select.js +5 -2
  187. package/src/sap/m/SelectDialog.js +2 -2
  188. package/src/sap/m/SelectDialogBase.js +1 -1
  189. package/src/sap/m/SelectList.js +1 -1
  190. package/src/sap/m/SelectionDetails.js +1 -1
  191. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  192. package/src/sap/m/SelectionDetailsItem.js +1 -1
  193. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  194. package/src/sap/m/Shell.js +1 -1
  195. package/src/sap/m/SimpleFixFlex.js +1 -1
  196. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  197. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarGrid.js +90 -48
  199. package/src/sap/m/SinglePlanningCalendarGridRenderer.js +10 -9
  200. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +22 -10
  201. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  204. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  205. package/src/sap/m/SlideTile.js +1 -1
  206. package/src/sap/m/Slider.js +1 -1
  207. package/src/sap/m/SliderTooltip.js +1 -1
  208. package/src/sap/m/SliderTooltipBase.js +1 -1
  209. package/src/sap/m/SliderTooltipContainer.js +5 -1
  210. package/src/sap/m/SplitApp.js +1 -1
  211. package/src/sap/m/SplitButton.js +1 -1
  212. package/src/sap/m/SplitContainer.js +1 -1
  213. package/src/sap/m/StandardDynamicDateOption.js +25 -4
  214. package/src/sap/m/StandardListItem.js +1 -1
  215. package/src/sap/m/StandardTile.js +1 -1
  216. package/src/sap/m/StandardTreeItem.js +1 -1
  217. package/src/sap/m/StepInput.js +3 -3
  218. package/src/sap/m/SuggestionItem.js +1 -1
  219. package/src/sap/m/SuggestionsPopover.js +5 -13
  220. package/src/sap/m/Switch.js +1 -1
  221. package/src/sap/m/TabContainer.js +1 -1
  222. package/src/sap/m/TabContainerItem.js +1 -1
  223. package/src/sap/m/TabStrip.js +1 -1
  224. package/src/sap/m/TabStripItem.js +1 -1
  225. package/src/sap/m/Table.js +34 -3
  226. package/src/sap/m/TablePersoController.js +1 -1
  227. package/src/sap/m/TablePersoDialog.js +1 -1
  228. package/src/sap/m/TablePersoProvider.js +1 -1
  229. package/src/sap/m/TableRenderer.js +9 -4
  230. package/src/sap/m/TableSelectDialog.js +2 -2
  231. package/src/sap/m/Text.js +1 -1
  232. package/src/sap/m/TextArea.js +1 -1
  233. package/src/sap/m/Tile.js +1 -1
  234. package/src/sap/m/TileContainer.js +1 -1
  235. package/src/sap/m/TileContent.js +1 -1
  236. package/src/sap/m/TimePicker.js +2 -54
  237. package/src/sap/m/TimePickerClock.js +1 -1
  238. package/src/sap/m/TimePickerClocks.js +1 -1
  239. package/src/sap/m/TimePickerInputs.js +1 -1
  240. package/src/sap/m/TimePickerInternals.js +1 -1
  241. package/src/sap/m/TimePickerRenderer.js +0 -1
  242. package/src/sap/m/TimePickerSlider.js +1 -1
  243. package/src/sap/m/TimePickerSliders.js +1 -1
  244. package/src/sap/m/Title.js +1 -1
  245. package/src/sap/m/TitlePropagationSupport.js +1 -1
  246. package/src/sap/m/ToggleButton.js +1 -1
  247. package/src/sap/m/Token.js +1 -1
  248. package/src/sap/m/Tokenizer.js +2 -1
  249. package/src/sap/m/Toolbar.js +1 -1
  250. package/src/sap/m/ToolbarLayoutData.js +1 -1
  251. package/src/sap/m/ToolbarSeparator.js +1 -1
  252. package/src/sap/m/ToolbarSpacer.js +1 -1
  253. package/src/sap/m/Tree.js +1 -1
  254. package/src/sap/m/TreeItemBase.js +1 -1
  255. package/src/sap/m/UploadCollection.js +1 -1
  256. package/src/sap/m/UploadCollectionItem.js +1 -1
  257. package/src/sap/m/UploadCollectionParameter.js +1 -1
  258. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  259. package/src/sap/m/VBox.js +1 -1
  260. package/src/sap/m/ValueStateHeader.js +1 -1
  261. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  262. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  263. package/src/sap/m/ViewSettingsDialog.js +7 -8
  264. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  265. package/src/sap/m/ViewSettingsItem.js +1 -1
  266. package/src/sap/m/VisibleItem.js +2 -2
  267. package/src/sap/m/WheelSlider.js +1 -1
  268. package/src/sap/m/WheelSliderContainer.js +1 -1
  269. package/src/sap/m/Wizard.js +22 -4
  270. package/src/sap/m/WizardProgressNavigator.js +10 -3
  271. package/src/sap/m/WizardStep.js +1 -1
  272. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  273. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  274. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  275. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  276. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  277. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  278. package/src/sap/m/designtime/ListBase.designtime.js +3 -0
  279. package/src/sap/m/inputUtils/SuggestionsPopoverDialogMixin.js +22 -16
  280. package/src/sap/m/inputUtils/SuggestionsPopoverPopoverMixin.js +10 -2
  281. package/src/sap/m/library.js +12 -19
  282. package/src/sap/m/messagebundle.properties +25 -16
  283. package/src/sap/m/messagebundle_ar.properties +11 -13
  284. package/src/sap/m/messagebundle_bg.properties +11 -13
  285. package/src/sap/m/messagebundle_ca.properties +11 -13
  286. package/src/sap/m/messagebundle_cs.properties +11 -13
  287. package/src/sap/m/messagebundle_cy.properties +11 -13
  288. package/src/sap/m/messagebundle_da.properties +11 -13
  289. package/src/sap/m/messagebundle_de.properties +11 -13
  290. package/src/sap/m/messagebundle_el.properties +11 -13
  291. package/src/sap/m/messagebundle_en.properties +10 -12
  292. package/src/sap/m/messagebundle_en_GB.properties +10 -12
  293. package/src/sap/m/messagebundle_en_US_sappsd.properties +9 -11
  294. package/src/sap/m/messagebundle_en_US_saprigi.properties +9 -11
  295. package/src/sap/m/messagebundle_en_US_saptrc.properties +9 -11
  296. package/src/sap/m/messagebundle_es.properties +11 -13
  297. package/src/sap/m/messagebundle_es_MX.properties +11 -13
  298. package/src/sap/m/messagebundle_et.properties +11 -13
  299. package/src/sap/m/messagebundle_fi.properties +10 -12
  300. package/src/sap/m/messagebundle_fr.properties +11 -13
  301. package/src/sap/m/messagebundle_fr_CA.properties +11 -13
  302. package/src/sap/m/messagebundle_hi.properties +11 -13
  303. package/src/sap/m/messagebundle_hr.properties +11 -13
  304. package/src/sap/m/messagebundle_hu.properties +11 -13
  305. package/src/sap/m/messagebundle_id.properties +11 -13
  306. package/src/sap/m/messagebundle_it.properties +18 -20
  307. package/src/sap/m/messagebundle_iw.properties +11 -13
  308. package/src/sap/m/messagebundle_ja.properties +11 -13
  309. package/src/sap/m/messagebundle_kk.properties +11 -13
  310. package/src/sap/m/messagebundle_ko.properties +12 -14
  311. package/src/sap/m/messagebundle_lt.properties +11 -13
  312. package/src/sap/m/messagebundle_lv.properties +10 -12
  313. package/src/sap/m/messagebundle_ms.properties +11 -13
  314. package/src/sap/m/messagebundle_nl.properties +10 -12
  315. package/src/sap/m/messagebundle_no.properties +11 -13
  316. package/src/sap/m/messagebundle_pl.properties +11 -13
  317. package/src/sap/m/messagebundle_pt.properties +11 -13
  318. package/src/sap/m/messagebundle_pt_PT.properties +11 -13
  319. package/src/sap/m/messagebundle_ro.properties +11 -13
  320. package/src/sap/m/messagebundle_ru.properties +11 -13
  321. package/src/sap/m/messagebundle_sh.properties +11 -13
  322. package/src/sap/m/messagebundle_sk.properties +11 -13
  323. package/src/sap/m/messagebundle_sl.properties +11 -13
  324. package/src/sap/m/messagebundle_sv.properties +12 -14
  325. package/src/sap/m/messagebundle_th.properties +11 -13
  326. package/src/sap/m/messagebundle_tr.properties +11 -13
  327. package/src/sap/m/messagebundle_uk.properties +11 -13
  328. package/src/sap/m/messagebundle_vi.properties +11 -13
  329. package/src/sap/m/messagebundle_zh_CN.properties +11 -13
  330. package/src/sap/m/messagebundle_zh_TW.properties +11 -13
  331. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  332. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  333. package/src/sap/m/p13n/BasePanel.js +9 -3
  334. package/src/sap/m/p13n/Container.js +11 -4
  335. package/src/sap/m/p13n/GroupPanel.js +2 -1
  336. package/src/sap/m/p13n/Popup.js +9 -2
  337. package/src/sap/m/p13n/QueryPanel.js +38 -8
  338. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  339. package/src/sap/m/p13n/SortPanel.js +4 -1
  340. package/src/sap/m/plugins/ColumnResizer.js +31 -2
  341. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  342. package/src/sap/m/plugins/PasteProvider.js +1 -1
  343. package/src/sap/m/plugins/PluginBase.js +1 -1
  344. package/src/sap/m/semantic/AddAction.js +1 -1
  345. package/src/sap/m/semantic/CancelAction.js +1 -1
  346. package/src/sap/m/semantic/DeleteAction.js +1 -1
  347. package/src/sap/m/semantic/DetailPage.js +1 -1
  348. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  349. package/src/sap/m/semantic/EditAction.js +1 -1
  350. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  351. package/src/sap/m/semantic/FilterAction.js +1 -1
  352. package/src/sap/m/semantic/FilterSelect.js +1 -1
  353. package/src/sap/m/semantic/FlagAction.js +1 -1
  354. package/src/sap/m/semantic/ForwardAction.js +1 -1
  355. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  356. package/src/sap/m/semantic/GroupAction.js +1 -1
  357. package/src/sap/m/semantic/GroupSelect.js +1 -1
  358. package/src/sap/m/semantic/MainAction.js +1 -1
  359. package/src/sap/m/semantic/MasterPage.js +1 -1
  360. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  361. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  362. package/src/sap/m/semantic/NegativeAction.js +1 -1
  363. package/src/sap/m/semantic/OpenInAction.js +1 -1
  364. package/src/sap/m/semantic/PositiveAction.js +1 -1
  365. package/src/sap/m/semantic/PrintAction.js +1 -1
  366. package/src/sap/m/semantic/SaveAction.js +1 -1
  367. package/src/sap/m/semantic/Segment.js +1 -1
  368. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  369. package/src/sap/m/semantic/SemanticButton.js +1 -1
  370. package/src/sap/m/semantic/SemanticConfiguration.js +7 -14
  371. package/src/sap/m/semantic/SemanticControl.js +1 -1
  372. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  373. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  374. package/src/sap/m/semantic/SemanticPage.js +1 -1
  375. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  376. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  377. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  378. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  379. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  380. package/src/sap/m/semantic/ShareMenu.js +1 -1
  381. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  382. package/src/sap/m/semantic/SortAction.js +1 -1
  383. package/src/sap/m/semantic/SortSelect.js +1 -1
  384. package/src/sap/m/table/Util.js +84 -6
  385. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  386. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  387. package/src/sap/m/table/columnmenu/Item.js +1 -1
  388. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  389. package/src/sap/m/table/columnmenu/ItemContainer.js +29 -0
  390. package/src/sap/m/table/columnmenu/Menu.js +197 -23
  391. package/src/sap/m/table/columnmenu/MenuRenderer.js +1 -25
  392. package/src/sap/m/table/columnmenu/QuickAction.js +14 -3
  393. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  394. package/src/sap/m/table/columnmenu/QuickActionContainer.js +29 -0
  395. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  396. package/src/sap/m/table/columnmenu/QuickGroup.js +29 -16
  397. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  398. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  399. package/src/sap/m/table/columnmenu/QuickSortItem.js +29 -28
  400. package/src/sap/m/table/columnmenu/QuickTotal.js +32 -17
  401. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  402. package/src/sap/m/themes/base/Avatar.less +11 -5
  403. package/src/sap/m/themes/base/CheckBox.less +0 -1
  404. package/src/sap/m/themes/base/ColumnMenu.less +12 -4
  405. package/src/sap/m/themes/base/Dialog.less +4 -6
  406. package/src/sap/m/themes/base/GenericTile.less +370 -55
  407. package/src/sap/m/themes/base/IconTabBar.less +45 -14
  408. package/src/sap/m/themes/base/Input.less +1 -1
  409. package/src/sap/m/themes/base/InputBase.less +112 -10
  410. package/src/sap/m/themes/base/Label.less +3 -0
  411. package/src/sap/m/themes/base/Link.less +12 -4
  412. package/src/sap/m/themes/base/ListBase.less +4 -0
  413. package/src/sap/m/themes/base/MultiInput.less +1 -1
  414. package/src/sap/m/themes/base/ObjectAttribute.less +1 -1
  415. package/src/sap/m/themes/base/ObjectMarker.less +3 -1
  416. package/src/sap/m/themes/base/ObjectStatus.less +5 -0
  417. package/src/sap/m/themes/base/Popover.less +10 -7
  418. package/src/sap/m/themes/base/RadioButton.less +21 -3
  419. package/src/sap/m/themes/base/SuggestionsPopover.less +1 -1
  420. package/src/sap/m/themes/base/TextArea.less +27 -0
  421. package/src/sap/m/themes/base/Token.less +14 -13
  422. package/src/sap/m/themes/base/Tokenizer.less +2 -2
  423. package/src/sap/m/themes/base/ValueStateMessage.less +3 -3
  424. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyCalendar.svg +73 -72
  425. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-EmptyList.svg +33 -18
  426. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoEntries.svg +1 -3
  427. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoNotifications.svg +3 -5
  428. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleBell.svg +12 -9
  429. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SimpleCalendar.svg +41 -40
  430. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-SleepingBell.svg +29 -22
  431. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Tent.svg +28 -23
  432. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Connection.svg +27 -27
  433. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyCalendar.svg +86 -85
  434. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-EmptyList.svg +42 -26
  435. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoData.svg +0 -2
  436. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoEntries.svg +0 -2
  437. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleBell.svg +15 -12
  438. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SimpleCalendar.svg +43 -42
  439. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-SleepingBell.svg +49 -42
  440. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Tent.svg +58 -53
  441. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyCalendar.svg +42 -41
  442. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-EmptyList.svg +24 -16
  443. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoEntries.svg +10 -20
  444. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoNotifications.svg +8 -13
  445. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleBell.svg +11 -8
  446. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SimpleCalendar.svg +37 -39
  447. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-SleepingBell.svg +38 -22
  448. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Tent.svg +28 -23
  449. package/src/sap/m/themes/sap_hcb/ComboBoxBase.less +0 -12
  450. package/src/sap/m/themes/sap_hcb/InputBase.less +7 -42
  451. package/src/sap/m/themes/sap_hcb/Popover.less +3 -0
  452. package/src/sap/m/themes/sap_hcb/Token.less +4 -0
  453. package/src/sap/m/themes/sap_hcb/ValueStateHeader.less +4 -0
  454. package/src/sap/m/themes/sap_hcb/ValueStateMessage.less +12 -1
  455. package/src/sap/m/upload/UploadSet.js +91 -21
  456. package/src/sap/m/upload/UploadSetItem.js +11 -1
@@ -9,28 +9,46 @@ sap.ui.define([
9
9
  "sap/m/Toolbar",
10
10
  "sap/m/ToolbarSpacer",
11
11
  "sap/m/library",
12
+ 'sap/ui/Device',
12
13
  "sap/ui/core/Control",
13
14
  "sap/ui/core/Core",
14
15
  "sap/ui/core/library",
15
16
  "sap/ui/thirdparty/jquery",
17
+ "sap/ui/dom/containsOrEquals",
18
+ "sap/ui/events/ControlEvents",
16
19
  "sap/base/strings/capitalize",
17
20
  "sap/m/p13n/AbstractContainerItem",
18
21
  "sap/m/p13n/Container",
19
- "sap/m/table/columnmenu/MenuRenderer"
22
+ "sap/m/table/columnmenu/MenuRenderer",
23
+ "sap/ui/layout/form/Form",
24
+ "sap/ui/layout/GridData",
25
+ "sap/ui/layout/form/ResponsiveGridLayout",
26
+ "sap/ui/layout/form/FormContainer",
27
+ "sap/ui/layout/form/FormElement",
28
+ "sap/m/Label"
20
29
  ], function (
21
30
  ResponsivePopover,
22
31
  Button,
23
32
  Toolbar,
24
33
  ToolbarSpacer,
25
34
  library,
35
+ Device,
26
36
  Control,
27
37
  Core,
28
38
  coreLibrary,
29
39
  jQuery,
40
+ containsOrEquals,
41
+ ControlEvents,
30
42
  capitalize,
31
43
  AbstractContainerItem,
32
44
  Container,
33
- MenuRenderer
45
+ MenuRenderer,
46
+ Form,
47
+ GridData,
48
+ ResponsiveGridLayout,
49
+ FormContainer,
50
+ FormElement,
51
+ Label
34
52
  ) {
35
53
  "use strict";
36
54
 
@@ -57,7 +75,7 @@ sap.ui.define([
57
75
  * @extends sap.ui.core.Control
58
76
  *
59
77
  * @author SAP SE
60
- * @version 1.100.0
78
+ * @version 1.101.0
61
79
  *
62
80
  * @private
63
81
  * @experimental
@@ -69,16 +87,44 @@ sap.ui.define([
69
87
  library: "sap.m",
70
88
  interfaces: ["sap.ui.core.IColumnHeaderMenu"],
71
89
  aggregations: {
90
+ /**
91
+ * Defines the quick actions of the column menu.
92
+ */
72
93
  quickActions: { type: "sap.m.table.columnmenu.QuickActionBase" },
94
+
95
+ /**
96
+ * Defines the items of the column menu.
97
+ */
73
98
  items: { type: "sap.m.table.columnmenu.ItemBase" },
99
+
100
+ /**
101
+ * Defines quick actions that are control-specific.
102
+ * @private
103
+ */
74
104
  _quickActions: { type: "sap.m.table.columnmenu.QuickActionBase", visibility: "hidden" },
105
+
106
+ /**
107
+ * Defines menu items that are control-specific.
108
+ * @private
109
+ */
75
110
  _items: { type: "sap.m.table.columnmenu.ItemBase", visibility: "hidden" }
76
111
  }
77
- }
112
+ },
113
+ renderer: MenuRenderer
78
114
  });
79
115
 
80
116
  var DEFAULT_KEY = "$default";
81
117
  var ARIA_POPUP_TYPE = HasPopup.Dialog;
118
+ var MENU_WIDTH = "500px";
119
+
120
+ Menu.prototype.init = function() {
121
+ this.fAnyEventHandlerProxy = jQuery.proxy(function(oEvent){
122
+ if (!this._oPopover.isOpen() || !this.getDomRef() || (oEvent.type != "mousedown" && oEvent.type != "touchstart")) {
123
+ return;
124
+ }
125
+ this.handleOuterEvent(this.getId(), oEvent);
126
+ }, this);
127
+ };
82
128
 
83
129
  Menu.prototype.applySettings = function (mSettings) {
84
130
  // Only works in JS views, but that's fine. This is only convenience for controls.
@@ -101,11 +147,11 @@ sap.ui.define([
101
147
  }
102
148
 
103
149
  this._initPopover();
150
+ this._createQuickActionGrids();
104
151
 
105
152
  if (!this._oItemsContainer) {
106
153
  this._initItemsContainer();
107
154
  }
108
-
109
155
  this._oPopover.openBy(oAnchor);
110
156
  };
111
157
 
@@ -140,6 +186,7 @@ sap.ui.define([
140
186
  if (this._oItemsContainer) {
141
187
  delete this._oItemsContainer;
142
188
  }
189
+ ControlEvents.unbindAnyEvent(this.fAnyEventHandlerProxy);
143
190
  };
144
191
 
145
192
  Menu.prototype._addAllToPrivateAggregation = function (mSettings, sAggregationName) {
@@ -161,7 +208,7 @@ sap.ui.define([
161
208
  showHeader: false,
162
209
  placement: library.PlacementType.Bottom,
163
210
  content: new AssociativeControl({control: this, height: true}),
164
- contentWidth: "500px",
211
+ contentWidth: MENU_WIDTH,
165
212
  horizontalScrolling: false,
166
213
  verticalScrolling: false,
167
214
  afterClose: [this.close, this]
@@ -172,11 +219,72 @@ sap.ui.define([
172
219
  "onAfterRendering": this._focusItem
173
220
  }, this);
174
221
 
175
- if (this.getItems().length == 0 && !this.getAggregation("_items")) {
222
+ if (this.getItems().length === 0 && !this.getAggregation("_items")) {
176
223
  this._oPopover.attachAfterOpen(this._focusInitialQuickAction.bind(this));
224
+ } else {
225
+ // focus the first visible menu item
226
+ this._oPopover.attachAfterOpen(function () {
227
+ var oItem = this._oItemsContainer._getNavigationList().getItems().find(function (oItem) {
228
+ return oItem.getVisible();
229
+ });
230
+ oItem && oItem.focus();
231
+ }.bind(this));
232
+ }
233
+ this._oPopover._oControl.oPopup.setAutoClose(false);
234
+ };
235
+
236
+ Menu.prototype.onsapfocusleave = function(oEvent){
237
+ if (!this._oPopover.isOpen()) {
238
+ return;
177
239
  }
240
+ this.handleOuterEvent(this.getId(), oEvent);
178
241
  };
179
242
 
243
+ Menu.prototype.handleOuterEvent = function(oMenuId, oEvent) {
244
+ var isInMenuHierarchy = false,
245
+ touchEnabled = Device.support.touch || Device.system.combi;
246
+
247
+ if (oEvent.type == "mousedown" || oEvent.type == "touchstart") {
248
+ // Suppress the delayed mouse event from mobile browser
249
+ if (touchEnabled && (oEvent.isMarked("delayedMouseEvent") || oEvent.isMarked("cancelAutoClose"))) {
250
+ return;
251
+ }
252
+
253
+ if (!isInMenuHierarchy) {
254
+ if (containsOrEquals(this.getDomRef(), oEvent.target)) {
255
+ isInMenuHierarchy = true;
256
+ }
257
+ }
258
+ } else if (oEvent.type == "sapfocusleave") {
259
+ if (touchEnabled) {
260
+ return;
261
+ }
262
+
263
+ if (oEvent.relatedControlId) {
264
+ if (!isInMenuHierarchy) {
265
+ if (containsOrEquals(this.getDomRef(), jQuery(document.getElementById(oEvent.relatedControlId)).get(0)) ||
266
+ isInControlTree(this, Core.byId(oEvent.relatedControlId))) {
267
+ isInMenuHierarchy = true;
268
+ }
269
+ }
270
+ }
271
+ }
272
+
273
+ if (!isInMenuHierarchy) {
274
+ this.close();
275
+ }
276
+ };
277
+
278
+ function isInControlTree(oParent, oChild) {
279
+ var temp = oChild.getParent();
280
+ if (!temp) {
281
+ return false;
282
+ } else if (temp === oParent) {
283
+ return true;
284
+ }
285
+ return isInControlTree(oParent, temp);
286
+ }
287
+
180
288
  Menu.prototype._initItemsContainer = function () {
181
289
  var aControlMenuItems = (this.getAggregation("_items") || []).reduce(function (aItems, oItem) {
182
290
  return aItems.concat(oItem.getEffectiveItems());
@@ -191,11 +299,11 @@ sap.ui.define([
191
299
 
192
300
  aControlMenuItems.forEach(function (oColumnMenuItem, iIndex) {
193
301
  this._addView(oColumnMenuItem);
194
- iIndex == 0 && this._oItemsContainer.addSeparator();
302
+ iIndex === 0 && this._oItemsContainer.addSeparator();
195
303
  }.bind(this));
196
304
  aApplicationMenuItems.forEach(function (oColumnMenuItem, iIndex) {
197
305
  this._addView(oColumnMenuItem);
198
- iIndex == 0 && this._oItemsContainer.addSeparator();
306
+ iIndex === 0 && this._oItemsContainer.addSeparator();
199
307
  }.bind(this));
200
308
  };
201
309
 
@@ -245,7 +353,6 @@ sap.ui.define([
245
353
  var sKey = oMenu._oItemsContainer.getCurrentViewKey();
246
354
  if (oMenu._fireEvent(Core.byId(sKey), "cancel")) {
247
355
  oMenu.close();
248
- oMenu.exit();
249
356
  }
250
357
  }
251
358
  });
@@ -275,9 +382,8 @@ sap.ui.define([
275
382
  if (mParameters.target !== "$default") {
276
383
  var oContainerItem = oMenu._oItemsContainer.getView(mParameters.target);
277
384
  var oColumnMenuItem = oMenu._getItemFromContainerItem(oContainerItem);
278
- if (oColumnMenuItem && oColumnMenuItem.firePress && !oMenu._fireEvent(oColumnMenuItem, "press")) {
385
+ if (oColumnMenuItem && !oMenu._fireEvent(oColumnMenuItem, "press")) {
279
386
  oEvent.preventDefault();
280
- return;
281
387
  }
282
388
  }
283
389
  },
@@ -326,22 +432,36 @@ sap.ui.define([
326
432
  return sText ? this.oResourceBundle.getText(sText, vValue) : this.oResourceBundle;
327
433
  };
328
434
 
435
+ Menu.prototype._getAllEffectiveQuickActions = function() {
436
+ var aQuickActions = (this.getAggregation("_quickActions") || []).concat(this.getQuickActions());
437
+ return aQuickActions.reduce(function (a, oQuickAction) {
438
+ return a.concat(oQuickAction.getEffectiveQuickActions());
439
+ }, []);
440
+ };
441
+
442
+ Menu.prototype._getAllEffectiveItems = function() {
443
+ var aItems = (this.getAggregation("_items") || []).concat(this.getItems());
444
+ return aItems.reduce(function(a, oItem) {
445
+ return a.concat(oItem.getEffectiveItems());
446
+ }, []);
447
+ };
448
+
329
449
  Menu.prototype._getItemFromContainerItem = function (oContainerItem) {
330
450
  // Low performance as linear search has to be done
331
- var oItem = this.getAggregation("_items") && this.getAggregation("_items").find(function(item) {
332
- return item.getId() == oContainerItem.getKey();
451
+ return this._getAllEffectiveItems().find(function(item) {
452
+ return item.getId() === oContainerItem.getKey();
333
453
  });
334
- if (!oItem) {
335
- oItem = this.getAggregation("items") && this.getAggregation("items").find(function(item) {
336
- return item.getId() == oContainerItem.getKey();
337
- });
338
- }
339
- return oItem;
340
454
  };
341
455
 
342
456
  Menu.prototype._updateButtonState = function (oItem) {
343
- this._oItemsContainer.getHeader().getContentRight()[0].setEnabled(oItem.getButtonSettings()["reset"]["enabled"]);
457
+ if (!this._oItemsContainer) {
458
+ return;
459
+ }
460
+ if (this._oItemsContainer.getCurrentViewKey() === DEFAULT_KEY) {
461
+ return;
462
+ }
344
463
  this._oItemsContainer.getHeader().getContentRight()[0].setVisible(oItem.getButtonSettings()["reset"]["visible"]);
464
+ this._oItemsContainer.getHeader().getContentRight()[0].setEnabled(oItem.getButtonSettings()["reset"]["enabled"]);
345
465
  this._oBtnOk.setVisible(oItem.getButtonSettings()["confirm"]["visible"]);
346
466
  this._oBtnCancel.setVisible(oItem.getButtonSettings()["cancel"]["visible"]);
347
467
  };
@@ -359,14 +479,14 @@ sap.ui.define([
359
479
 
360
480
  Menu.prototype._focusInitialQuickAction = function () {
361
481
  // Does not work with content, which contains multiple items
362
- if (this.getItems().length == 0 && !this.getAggregation("_items")) {
482
+ if (this.getItems().length === 0 && !this.getAggregation("_items")) {
363
483
  var aQuickActions = [];
364
484
  if (this.getAggregation("_quickActions")) {
365
485
  aQuickActions = this.getAggregation("_quickActions")[0].getEffectiveQuickActions();
366
486
  } else if (this.getQuickActions().length > 0) {
367
487
  aQuickActions = this.getQuickActions()[0].getEffectiveQuickActions();
368
488
  }
369
- aQuickActions.length > 0 && aQuickActions[0].getContent().focus();
489
+ aQuickActions.length > 0 && aQuickActions[0].getContent()[0].focus();
370
490
  }
371
491
  };
372
492
 
@@ -378,5 +498,59 @@ sap.ui.define([
378
498
  oListItem && oListItem.setVisible(bVisible);
379
499
  };
380
500
 
501
+ Menu.prototype._createQuickActionGrids = function () {
502
+ var oFormContainer;
503
+ if (this._oForm) {
504
+ oFormContainer = this._oForm.getFormContainers()[0];
505
+ oFormContainer.destroyFormElements();
506
+ } else {
507
+ oFormContainer = new FormContainer();
508
+ this._oForm = new Form({
509
+ layout: new ResponsiveGridLayout({
510
+ labelSpanXL: 3,
511
+ labelSpanL: 3,
512
+ labelSpanM: 3,
513
+ labelSpanS: 12,
514
+ adjustLabelSpan: false
515
+ }),
516
+ editable: true,
517
+ formContainers: oFormContainer
518
+ });
519
+ }
520
+
521
+ var aEffectiveQuickActions = this._getAllEffectiveQuickActions();
522
+ aEffectiveQuickActions.forEach(function (oEffectiveQuickAction) {
523
+ // Create label
524
+ var oGridData = new GridData({span: "XL4 L4 M4 S12"});
525
+ var oLabel = new Label({
526
+ text: oEffectiveQuickAction.getLabel(),
527
+ layoutData: oGridData,
528
+ vAlign: sap.ui.core.VerticalAlign.Middle,
529
+ wrapping: true
530
+ }).setWidth("100%");
531
+ oLabel.addStyleClass("sapMTCMenuQALabel");
532
+
533
+ // Create content
534
+ var aControls = [];
535
+ var aContent = oEffectiveQuickAction.getContent();
536
+
537
+ aContent.forEach(function (oItem) {
538
+ if (oItem.getLayoutData()) {
539
+ oGridData = oItem.getLayoutData().clone();
540
+ } else {
541
+ var iSpan = Math.floor(8 / aContent.length);
542
+ var iSpanS = aContent.length > 2 ? 12 : Math.floor(12 / aContent.length);
543
+ oGridData = new GridData({spanS: iSpanS, spanM: iSpan, spanL: iSpan, spanXL: iSpan});
544
+ }
545
+ var oControl = new AssociativeControl({control: oItem.setWidth("100%")});
546
+ oControl.setLayoutData(oGridData);
547
+ aControls.push(oControl);
548
+ }, this);
549
+ oFormContainer.addFormElement(new FormElement({label: oLabel, fields: aControls}));
550
+ }, this);
551
+
552
+ this.addDependent(this._oForm);
553
+ };
554
+
381
555
  return Menu;
382
556
  });
@@ -13,7 +13,6 @@ sap.ui.define([], function () {
13
13
  MenuRenderer.render = function (oRm, oMenu) {
14
14
  oRm.openStart("div", oMenu);
15
15
  oRm.class("sapMTCMenu");
16
-
17
16
  oRm.openEnd();
18
17
  this.renderQuickActions(oRm, oMenu);
19
18
  this.renderItems(oRm, oMenu);
@@ -37,31 +36,8 @@ sap.ui.define([], function () {
37
36
  }
38
37
  oRm.openEnd();
39
38
 
40
- var aQuickActions = (oMenu.getAggregation("_quickActions") || []).concat(oMenu.getQuickActions());
41
- aQuickActions.forEach(function (oQuickAction) {
42
- oQuickAction.getEffectiveQuickActions().forEach(function (oQuickAction) {
43
- this.renderQuickAction(oRm, oQuickAction);
44
- }, this);
45
- }, this);
46
-
47
- oRm.close("div");
48
- };
39
+ oRm.renderControl(oMenu._oForm);
49
40
 
50
- MenuRenderer.renderQuickAction = function (oRm, oQuickAction) {
51
- oRm.openStart("div", oQuickAction);
52
- oRm.class("sapMTCMenuQAction");
53
- oRm.openEnd();
54
- // Label
55
- oRm.openStart("div");
56
- oRm.class("sapMTCMenuQALabel");
57
- oRm.openEnd();
58
- oRm.text(oQuickAction.getLabel());
59
- oRm.close("div");
60
- // Content
61
- oRm.openStart("div");
62
- oRm.openEnd();
63
- oRm.renderControl(oQuickAction.getContent());
64
- oRm.close("div");
65
41
  oRm.close("div");
66
42
  };
67
43
 
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.m.table.columnmenu.QuickActionBase
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.100.0
27
+ * @version 1.101.0
28
28
  *
29
29
  * @private
30
30
  * @since 1.99
@@ -43,9 +43,20 @@ sap.ui.define([
43
43
  },
44
44
  aggregations: {
45
45
  /**
46
- * Defines the content, which should be shown for the quick action.
46
+ * Defines the content that is shown for the quick action.
47
+ *
48
+ * <b>Notes:</b>
49
+ * <ul>
50
+ * <li>Adding additional content to the quick action or altering its layout will
51
+ * only take effect once the popover has been closed and reopened again.</li>
52
+ * <li>The layout of the content of <code>QuickAction</code> can be altered by providing {@link sap.ui.layout.GridData} for each
53
+ * <code>layoutData</code> aggregation of each content control. In size S, content controls can take up to
54
+ * 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>
57
+ * </ul>
47
58
  */
48
- content: { type: "sap.ui.core.Control", multiple: false }
59
+ content: { type: "sap.ui.core.Control", multiple: true }
49
60
  }
50
61
  }
51
62
  });
@@ -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.100.0
26
+ * @version 1.101.0
27
27
  *
28
28
  * @private
29
29
  * @experimental
@@ -0,0 +1,29 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ "sap/m/table/columnmenu/QuickActionBase"
8
+ ], function(
9
+ QuickActionBase
10
+ ) {
11
+ "use strict";
12
+
13
+ var QuickActionContainer = QuickActionBase.extend("sap.m.table.columnmenu.QuickActionContainer", {
14
+ metadata: {
15
+ library: "sap.m",
16
+ aggregations: {
17
+ quickActions: {type: "sap.m.table.columnmenu.QuickActionBase"}
18
+ }
19
+ }
20
+ });
21
+
22
+ QuickActionContainer.prototype.getEffectiveQuickActions = function() {
23
+ return this.getQuickActions().reduce(function(aQuickActions, oQuickAction) {
24
+ return aQuickActions.concat(oQuickAction.getEffectiveQuickActions());
25
+ }, []);
26
+ };
27
+
28
+ return QuickActionContainer;
29
+ });
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.100.0
27
+ * @version 1.101.0
28
28
  *
29
29
  * @private
30
30
  * @experimental
@@ -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.100.0
30
+ * @version 1.101.0
31
31
  *
32
32
  * @private
33
33
  * @experimental
@@ -73,11 +73,14 @@ sap.ui.define([
73
73
  };
74
74
 
75
75
  QuickGroup.prototype.getContent = function() {
76
- if (!this._oContent) {
77
- this._oContent = this.createContent(this.getItems());
76
+ if (!this._aContent) {
77
+ this._aContent = this.createContent(this.getItems());
78
+ this._aContent.forEach(function(oItem) {
79
+ this.addDependent(oItem);
80
+ }.bind(this));
78
81
  }
79
82
 
80
- return this._oContent;
83
+ return this._aContent;
81
84
  };
82
85
 
83
86
  QuickGroup.prototype.addItem = function(oItem) {
@@ -106,24 +109,34 @@ sap.ui.define([
106
109
  };
107
110
 
108
111
  QuickGroup.prototype.createContent = function(aItems) {
109
- return new HBox({
110
- items: aItems.map(function(oItem) {
111
- return new ToggleButton({
112
- text: oItem.getLabel(),
113
- pressed: oItem.getGrouped(),
114
- press: [oItem, this.onChange, this]
115
- });
116
- }, this)
117
- });
112
+ return aItems.map(function(oItem) {
113
+ return new ToggleButton({
114
+ text: oItem.getLabel(),
115
+ pressed: oItem.getGrouped(),
116
+ press: [oItem, this.onChange, this]
117
+ });
118
+ }, this);
118
119
  };
119
120
 
120
121
  QuickGroup.prototype.destroyContent = function() {
121
- if (this._oContent) {
122
- this._oContent.destroy();
123
- delete this._oContent;
122
+ if (this._aContent) {
123
+ this._aContent.forEach(function (oContent) {
124
+ oContent.destroy();
125
+ });
126
+ delete this._aContent;
124
127
  }
125
128
  };
126
129
 
130
+ QuickGroup.prototype._onItemChange = function(oQuickGroupItem, bGrouped) {
131
+ var sLabel = oQuickGroupItem.getLabel();
132
+
133
+ var oButton = this.getContent().find(function(oBtn) {
134
+ return oBtn.getText() === sLabel;
135
+ });
136
+
137
+ oButton.setPressed(bGrouped);
138
+ };
139
+
127
140
  QuickGroup.prototype.onChange = function(oEvent, oItem) {
128
141
  oItem.setProperty("grouped", oEvent.getParameters().pressed, true);
129
142
  this.fireChange({item: oItem});
@@ -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.100.0
27
+ * @version 1.101.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._onItemChange(this, bGrouped);
55
+ }
56
+ };
57
+
46
58
  return QuickGroupItem;
47
59
  });
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.m.table.columnmenu.QuickActionBase
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.100.0
28
+ * @version 1.101.0
29
29
  *
30
30
  * @private
31
31
  * @experimental
@@ -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.100.0
37
+ * @version 1.101.0
38
38
  *
39
39
  * @private
40
40
  * @experimental
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  } else {
63
63
  oQuickAction = new QuickAction({
64
64
  label: sLabel,
65
- content: this._createContent()
65
+ content: [this._createContent()]
66
66
  });
67
67
  }
68
68
 
@@ -81,37 +81,38 @@ sap.ui.define([
81
81
 
82
82
  QuickSortItem.prototype._createContent = function() {
83
83
  var oBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
84
- return new HBox({
85
- items: [
86
- new ToggleButton({
87
- text: oBundle.getText("table.COLUMNMENU_SORT_ASCENDING"),
88
- icon: "sap-icon://sort-ascending",
89
- pressed: this.getSortOrder() === SortOrder.Ascending,
90
- press: [{item: this, sortOrder: SortOrder.Ascending}, this._onSortChange, this]
91
- }),
92
- new ToggleButton({
93
- text: oBundle.getText("table.COLUMNMENU_SORT_DESCENDING"),
94
- icon: "sap-icon://sort-descending",
95
- pressed: this.getSortOrder() === SortOrder.Descending,
96
- press: [{item: this, sortOrder: SortOrder.Descending}, this._onSortChange, this]
97
- })
98
- ]
99
- });
84
+ return [
85
+ new ToggleButton({
86
+ text: oBundle.getText("table.COLUMNMENU_SORT_ASCENDING"),
87
+ pressed: this.getSortOrder() === SortOrder.Ascending,
88
+ press: [{item: this, sortOrder: SortOrder.Ascending}, this._onSortChange, this]
89
+ }),
90
+ new ToggleButton({
91
+ text: oBundle.getText("table.COLUMNMENU_SORT_DESCENDING"),
92
+ pressed: this.getSortOrder() === SortOrder.Descending,
93
+ press: [{item: this, sortOrder: SortOrder.Descending}, this._onSortChange, this]
94
+ })
95
+ ];
100
96
  };
101
97
 
102
98
  QuickSortItem.prototype._onSortChange = function (oEvent, mSortInfo) {
103
- if (oEvent.getParameters().pressed) {
104
- var sButtonId = oEvent.getSource().sId;
105
- oEvent.getSource().getParent().getItems().forEach(function(oButton) {
106
- if (oButton.sId != sButtonId) {
107
- oButton.setPressed(false);
108
- }
109
- });
110
- }
111
-
112
- mSortInfo.item.setProperty("sortOrder", oEvent.getParameters().pressed ? mSortInfo.sortOrder : SortOrder.None, true);
99
+ this.setSortOrder(oEvent.getParameters().pressed ? mSortInfo.sortOrder : SortOrder.None, true);
113
100
  this.getParent().onChange(mSortInfo.item);
114
101
  };
115
102
 
103
+ /*
104
+ * @see JSDoc generated by SAPUI5 control API generator
105
+ */
106
+ QuickSortItem.prototype.setSortOrder = function(sSortOrder) {
107
+ this.setProperty("sortOrder", sSortOrder);
108
+
109
+ var oQuickAction = this.getAggregation("quickAction");
110
+ if (oQuickAction) {
111
+ var aButtons = oQuickAction.getContent();
112
+ aButtons[0].setPressed(sSortOrder === SortOrder.Ascending);
113
+ aButtons[1].setPressed(sSortOrder === SortOrder.Descending);
114
+ }
115
+ };
116
+
116
117
  return QuickSortItem;
117
118
  });