@openui5/sap.m 1.133.1 → 1.135.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 (499) hide show
  1. package/.reuse/dep5 +0 -7
  2. package/THIRDPARTY.txt +2 -23
  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 +1 -1
  9. package/src/sap/m/ActionTile.js +1 -1
  10. package/src/sap/m/ActionTileContent.js +20 -1
  11. package/src/sap/m/AdditionalTextButton.js +1 -1
  12. package/src/sap/m/App.js +1 -1
  13. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  14. package/src/sap/m/Avatar.js +1 -1
  15. package/src/sap/m/Bar.js +1 -1
  16. package/src/sap/m/Breadcrumbs.js +10 -2
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +2 -2
  20. package/src/sap/m/Carousel.js +1 -1
  21. package/src/sap/m/CarouselLayout.js +1 -1
  22. package/src/sap/m/CarouselRenderer.js +3 -2
  23. package/src/sap/m/CheckBox.js +1 -1
  24. package/src/sap/m/ColorPalette.js +20 -7
  25. package/src/sap/m/ColorPalettePopover.js +1 -1
  26. package/src/sap/m/Column.js +1 -1
  27. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  28. package/src/sap/m/ColumnListItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverItem.js +1 -1
  32. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  33. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  34. package/src/sap/m/ComboBox.js +4 -18
  35. package/src/sap/m/ComboBoxBase.js +44 -2
  36. package/src/sap/m/ComboBoxBaseRenderer.js +23 -2
  37. package/src/sap/m/ComboBoxRenderer.js +1 -8
  38. package/src/sap/m/ComboBoxTextField.js +1 -1
  39. package/src/sap/m/ContentConfig.js +1 -1
  40. package/src/sap/m/CustomListItem.js +1 -1
  41. package/src/sap/m/CustomTile.js +1 -1
  42. package/src/sap/m/CustomTreeItem.js +1 -1
  43. package/src/sap/m/DatePicker.js +6 -5
  44. package/src/sap/m/DatePickerRenderer.js +3 -1
  45. package/src/sap/m/DateRangeSelection.js +12 -23
  46. package/src/sap/m/DateTimeField.js +23 -2
  47. package/src/sap/m/DateTimeInput.js +1 -1
  48. package/src/sap/m/DateTimePicker.js +2 -1
  49. package/src/sap/m/Dialog.js +11 -25
  50. package/src/sap/m/DisplayListItem.js +1 -1
  51. package/src/sap/m/DraftIndicator.js +1 -1
  52. package/src/sap/m/DynamicDate.js +1 -1
  53. package/src/sap/m/DynamicDateOption.js +1 -1
  54. package/src/sap/m/DynamicDateRange.js +2 -1
  55. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  56. package/src/sap/m/ExpandableText.js +1 -1
  57. package/src/sap/m/FacetFilter.js +1 -1
  58. package/src/sap/m/FacetFilterItem.js +1 -1
  59. package/src/sap/m/FacetFilterList.js +1 -1
  60. package/src/sap/m/FeedContent.js +1 -2
  61. package/src/sap/m/FeedInput.js +1 -1
  62. package/src/sap/m/FeedListItem.js +1 -1
  63. package/src/sap/m/FeedListItemAction.js +1 -1
  64. package/src/sap/m/Fiori20Adapter.js +2 -2
  65. package/src/sap/m/FlexBox.js +24 -2
  66. package/src/sap/m/FlexBoxRenderer.js +16 -0
  67. package/src/sap/m/FlexItemData.js +1 -1
  68. package/src/sap/m/FormattedText.js +1 -1
  69. package/src/sap/m/GenericTag.js +1 -1
  70. package/src/sap/m/GenericTile.js +35 -7
  71. package/src/sap/m/GenericTileRenderer.js +1 -1
  72. package/src/sap/m/GroupHeaderListItem.js +10 -1
  73. package/src/sap/m/GrowingList.js +1 -1
  74. package/src/sap/m/HBox.js +1 -1
  75. package/src/sap/m/HeaderContainer.js +1 -1
  76. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  77. package/src/sap/m/IconTabBar.js +1 -1
  78. package/src/sap/m/IconTabBarSelectList.js +1 -1
  79. package/src/sap/m/IconTabFilter.js +1 -1
  80. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  81. package/src/sap/m/IconTabHeader.js +1 -1
  82. package/src/sap/m/IconTabSeparator.js +1 -1
  83. package/src/sap/m/IllustratedMessage.js +9 -2
  84. package/src/sap/m/IllustratedMessageSize.js +37 -1
  85. package/src/sap/m/IllustratedMessageType.js +114 -0
  86. package/src/sap/m/Illustration.js +20 -55
  87. package/src/sap/m/IllustrationPool.js +87 -20
  88. package/src/sap/m/Image.js +1 -1
  89. package/src/sap/m/ImageContent.js +1 -1
  90. package/src/sap/m/Input.js +18 -4
  91. package/src/sap/m/InputBase.js +52 -2
  92. package/src/sap/m/InputBaseRenderer.js +17 -5
  93. package/src/sap/m/InputListItem.js +1 -1
  94. package/src/sap/m/InputRenderer.js +17 -2
  95. package/src/sap/m/Label.js +1 -1
  96. package/src/sap/m/LightBox.js +3 -1
  97. package/src/sap/m/LightBoxItem.js +1 -1
  98. package/src/sap/m/Link.js +1 -1
  99. package/src/sap/m/LinkTileContent.js +1 -1
  100. package/src/sap/m/List.js +1 -1
  101. package/src/sap/m/ListBase.js +12 -4
  102. package/src/sap/m/ListItemBase.js +1 -1
  103. package/src/sap/m/MaskEnabler.js +1 -1
  104. package/src/sap/m/MaskInput.js +1 -1
  105. package/src/sap/m/MaskInputRule.js +1 -1
  106. package/src/sap/m/Menu.js +1 -1
  107. package/src/sap/m/MenuButton.js +1 -1
  108. package/src/sap/m/MenuItem.js +1 -1
  109. package/src/sap/m/MenuItemGroup.js +1 -1
  110. package/src/sap/m/MenuListItem.js +1 -1
  111. package/src/sap/m/MessageItem.js +1 -1
  112. package/src/sap/m/MessageListItem.js +7 -3
  113. package/src/sap/m/MessageListItemRenderer.js +34 -0
  114. package/src/sap/m/MessagePage.js +1 -1
  115. package/src/sap/m/MessagePopover.js +1 -1
  116. package/src/sap/m/MessagePopoverItem.js +1 -1
  117. package/src/sap/m/MessageStrip.js +1 -1
  118. package/src/sap/m/MessageToast.js +1 -1
  119. package/src/sap/m/MessageView.js +22 -6
  120. package/src/sap/m/MultiComboBox.js +48 -105
  121. package/src/sap/m/MultiComboBoxRenderer.js +16 -2
  122. package/src/sap/m/MultiEditField.js +1 -1
  123. package/src/sap/m/MultiInput.js +16 -8
  124. package/src/sap/m/NavContainer.js +1 -1
  125. package/src/sap/m/NewsContent.js +1 -1
  126. package/src/sap/m/NotificationList.js +1 -1
  127. package/src/sap/m/NotificationListBase.js +1 -1
  128. package/src/sap/m/NotificationListGroup.js +1 -1
  129. package/src/sap/m/NotificationListItem.js +1 -1
  130. package/src/sap/m/NumericContent.js +1 -1
  131. package/src/sap/m/NumericInput.js +1 -1
  132. package/src/sap/m/ObjectAttribute.js +1 -1
  133. package/src/sap/m/ObjectHeader.js +1 -1
  134. package/src/sap/m/ObjectIdentifier.js +1 -1
  135. package/src/sap/m/ObjectListItem.js +1 -1
  136. package/src/sap/m/ObjectMarker.js +1 -1
  137. package/src/sap/m/ObjectNumber.js +1 -1
  138. package/src/sap/m/ObjectStatus.js +1 -1
  139. package/src/sap/m/OverflowToolbar.js +1 -1
  140. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  141. package/src/sap/m/OverflowToolbarButton.js +1 -1
  142. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  143. package/src/sap/m/OverflowToolbarMenuButton.js +1 -1
  144. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  145. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  146. package/src/sap/m/P13nColumnsItem.js +1 -1
  147. package/src/sap/m/P13nColumnsPanel.js +1 -1
  148. package/src/sap/m/P13nConditionPanel.js +1 -1
  149. package/src/sap/m/P13nDialog.js +1 -1
  150. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  151. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  152. package/src/sap/m/P13nFilterItem.js +1 -1
  153. package/src/sap/m/P13nFilterPanel.js +1 -1
  154. package/src/sap/m/P13nGroupItem.js +1 -1
  155. package/src/sap/m/P13nGroupPanel.js +1 -1
  156. package/src/sap/m/P13nItem.js +1 -1
  157. package/src/sap/m/P13nPanel.js +1 -1
  158. package/src/sap/m/P13nSelectionItem.js +1 -1
  159. package/src/sap/m/P13nSelectionPanel.js +1 -1
  160. package/src/sap/m/P13nSortItem.js +1 -1
  161. package/src/sap/m/P13nSortPanel.js +1 -1
  162. package/src/sap/m/PDFViewer.js +1 -1
  163. package/src/sap/m/Page.js +1 -1
  164. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  165. package/src/sap/m/PagingButton.js +1 -1
  166. package/src/sap/m/Panel.js +1 -1
  167. package/src/sap/m/PlanningCalendar.js +10 -2
  168. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  169. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  170. package/src/sap/m/PlanningCalendarRow.js +1 -1
  171. package/src/sap/m/PlanningCalendarView.js +1 -1
  172. package/src/sap/m/Popover.js +60 -21
  173. package/src/sap/m/ProgressIndicator.js +1 -1
  174. package/src/sap/m/PullToRefresh.js +1 -2
  175. package/src/sap/m/QuickView.js +1 -1
  176. package/src/sap/m/QuickViewBase.js +1 -1
  177. package/src/sap/m/QuickViewCard.js +1 -1
  178. package/src/sap/m/QuickViewGroup.js +1 -1
  179. package/src/sap/m/QuickViewGroupElement.js +1 -1
  180. package/src/sap/m/QuickViewPage.js +1 -1
  181. package/src/sap/m/RadioButton.js +1 -1
  182. package/src/sap/m/RadioButtonGroup.js +1 -1
  183. package/src/sap/m/RangeSlider.js +1 -1
  184. package/src/sap/m/RatingIndicator.js +1 -1
  185. package/src/sap/m/ResponsivePopover.js +1 -1
  186. package/src/sap/m/ResponsiveScale.js +1 -1
  187. package/src/sap/m/ScrollBar.js +1 -1
  188. package/src/sap/m/ScrollContainer.js +1 -1
  189. package/src/sap/m/SearchField.js +1 -1
  190. package/src/sap/m/SegmentedButton.js +1 -1
  191. package/src/sap/m/SegmentedButtonItem.js +1 -1
  192. package/src/sap/m/Select.js +3 -3
  193. package/src/sap/m/SelectDialog.js +4 -2
  194. package/src/sap/m/SelectDialogBase.js +1 -1
  195. package/src/sap/m/SelectList.js +1 -1
  196. package/src/sap/m/SelectionDetails.js +1 -1
  197. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  198. package/src/sap/m/SelectionDetailsItem.js +1 -1
  199. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  200. package/src/sap/m/Shell.js +1 -1
  201. package/src/sap/m/SimpleFixFlex.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  204. package/src/sap/m/SinglePlanningCalendarGrid.js +43 -41
  205. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +2 -1
  206. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  207. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  208. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  209. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  210. package/src/sap/m/SlideTile.js +5 -5
  211. package/src/sap/m/Slider.js +1 -1
  212. package/src/sap/m/SliderTooltip.js +1 -1
  213. package/src/sap/m/SliderTooltipBase.js +1 -1
  214. package/src/sap/m/SliderTooltipContainer.js +1 -1
  215. package/src/sap/m/SplitApp.js +1 -1
  216. package/src/sap/m/SplitButton.js +1 -1
  217. package/src/sap/m/SplitContainer.js +1 -1
  218. package/src/sap/m/StandardDynamicDateOption.js +23 -6
  219. package/src/sap/m/StandardListItem.js +1 -1
  220. package/src/sap/m/StandardTile.js +1 -1
  221. package/src/sap/m/StandardTreeItem.js +1 -1
  222. package/src/sap/m/StepInput.js +1 -1
  223. package/src/sap/m/SuggestionItem.js +1 -1
  224. package/src/sap/m/SuggestionsPopover.js +48 -71
  225. package/src/sap/m/Switch.js +1 -1
  226. package/src/sap/m/TabContainer.js +1 -1
  227. package/src/sap/m/TabContainerItem.js +1 -1
  228. package/src/sap/m/TabStrip.js +11 -1
  229. package/src/sap/m/TabStripItem.js +1 -1
  230. package/src/sap/m/Table.js +16 -4
  231. package/src/sap/m/TablePersoController.js +1 -1
  232. package/src/sap/m/TablePersoDialog.js +1 -1
  233. package/src/sap/m/TablePersoProvider.js +1 -1
  234. package/src/sap/m/TableSelectDialog.js +3 -1
  235. package/src/sap/m/Text.js +1 -1
  236. package/src/sap/m/TextArea.js +1 -1
  237. package/src/sap/m/Tile.js +1 -1
  238. package/src/sap/m/TileContainer.js +1 -1
  239. package/src/sap/m/TileContent.js +1 -1
  240. package/src/sap/m/TileInfo.js +1 -1
  241. package/src/sap/m/TimePicker.js +4 -3
  242. package/src/sap/m/TimePickerClock.js +85 -176
  243. package/src/sap/m/TimePickerClockRenderer.js +67 -63
  244. package/src/sap/m/TimePickerClocks.js +121 -49
  245. package/src/sap/m/TimePickerInputs.js +4 -1
  246. package/src/sap/m/TimePickerInternals.js +1 -1
  247. package/src/sap/m/TimePickerRenderer.js +3 -0
  248. package/src/sap/m/TimePickerSlider.js +1 -1
  249. package/src/sap/m/TimePickerSliders.js +1 -1
  250. package/src/sap/m/Title.js +1 -1
  251. package/src/sap/m/TitlePropagationSupport.js +1 -1
  252. package/src/sap/m/ToggleButton.js +1 -1
  253. package/src/sap/m/Token.js +1 -1
  254. package/src/sap/m/Tokenizer.js +16 -9
  255. package/src/sap/m/Toolbar.js +38 -5
  256. package/src/sap/m/ToolbarLayoutData.js +1 -1
  257. package/src/sap/m/ToolbarSeparator.js +1 -1
  258. package/src/sap/m/ToolbarSpacer.js +1 -1
  259. package/src/sap/m/Tree.js +1 -1
  260. package/src/sap/m/TreeItemBase.js +1 -1
  261. package/src/sap/m/UploadCollection.js +1 -1
  262. package/src/sap/m/UploadCollectionItem.js +1 -1
  263. package/src/sap/m/UploadCollectionParameter.js +1 -1
  264. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  265. package/src/sap/m/VBox.js +1 -1
  266. package/src/sap/m/ValueStateHeader.js +1 -1
  267. package/src/sap/m/VariantManagement.js +4 -0
  268. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  269. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  270. package/src/sap/m/ViewSettingsDialog.js +1 -1
  271. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  272. package/src/sap/m/ViewSettingsItem.js +1 -1
  273. package/src/sap/m/VisibleItem.js +1 -1
  274. package/src/sap/m/WheelSlider.js +1 -1
  275. package/src/sap/m/WheelSliderContainer.js +1 -1
  276. package/src/sap/m/Wizard.js +1 -1
  277. package/src/sap/m/WizardProgressNavigator.js +1 -1
  278. package/src/sap/m/WizardStep.js +1 -1
  279. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  280. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  281. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  282. package/src/sap/m/changeHandler/MoveTableColumns.js +13 -10
  283. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  284. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  285. package/src/sap/m/delegate/ValueStateMessage.js +0 -6
  286. package/src/sap/m/designtime/messagebundle_fr.properties +2 -2
  287. package/src/sap/m/designtime/messagebundle_ko.properties +2 -2
  288. package/src/sap/m/designtime/messagebundle_uk.properties +1 -1
  289. package/src/sap/m/flexibility/EngineFlex.js +28 -8
  290. package/src/sap/m/library.js +26 -3
  291. package/src/sap/m/messagebundle.properties +38 -7
  292. package/src/sap/m/messagebundle_ar.properties +13 -1
  293. package/src/sap/m/messagebundle_bg.properties +30 -18
  294. package/src/sap/m/messagebundle_ca.properties +13 -1
  295. package/src/sap/m/messagebundle_cnr.properties +14 -2
  296. package/src/sap/m/messagebundle_cs.properties +15 -3
  297. package/src/sap/m/messagebundle_cy.properties +14 -2
  298. package/src/sap/m/messagebundle_da.properties +13 -1
  299. package/src/sap/m/messagebundle_de.properties +13 -1
  300. package/src/sap/m/messagebundle_el.properties +15 -3
  301. package/src/sap/m/messagebundle_en.properties +10 -4
  302. package/src/sap/m/messagebundle_en_GB.properties +14 -2
  303. package/src/sap/m/messagebundle_en_US_saprigi.properties +22 -4
  304. package/src/sap/m/messagebundle_es.properties +14 -2
  305. package/src/sap/m/messagebundle_es_MX.properties +23 -11
  306. package/src/sap/m/messagebundle_et.properties +12 -0
  307. package/src/sap/m/messagebundle_fi.properties +13 -1
  308. package/src/sap/m/messagebundle_fr.properties +20 -8
  309. package/src/sap/m/messagebundle_fr_CA.properties +14 -2
  310. package/src/sap/m/messagebundle_hi.properties +13 -1
  311. package/src/sap/m/messagebundle_hr.properties +17 -5
  312. package/src/sap/m/messagebundle_hu.properties +15 -3
  313. package/src/sap/m/messagebundle_id.properties +14 -2
  314. package/src/sap/m/messagebundle_it.properties +14 -2
  315. package/src/sap/m/messagebundle_iw.properties +13 -1
  316. package/src/sap/m/messagebundle_ja.properties +13 -1
  317. package/src/sap/m/messagebundle_kk.properties +19 -7
  318. package/src/sap/m/messagebundle_ko.properties +14 -2
  319. package/src/sap/m/messagebundle_lt.properties +15 -3
  320. package/src/sap/m/messagebundle_lv.properties +52 -40
  321. package/src/sap/m/messagebundle_mk.properties +13 -1
  322. package/src/sap/m/messagebundle_ms.properties +14 -2
  323. package/src/sap/m/messagebundle_nl.properties +13 -1
  324. package/src/sap/m/messagebundle_no.properties +13 -1
  325. package/src/sap/m/messagebundle_pl.properties +13 -1
  326. package/src/sap/m/messagebundle_pt.properties +13 -1
  327. package/src/sap/m/messagebundle_pt_PT.properties +13 -1
  328. package/src/sap/m/messagebundle_ro.properties +13 -1
  329. package/src/sap/m/messagebundle_ru.properties +13 -1
  330. package/src/sap/m/messagebundle_sh.properties +14 -2
  331. package/src/sap/m/messagebundle_sk.properties +13 -1
  332. package/src/sap/m/messagebundle_sl.properties +30 -18
  333. package/src/sap/m/messagebundle_sr.properties +14 -2
  334. package/src/sap/m/messagebundle_sv.properties +9 -3
  335. package/src/sap/m/messagebundle_th.properties +16 -4
  336. package/src/sap/m/messagebundle_tr.properties +14 -2
  337. package/src/sap/m/messagebundle_uk.properties +19 -7
  338. package/src/sap/m/messagebundle_vi.properties +17 -5
  339. package/src/sap/m/messagebundle_zh_CN.properties +13 -1
  340. package/src/sap/m/messagebundle_zh_TW.properties +13 -1
  341. package/src/sap/m/p13n/AbstractContainer.js +2 -2
  342. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  343. package/src/sap/m/p13n/BasePanel.js +10 -2
  344. package/src/sap/m/p13n/Container.js +1 -1
  345. package/src/sap/m/p13n/Engine.js +58 -18
  346. package/src/sap/m/p13n/FilterController.js +1 -1
  347. package/src/sap/m/p13n/FilterPanel.js +1 -1
  348. package/src/sap/m/p13n/GroupController.js +1 -1
  349. package/src/sap/m/p13n/GroupPanel.js +1 -1
  350. package/src/sap/m/p13n/MessageStrip.js +1 -1
  351. package/src/sap/m/p13n/MetadataHelper.js +10 -0
  352. package/src/sap/m/p13n/PersistenceProvider.js +7 -2
  353. package/src/sap/m/p13n/Popup.js +8 -3
  354. package/src/sap/m/p13n/QueryPanel.js +1 -1
  355. package/src/sap/m/p13n/SelectionController.js +15 -2
  356. package/src/sap/m/p13n/SelectionPanel.js +224 -38
  357. package/src/sap/m/p13n/SortController.js +1 -1
  358. package/src/sap/m/p13n/SortPanel.js +1 -1
  359. package/src/sap/m/p13n/handler/xConfigHandler.js +20 -11
  360. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +1 -1
  361. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  362. package/src/sap/m/p13n/modules/UIManager.js +9 -4
  363. package/src/sap/m/p13n/modules/xConfigAPI.js +18 -2
  364. package/src/sap/m/plugins/CellSelector.js +1 -1
  365. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  366. package/src/sap/m/plugins/ContextMenuSetting.js +1 -1
  367. package/src/sap/m/plugins/CopyProvider.js +2 -2
  368. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  369. package/src/sap/m/plugins/PasteProvider.js +1 -1
  370. package/src/sap/m/plugins/PluginBase.js +1 -1
  371. package/src/sap/m/plugins/UploadSetwithTable.js +416 -407
  372. package/src/sap/m/semantic/AddAction.js +1 -1
  373. package/src/sap/m/semantic/CancelAction.js +1 -1
  374. package/src/sap/m/semantic/DeleteAction.js +1 -1
  375. package/src/sap/m/semantic/DetailPage.js +1 -1
  376. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  377. package/src/sap/m/semantic/EditAction.js +1 -1
  378. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  379. package/src/sap/m/semantic/FilterAction.js +1 -1
  380. package/src/sap/m/semantic/FilterSelect.js +1 -1
  381. package/src/sap/m/semantic/FlagAction.js +1 -1
  382. package/src/sap/m/semantic/ForwardAction.js +1 -1
  383. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  384. package/src/sap/m/semantic/GroupAction.js +1 -1
  385. package/src/sap/m/semantic/GroupSelect.js +1 -1
  386. package/src/sap/m/semantic/MainAction.js +1 -1
  387. package/src/sap/m/semantic/MasterPage.js +1 -1
  388. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  389. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  390. package/src/sap/m/semantic/NegativeAction.js +1 -1
  391. package/src/sap/m/semantic/OpenInAction.js +1 -1
  392. package/src/sap/m/semantic/PositiveAction.js +1 -1
  393. package/src/sap/m/semantic/PrintAction.js +1 -1
  394. package/src/sap/m/semantic/SaveAction.js +1 -1
  395. package/src/sap/m/semantic/Segment.js +1 -1
  396. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  397. package/src/sap/m/semantic/SemanticButton.js +1 -1
  398. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  399. package/src/sap/m/semantic/SemanticControl.js +1 -1
  400. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  401. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  402. package/src/sap/m/semantic/SemanticPage.js +1 -1
  403. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  404. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  405. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  406. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  407. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  408. package/src/sap/m/semantic/ShareMenu.js +1 -1
  409. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  410. package/src/sap/m/semantic/SortAction.js +1 -1
  411. package/src/sap/m/semantic/SortSelect.js +1 -1
  412. package/src/sap/m/table/ColumnWidthController.js +17 -2
  413. package/src/sap/m/table/Util.js +2 -2
  414. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  415. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  416. package/src/sap/m/table/columnmenu/Item.js +1 -1
  417. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  418. package/src/sap/m/table/columnmenu/Menu.js +39 -39
  419. package/src/sap/m/table/columnmenu/MenuBase.js +1 -1
  420. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  421. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  422. package/src/sap/m/table/columnmenu/QuickActionItem.js +3 -2
  423. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  424. package/src/sap/m/table/columnmenu/QuickGroupItem.js +33 -19
  425. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  426. package/src/sap/m/table/columnmenu/QuickSortItem.js +3 -3
  427. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  428. package/src/sap/m/table/columnmenu/QuickTotalItem.js +33 -19
  429. package/src/sap/m/themes/base/ActionTile.less +3 -3
  430. package/src/sap/m/themes/base/DynamicDateRange.less +6 -1
  431. package/src/sap/m/themes/base/GenericTile.less +19 -17
  432. package/src/sap/m/themes/base/IconTabBar.less +11 -10
  433. package/src/sap/m/themes/base/ImageContent.less +1 -1
  434. package/src/sap/m/themes/base/InputBase.less +1 -0
  435. package/src/sap/m/themes/base/MessageStrip.less +2 -2
  436. package/src/sap/m/themes/base/MessageToast.less +3 -3
  437. package/src/sap/m/themes/base/MessageView.less +16 -24
  438. package/src/sap/m/themes/base/NumericContent.less +4 -4
  439. package/src/sap/m/themes/base/ObjectStatus.less +29 -29
  440. package/src/sap/m/themes/base/Popover.less +5 -14
  441. package/src/sap/m/themes/base/SinglePlanningCalendarMonthGrid.less +10 -2
  442. package/src/sap/m/themes/base/SplitButton.less +7 -3
  443. package/src/sap/m/themes/base/StandardTile.less +15 -15
  444. package/src/sap/m/themes/base/StandardTreeItem.less +1 -1
  445. package/src/sap/m/themes/base/StepInput.less +5 -2
  446. package/src/sap/m/themes/base/SuggestionsPopover.less +18 -16
  447. package/src/sap/m/themes/base/Switch.less +41 -98
  448. package/src/sap/m/themes/base/TabContainer.less +13 -10
  449. package/src/sap/m/themes/base/TabStrip.less +78 -46
  450. package/src/sap/m/themes/base/Table.less +63 -63
  451. package/src/sap/m/themes/base/TablePersoDialog.less +20 -20
  452. package/src/sap/m/themes/base/Text.less +22 -17
  453. package/src/sap/m/themes/base/TextArea.less +45 -17
  454. package/src/sap/m/themes/base/Tile.less +11 -15
  455. package/src/sap/m/themes/base/TileContainer.less +30 -37
  456. package/src/sap/m/themes/base/TileContent.less +2 -1
  457. package/src/sap/m/themes/base/TimePicker.less +14 -20
  458. package/src/sap/m/themes/base/TimePickerClock.less +246 -30
  459. package/src/sap/m/themes/base/TimePickerClocks.less +6 -3
  460. package/src/sap/m/themes/base/TimePickerInputs.less +3 -4
  461. package/src/sap/m/themes/base/TimePickerSliders.less +141 -48
  462. package/src/sap/m/themes/base/Title.less +12 -23
  463. package/src/sap/m/themes/base/ToggleButton.less +40 -31
  464. package/src/sap/m/themes/base/TreeItemBase.less +10 -10
  465. package/src/sap/m/themes/base/ValueStateMessage.less +1 -0
  466. package/src/sap/m/themes/base/ViewSettingsDialog.less +30 -8
  467. package/src/sap/m/themes/base/WheelSlider.less +121 -43
  468. package/src/sap/m/themes/base/WheelSliderContainer.less +12 -5
  469. package/src/sap/m/themes/base/illustrations/metadata.json +78 -0
  470. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-Empty.svg +2 -0
  471. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-Empty.svg +2 -0
  472. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-Empty.svg +2 -0
  473. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-Empty.svg +2 -0
  474. package/src/sap/m/themes/base/p13n.SelectionPanel.less +16 -0
  475. package/src/sap/m/themes/sap_hcb/base_Popover.less +1 -8
  476. package/src/sap/m/themes/sap_hcb/base_TabContainer.less +5 -0
  477. package/src/sap/m/upload/ActionsPlaceholder.js +1 -1
  478. package/src/sap/m/upload/Column.js +1 -1
  479. package/src/sap/m/upload/FilePreviewDialog.js +5 -4
  480. package/src/sap/m/upload/FilterPanel.js +1 -0
  481. package/src/sap/m/upload/UploadItem.js +53 -2
  482. package/src/sap/m/upload/UploadItemConfiguration.js +1 -1
  483. package/src/sap/m/upload/UploadSet.js +1 -1
  484. package/src/sap/m/upload/UploadSetItem.js +1 -1
  485. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  486. package/src/sap/m/upload/UploaderTableItem.js +39 -1
  487. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
  488. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-BeforeSearch.svg +0 -10
  489. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoActivities.svg +0 -23
  490. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoData.svg +0 -9
  491. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoEntries.svg +0 -12
  492. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoMail.svg +0 -10
  493. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoNotifications.svg +0 -10
  494. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoSavedItems.svg +0 -9
  495. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoTasks.svg +0 -20
  496. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SuccessBalloon.svg +0 -19
  497. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-SuccessCheckMark.svg +0 -7
  498. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-UnableToLoad.svg +0 -10
  499. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-UnableToUpload.svg +0 -10
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @extends sap.ui.base.Object
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.133.1
61
+ * @version 1.135.0
62
62
  *
63
63
  * @public
64
64
  * @alias sap.m.p13n.SelectionController
@@ -149,6 +149,16 @@ sap.ui.define([
149
149
  return oState;
150
150
  };
151
151
 
152
+ /**
153
+ * Formats an external state to the appropriate internal state containg only the relevant information for the controller.
154
+ *
155
+ * @param {object} oExternalState external state to format
156
+ * @returns {object} formatted internal state
157
+ */
158
+ SelectionController.prototype.formatToInternalState = (oExternalState) => {
159
+ return oExternalState;
160
+ };
161
+
152
162
  /**
153
163
  * The actual UI used for personalization.
154
164
  *
@@ -510,7 +520,7 @@ sap.ui.define([
510
520
 
511
521
  const oChangeContent = oContent;
512
522
 
513
- if (sOperation.indexOf("set") !== 0) {
523
+ if (sOperation.indexOf("set") !== 0 && sOperation.indexOf("reset") !== 0) {
514
524
  oChangeContent.value = (sOperation == this.getChangeOperations()["add"]);
515
525
  }
516
526
 
@@ -581,6 +591,7 @@ sap.ui.define([
581
591
  const oExisting = mItemState[oProperty.name || oProperty.key];
582
592
  mItem.visible = !!oExisting;
583
593
  mItem.position = oExisting ? oExisting.position : -1;
594
+ mItem.isRedundant = oExisting?.isRedundant ?? false;
584
595
  return !(oProperty.visible === false || (this._aStableKeys.indexOf(oProperty.name || oProperty.key) > -1));
585
596
  });
586
597
 
@@ -718,6 +729,7 @@ sap.ui.define([
718
729
 
719
730
  const oControllerHelper = this.getMetadataHelper();
720
731
  const oHelper = oControllerHelper ? oControllerHelper : oPropertyHelper;
732
+ const aColumnsWithTextArrangement = (oHelper.getRedundantProperties?.() ?? []).map((p) => p.key);
721
733
  oHelper.getProperties().forEach((oProperty) => {
722
734
 
723
735
  const mItem = {};
@@ -733,6 +745,7 @@ sap.ui.define([
733
745
 
734
746
  mItem.label = oProperty.label || mItem.key;
735
747
  mItem.tooltip = oProperty.tooltip;
748
+ mItem.isRedundant = aColumnsWithTextArrangement.includes(mItem.key);
736
749
 
737
750
  if (mItemsGrouped) {
738
751
  mItem.group = oProperty.group ? oProperty.group : "BASIC";
@@ -18,10 +18,16 @@ sap.ui.define([
18
18
  "sap/m/library",
19
19
  "sap/m/ToolbarSpacer",
20
20
  "sap/m/Button",
21
+ "sap/m/BadgeCustomData",
22
+ "sap/m/Switch",
23
+ "sap/m/Popover",
24
+ "sap/ui/layout/HorizontalLayout",
25
+ "sap/ui/layout/VerticalLayout",
21
26
  "sap/m/OverflowToolbar",
22
27
  "sap/ui/model/Filter",
23
28
  "sap/base/util/merge",
24
- "sap/ui/core/InvisibleText"
29
+ "sap/ui/core/InvisibleText",
30
+ "sap/ui/core/Popup"
25
31
  ], (
26
32
  BasePanel,
27
33
  Label,
@@ -37,27 +43,33 @@ sap.ui.define([
37
43
  mLibrary,
38
44
  ToolbarSpacer,
39
45
  Button,
46
+ BadgeCustomData,
47
+ Switch,
48
+ Popover,
49
+ HorizontalLayout,
50
+ VerticalLayout,
40
51
  OverflowToolbar,
41
52
  Filter,
42
53
  merge,
43
- InvisibleText
54
+ InvisibleText,
55
+ Popup
44
56
  ) => {
45
57
  "use strict";
46
58
 
47
59
  // shortcut for sap.ui.core.IconColor
48
60
  const {IconColor} = coreLibrary;
49
61
 
50
- // shortcut for sap.m.ListKeyboardMode
51
- const {ListKeyboardMode} = mLibrary;
52
-
53
- // shortcut for sap.m.FlexJustifyContent
54
- const {FlexJustifyContent} = mLibrary;
55
-
56
- // shortcut for sap.m.ListType
57
- const {ListType} = mLibrary;
58
-
59
- // shortcut for sap.m.MultiSelectMode
60
- const {MultiSelectMode} = mLibrary;
62
+ // shortcut for sap.m.*
63
+ const {
64
+ ListKeyboardMode,
65
+ FlexJustifyContent,
66
+ FlexAlignItems,
67
+ MultiSelectMode,
68
+ ButtonType,
69
+ ListType,
70
+ PlacementType,
71
+ BadgeAnimationType
72
+ } = mLibrary;
61
73
 
62
74
  /**
63
75
  * Constructor for a new <code>SelectionPanel</code>.
@@ -71,7 +83,7 @@ sap.ui.define([
71
83
  * @extends sap.m.p13n.BasePanel
72
84
  *
73
85
  * @author SAP SE
74
- * @version 1.133.1
86
+ * @version 1.135.0
75
87
  *
76
88
  * @public
77
89
  * @since 1.96
@@ -144,10 +156,15 @@ sap.ui.define([
144
156
  }
145
157
  });
146
158
 
159
+ BasePanel.prototype.REDUNDANT_ITEMS_ATTRIBUTE = "isRedundant";
147
160
  SelectionPanel.prototype.init = function() {
148
161
  BasePanel.prototype.init.apply(this, arguments);
162
+
163
+ this.getModel(this.P13N_MODEL).setProperty("/showSelected", false);
164
+ this.getModel(this.P13N_MODEL).setProperty("/hideDescriptions", false);
165
+
149
166
  this.getModel(this.LOCALIZATION_MODEL).setProperty("/showSelectedText", this._getResourceText("p13n.SHOW_SELECTED"));
150
- this.getModel(this.LOCALIZATION_MODEL).setProperty("/showAllText", this._getResourceText("p13n.SHOW_ALL"));
167
+ this.getModel(this.LOCALIZATION_MODEL).setProperty("/hideDescriptionsText", this._getResourceText("p13n.HIDE_DESCRIPTIONS"));
151
168
  this.getModel(this.LOCALIZATION_MODEL).setProperty("/fieldColumn", this._getResourceText("p13n.DEFAULT_DESCRIPTION"));
152
169
  if (this.isPropertyInitial("fieldColumn")) {
153
170
  this.bindProperty("fieldColumn", {
@@ -260,35 +277,163 @@ sap.ui.define([
260
277
  return this;
261
278
  };
262
279
 
263
- SelectionPanel.prototype.setShowHeader = function(bShowHeader) {
264
- if (bShowHeader) {
265
- this._oShowSelectedButton = new Button({
280
+ SelectionPanel.prototype._getListFilterLayout = function() {
281
+ const aP13nData = this.getP13nData() ?? [];
282
+ const bHasRendundantColumns = aP13nData.some((oItem) => oItem[this.REDUNDANT_ITEMS_ATTRIBUTE]);
283
+
284
+ if (!bHasRendundantColumns) {
285
+ const oShowSelectedButton = new Button({
266
286
  press: (oEvt) => {
267
- this._bShowSelected = !this._bShowSelected;
268
- this._filterList(this._bShowSelected, this._sSearch);
287
+ const bShowSelected = this.getModel(this.P13N_MODEL).getProperty("/showSelected");
288
+ this.getModel(this.P13N_MODEL).setProperty("/showSelected", !bShowSelected);
289
+ this._triggerFilter();
269
290
  this._updateShowSelectedButton();
270
291
  },
271
292
  text: `{${this.LOCALIZATION_MODEL}>/showSelectedText}`
272
293
  });
273
294
  this._updateShowSelectedButton();
274
295
 
296
+ return oShowSelectedButton;
297
+ } else {
298
+ const oFilterButton = new Button({
299
+ icon: "sap-icon://filter",
300
+ type: ButtonType.Transparent,
301
+ press: (oEvt) => {
302
+ this._getFilterPopover().openBy(oFilterButton);
303
+ }
304
+ });
305
+
306
+ oFilterButton.addCustomData(new BadgeCustomData({
307
+ key: "badge",
308
+ value: {
309
+ parts: [{
310
+ path: this.P13N_MODEL + '>/showSelected'
311
+ }, {
312
+ path: this.P13N_MODEL + '>/hideDescriptions'
313
+ }],
314
+ formatter: (bShowSelected, bHideDescriptions) => {
315
+ return [bShowSelected, bHideDescriptions].filter(Boolean).length;
316
+ }
317
+ },
318
+ visible: true,
319
+ animation: BadgeAnimationType.None
320
+ }));
321
+
322
+ const oFilterLayout = new HorizontalLayout({
323
+ content: [
324
+ oFilterButton
325
+ ]
326
+ });
327
+
328
+ return oFilterLayout;
329
+ }
330
+
331
+ };
332
+
333
+ SelectionPanel.prototype.setShowHeader = function(bShowHeader) {
334
+ if (bShowHeader) {
275
335
  this._oListControl.setHeaderToolbar(new OverflowToolbar({
276
336
  content: [
277
337
  this._getSearchField(),
278
338
  new ToolbarSpacer(),
279
- this._oShowSelectedButton
339
+ this._getListFilterLayout()
280
340
  ]
281
341
  }));
282
342
  }
283
343
  this.setProperty("showHeader", bShowHeader);
284
344
  return this;
285
345
  };
346
+ /**
347
+ * @param {Object} oEvt Event object
348
+ * @param {string} sPath Path of model property that should be updated
349
+ */
350
+ SelectionPanel.prototype._triggerFilter = function() {
351
+ const bShowSelected = this.getModel(this.P13N_MODEL).getProperty("/showSelected");
352
+ const bHideDescriptions = this.getModel(this.P13N_MODEL).getProperty("/hideDescriptions");
353
+ this._filterList(bShowSelected, this._sSearch, bHideDescriptions);
354
+ };
286
355
 
287
356
  SelectionPanel.prototype._updateShowSelectedButton = function() {
288
357
  const sShowSelected = this._getResourceText("p13n.SHOW_SELECTED");
289
358
  const sShowAll = this._getResourceText("p13n.SHOW_ALL");
290
359
 
291
- this.getModel(this.LOCALIZATION_MODEL).setProperty("/showSelectedText", this._bShowSelected ? sShowAll : sShowSelected);
360
+ const bShowSelected = this.getModel(this.P13N_MODEL).getProperty("/showSelected");
361
+ this.getModel(this.LOCALIZATION_MODEL).setProperty("/showSelectedText", bShowSelected ? sShowAll : sShowSelected);
362
+ };
363
+
364
+ SelectionPanel.prototype._getFilterPopover = function() {
365
+ const oExistingPopover = this.getDependents().find((oDependent) => oDependent.isA("sap.m.Popover"));
366
+ if (oExistingPopover) {
367
+ return oExistingPopover;
368
+ }
369
+
370
+ const oShowSelectedText = new Label({
371
+ text: `{${this.LOCALIZATION_MODEL}>/showSelectedText}`
372
+ });
373
+ oShowSelectedText.addStyleClass("sapMSelectionPanelFilters");
374
+
375
+ const oHideDescriptionsText = new Label({
376
+ text: `{${this.LOCALIZATION_MODEL}>/hideDescriptionsText}`
377
+ });
378
+ oHideDescriptionsText.addStyleClass("sapMSelectionPanelFilters");
379
+
380
+ const oShowSelectedButton = new Switch({
381
+ state: `{${this.P13N_MODEL}>/showSelected}`,
382
+ ariaLabelledBy: oShowSelectedText,
383
+ customTextOn: " ",
384
+ customTextOff: " ",
385
+ change: this._triggerFilter.bind(this)
386
+ });
387
+
388
+ const oHideDescriptionsButton = new Switch({
389
+ state: `{${this.P13N_MODEL}>/hideDescriptions}`,
390
+ ariaLabelledBy: oHideDescriptionsText,
391
+ customTextOn: " ",
392
+ customTextOff: " ",
393
+ change: this._triggerFilter.bind(this)
394
+ });
395
+
396
+ const oHideDescriptionsContainer = new HBox({
397
+ alignItems: FlexAlignItems.Center,
398
+ items: [
399
+ oHideDescriptionsText,
400
+ oHideDescriptionsButton
401
+ ]
402
+ });
403
+ oHideDescriptionsContainer.addStyleClass("sapMSelectionPanelFiltersContainer");
404
+
405
+ const oShowSelectedContainer = new HBox({
406
+ alignItems: FlexAlignItems.Center,
407
+ items: [
408
+ oShowSelectedText,
409
+ oShowSelectedButton
410
+ ]
411
+ });
412
+ oShowSelectedContainer.addStyleClass("sapMSelectionPanelFiltersContainer");
413
+
414
+ const oPopoverLayout = new VBox({
415
+ alignItems: FlexAlignItems.End,
416
+ items: [oHideDescriptionsContainer, oShowSelectedContainer]
417
+ });
418
+
419
+ oPopoverLayout.addStyleClass("sapMSelectionPanelFiltersPopover");
420
+ const _oFilterPopover = new Popover({
421
+ title: this._getResourceText("p13n.FILTERS_POPOVER_TITLE"),
422
+ placement: PlacementType.Bottom,
423
+ content: [oPopoverLayout],
424
+ beforeOpen: function (oEvt) {
425
+ const source = oEvt.getSource();
426
+ source.setFollowOf(true);
427
+ },
428
+ afterOpen: function (oEvt) {
429
+ const source = oEvt.getSource();
430
+ source.setFollowOf(false);
431
+ }
432
+ });
433
+
434
+ this.addDependent(_oFilterPopover);
435
+
436
+ return _oFilterPopover;
292
437
  };
293
438
 
294
439
  SelectionPanel.prototype.getSelectedFields = function() {
@@ -302,39 +447,77 @@ sap.ui.define([
302
447
  return aSelectedItems;
303
448
  };
304
449
 
305
- SelectionPanel.prototype._filterList = function(bShowSelected, sSarch) {
450
+ SelectionPanel.prototype._filterList = function(bShowSelected, sSearch, bHideRedundant) {
306
451
  let oSearchFilter = [],
307
- oSelectedFilter = [];
452
+ oSelectedFilter = [],
453
+ oRedundantFilter = [];
454
+
308
455
  if (bShowSelected) {
309
456
  oSelectedFilter = new Filter(this.PRESENCE_ATTRIBUTE, "EQ", true);
310
457
  }
311
- if (sSarch) {
312
- oSearchFilter = new Filter("label", "Contains", sSarch);
458
+ if (bHideRedundant) {
459
+ oRedundantFilter = new Filter(this.REDUNDANT_ITEMS_ATTRIBUTE, "NE", true);
313
460
  }
314
- this._oListControl.getBinding("items").filter(new Filter([].concat(oSelectedFilter, oSearchFilter), true));
461
+ if (sSearch) {
462
+ oSearchFilter = new Filter("label", "Contains", sSearch);
463
+ }
464
+ this._oListControl.getBinding("items").filter(new Filter([].concat(oSelectedFilter, oSearchFilter, oRedundantFilter), true));
315
465
  };
316
466
 
317
467
  SelectionPanel.prototype._onSearchFieldLiveChange = function(oEvent) {
318
468
  this._sSearch = oEvent.getSource().getValue();
319
- this._filterList(this._bShowSelected, this._sSearch);
469
+ this._filterList(this.getModel(this.P13N_MODEL).getProperty("/showSelected"), this._sSearch, this.getModel(this.P13N_MODEL).getProperty("/hideDescriptions"));
320
470
  };
321
471
 
322
472
  SelectionPanel.prototype._handleActivated = function(oHoveredItem) {
323
- //remove move buttons if unselected item is hovered (not covered by updateStarted)
324
- this._removeMoveButtons();
325
- //Check if the prior hovered item had a visible icon and renable it if required
473
+ // remove move buttons
474
+ // 1. if a new item is hovered OR
475
+ // 1. if the item is not selected
476
+ if (this._oHoveredItem !== oHoveredItem || !oHoveredItem.getMultiSelectControl()?.getSelected()) {
477
+ this._removeMoveButtons();
478
+ }
479
+
480
+ // Check if the prior hovered item had a visible icon and renable it if required
326
481
  if (this._oHoveredItem && !this._oHoveredItem.bIsDestroyed && this._oHoveredItem.getBindingContextPath()) {
327
482
  const bVisible = !!this._getP13nModel().getProperty(this._oHoveredItem.getBindingContextPath()).active;
328
- const oOldIcon = this._oHoveredItem.getCells()[1].getItems()[0];
483
+ const [oOldIcon] = this._oHoveredItem.getCells()[1].getItems();
329
484
  oOldIcon.setVisible(bVisible);
330
485
  }
331
- //Store (new) hovered item and set its icon to visible: false + add move buttons to it
332
- const oIcon = oHoveredItem.getCells()[1].getItems()[0];
333
- if (oHoveredItem.getSelected()) {
486
+ // Store (new) hovered item and set its icon to visible: false + add move buttons to it
487
+ const oIcon = oHoveredItem.getCells()[1]?.getItems()[0];
488
+ if (oHoveredItem.getSelected() && oIcon) {
334
489
  oIcon.setVisible(false);
335
490
  }
491
+
492
+ // SNOW: DINC0433588:
493
+ // We call _handleActivated also when the hover state WITHIN a CustomListItem changes.
494
+ // However, the oHoveredItem is still the same ColumnListItem.
495
+ // If no selection change was done and the hoveredItem is still the same, we assume that the focus changed within a ColumnListItem.
496
+ // Hence, there is no need to add the move buttons again as they were already added previously.
497
+
498
+ // do not update anything or proceed to add the buttons:
499
+ // 1. if hover state has not changed (same item is still hovered) AND
500
+ // 2. if no selection change was done (same item is still hovered and was neither selected nor deselected) AND
501
+ // 3. if the hovered item is enabled (move buttons are already there, hence there is no need to add them again: SNOW: DINC0433588)
502
+ if (this._oHoveredItem === oHoveredItem &&
503
+ this._oLastSelectedItem !== oHoveredItem &&
504
+ oHoveredItem.getMultiSelectControl()?.getEnabled()
505
+ ) {
506
+ return;
507
+ }
508
+
509
+
510
+ // if not the same,
511
+ // if same, proceed to: add buttons
512
+
336
513
  this._oHoveredItem = oHoveredItem;
337
- if (!(oHoveredItem.getMultiSelectControl()?.getEnabled() == false)) {
514
+ this._oLastSelectedItem = null;
515
+ // 1. if checkbox is enabled (disabled checkbox might be the case for rta for ActionToolbar) AND
516
+ // 2. if checkbox is selected
517
+ // 3. OR if there is not checkbox
518
+ if ((oHoveredItem.getMultiSelectControl()?.getEnabled() &&
519
+ oHoveredItem.getMultiSelectControl()?.getSelected()) ||
520
+ !oHoveredItem.getMultiSelectControl()) {
338
521
  this._updateEnableOfMoveButtons(oHoveredItem, false);
339
522
  this._addMoveButtons(oHoveredItem);
340
523
  }
@@ -407,13 +590,16 @@ sap.ui.define([
407
590
  //remove the reorder buttons from their current location and hence reset the hover logic
408
591
  this._removeMoveButtons();
409
592
  this._oSelectedItem = null;
593
+
594
+ // this is needed for updating the header toolbar of the table
595
+ this.setShowHeader(this.getShowHeader());
410
596
  return this;
411
597
  };
412
598
 
413
599
  SelectionPanel.prototype.onReset = function() {
414
600
  BasePanel.prototype.onReset.apply(this, arguments);
415
601
  this._sSearch = "";
416
- this._bShowSelected = false;
602
+ this.getModel(this.P13N_MODEL).setProperty("/showSelected", false);
417
603
  this._updateShowSelectedButton();
418
604
  };
419
605
 
@@ -563,6 +749,7 @@ sap.ui.define([
563
749
  SelectionPanel.prototype._updateLocalizationTexts = function() {
564
750
  this.getModel(this.LOCALIZATION_MODEL).setProperty("/showSelectedText", this._getResourceText("p13n.SHOW_SELECTED"));
565
751
  this.getModel(this.LOCALIZATION_MODEL).setProperty("/showAllText", this._getResourceText("p13n.SHOW_ALL"));
752
+ this.getModel(this.LOCALIZATION_MODEL).setProperty("/hideDescriptionsText", this._getResourceText("p13n.HIDE_DESCRIPTIONS"));
566
753
  this.getModel(this.LOCALIZATION_MODEL).setProperty("/fieldColumn", this._getResourceText("p13n.DEFAULT_DESCRIPTION"));
567
754
  this._updateShowSelectedButton();
568
755
  };
@@ -573,7 +760,6 @@ sap.ui.define([
573
760
  this._oHoveredItem = null;
574
761
  this._bShowFactory = null;
575
762
  this._sSearch = null;
576
- this._bShowSelected = null;
577
763
  };
578
764
  return SelectionPanel;
579
765
  });
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.m.p13n.SelectionController
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.133.1
36
+ * @version 1.135.0
37
37
  * @public
38
38
  * @alias sap.m.p13n.SortController
39
39
  */
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @extends sap.m.p13n.QueryPanel
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.133.1
38
+ * @version 1.135.0
39
39
  *
40
40
  * @public
41
41
  * @since 1.96
@@ -85,7 +85,9 @@ sap.ui.define([
85
85
  * @param {object} mMetaConfig A map describing the metadata structure that is affected by this changehandler
86
86
  * @param {boolean} mMetaConfig.aggregationBased Defines whether the aggregation space or the property space should be used in the xConfig object
87
87
  * @param {string} mMetaConfig.property The property name (such as <code>width</code> or <code>label</code>)
88
+ * @param {string} mMetaConfig.aggregation The aggregation name
88
89
  * @param {string} mMetaConfig.operation The operation to be executed by the handler (add, remove, move, set)
90
+ * @param {string[]} mMetaConfig.additionalProperties Property names of the change content that are added to the revert data
89
91
  *
90
92
  * @returns {object} The created changehandler object
91
93
  */
@@ -112,13 +114,20 @@ sap.ui.define([
112
114
  propertyBag: mPropertyBag
113
115
  })
114
116
  .then(async (oPriorAggregationConfig) => {
117
+ const oChangeContent = oChange.getContent();
115
118
  const sOperation = getOperationType(oChange.getChangeType());
116
- sAffectedAggregation = oChange.getContent().targetAggregation;
119
+ sAffectedAggregation = oChangeContent.targetAggregation;
117
120
 
118
121
  const oRevertData = {
119
- key: oChange.getContent().key
122
+ key: oChangeContent.key
120
123
  };
121
124
 
125
+ mMetaConfig.additionalProperties?.forEach((vProperty) => {
126
+ if (typeof vProperty === "string" && oChangeContent[vProperty] !== undefined) {
127
+ oRevertData[vProperty] = oChangeContent[vProperty];
128
+ }
129
+ });
130
+
122
131
  if (sChangePersistenceIdentifier) {
123
132
  oRevertData.persistenceIdentifier = sChangePersistenceIdentifier;
124
133
  }
@@ -130,32 +139,32 @@ sap.ui.define([
130
139
  oRevertData.value = null;
131
140
  }
132
141
 
133
- if (!oPriorAggregationConfig || !(oPriorAggregationConfig?.aggregations?.[sAffectedAggregation]?.length > 0)) {
134
- const aCurrentState = await xConfigAPI.getCurrentItemState(oControl, {propertyBag: mPropertyBag, changeType: oChange.getChangeType()}, oPriorAggregationConfig, sAffectedAggregation);
142
+ if ((!oPriorAggregationConfig || !(oPriorAggregationConfig?.aggregations?.[sAffectedAggregation]?.length > 0)) && typeof mMetaConfig.getCurrentState == "function") {
143
+ const aCurrentState = await mMetaConfig.getCurrentState?.(oControl, oPriorAggregationConfig, sAffectedAggregation, oChange, mPropertyBag);
135
144
  if (aCurrentState) {
136
145
  const oStateItem = aCurrentState?.find((oItem, iIndex) => {
137
- return oItem.key === oChange.getContent().key;
146
+ return oItem.key === oChangeContent.key;
138
147
  });
139
148
  oRevertData.index = aCurrentState.indexOf(oStateItem);
140
149
  }
141
150
  }
142
151
 
143
- oRevertData.targetAggregation = oChange.getContent().targetAggregation;
152
+ oRevertData.targetAggregation = oChangeContent.targetAggregation;
144
153
 
145
- const oAffectedItem = oPriorAggregationConfig?.aggregations?.[sAffectedAggregation]?.[oChange.getContent().key];
154
+ const oAffectedItem = oPriorAggregationConfig?.aggregations?.[sAffectedAggregation]?.[oChangeContent.key];
146
155
  if (oAffectedItem) {
147
156
  if (oAffectedItem?.[sAffectedProperty]) {
148
- oRevertData.value = oPriorAggregationConfig.aggregations[sAffectedAggregation][oChange.getContent().key][sAffectedProperty];
157
+ oRevertData.value = oPriorAggregationConfig.aggregations[sAffectedAggregation][oChangeContent.key][sAffectedProperty];
149
158
  }
150
- oRevertData.index = oPriorAggregationConfig.aggregations[sAffectedAggregation][oChange.getContent().key].position !== undefined ? oPriorAggregationConfig.aggregations[sAffectedAggregation][oChange.getContent().key].position : oRevertData.index;
159
+ oRevertData.index = oPriorAggregationConfig.aggregations[sAffectedAggregation][oChangeContent.key].position !== undefined ? oPriorAggregationConfig.aggregations[sAffectedAggregation][oChangeContent.key].position : oRevertData.index;
151
160
  }
152
161
 
153
162
  oChange.setRevertData(oRevertData);
154
163
 
155
164
  const oConfig = {
156
165
  property: sAffectedProperty,
157
- key: oChange.getContent().key,
158
- value: oChange.getContent(),
166
+ key: oChangeContent.key,
167
+ value: oChangeContent,
159
168
  operation: sOperation,
160
169
  changeType: oChange.getChangeType(),
161
170
  propertyBag: mPropertyBag,
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.base.Object
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.133.1
30
+ * @version 1.135.0
31
31
  *
32
32
  * @private
33
33
  * @since 1.104
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.ui.base.EventProvider
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.133.1
24
+ * @version 1.135.0
25
25
  *
26
26
  * @private
27
27
  * @since 1.104
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @extends sap.ui.base.Object
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.133.1
31
+ * @version 1.135.0
32
32
  *
33
33
  * @private
34
34
  *
@@ -60,7 +60,7 @@ sap.ui.define([
60
60
  * @param {string|string[]} vPanelKeys The affected panels that should be added to the <code>sap.m.p13n.Popup</code>
61
61
  * @param {object} mSettings The settings object for the personalization
62
62
  * @param {string} [mSettings.title] The title for the <code>sap.m.p13n.Popup</code> control
63
- * @param {sap.ui.core.Control} [mSettings.source] The source contro to be used by the <code>sap.m.p13n.Popup</code> control (only necessary in case the mode is set to <code>ResponsivePopover</code>)
63
+ * @param {sap.ui.core.Control} [mSettings.source] The source control to be used by the <code>sap.m.p13n.Popup</code> control (only required if the mode is set to <code>ResponsivePopover</code>)
64
64
  * @param {sap.m.P13nPopupMode} [mSettings.mode] The mode to be used by the <code>sap.m.p13n.Popup</code> control
65
65
  * @param {sap.ui.core.CSSSize} [mSettings.contentHeight] Height configuration for the related popup container
66
66
  * @param {sap.ui.core.CSSSize} [mSettings.contentWidth] Width configuration for the related popup container
@@ -69,6 +69,8 @@ sap.ui.define([
69
69
  * (Note: only takes effect if the button is shown via <code>showReset</code>)
70
70
  * @param {function} [mSettings.reset] Custom reset handling to opt out the default reset which will trigger a reset for all open tabs.
71
71
  * @param {function} [mSettings.close] Event handler once the Popup has been closed
72
+ * @param {string} [mSettings.activePanel] Key of active panel that is opened initially
73
+ * @param {boolean} [mSettings.refreshPropertyHelper] Determines if the property helper should be refreshed
72
74
  *
73
75
  * @returns {Promise} Promise resolving in the <code>sap.m.p13n.Popup</code> instance.
74
76
  */
@@ -139,6 +141,9 @@ sap.ui.define([
139
141
  oP13nContainer.addPanel(oPanel, aPanelKeys[iIndex]);
140
142
  });
141
143
 
144
+ if (mSettings?.activePanel && (!aPanelKeys.includes(mSettings.activePanel) || aPanelKeys.length < 2)) {
145
+ delete mSettings.activePanel;
146
+ }
142
147
  oControl.addDependent(oP13nContainer);
143
148
  oP13nContainer.open(mSettings.source, mSettings);
144
149
  return oP13nContainer._oPopup;
@@ -153,11 +158,11 @@ sap.ui.define([
153
158
  }
154
159
  };
155
160
 
156
- UIManager.prototype.create = function(oControl, vPanelKeys) {
161
+ UIManager.prototype.create = function(oControl, vPanelKeys, mSettings) {
157
162
  const aPanelKeys = vPanelKeys instanceof Array ? vPanelKeys : [vPanelKeys];
158
163
  const that = this;
159
164
 
160
- return this.oAdaptationProvider.initAdaptation(oControl, aPanelKeys)
165
+ return this.oAdaptationProvider.initAdaptation(oControl, aPanelKeys, mSettings.refreshPropertyHelper)
161
166
  .then(() => {
162
167
  const vSettings = this.oAdaptationProvider.getUISettings(oControl, aPanelKeys);
163
168
 
@@ -121,8 +121,6 @@ sap.ui.define([
121
121
  aCurrentState.sort((a, b) => a.position - b.position);
122
122
  aCurrentState.map((o) => delete o.position);
123
123
  } else {
124
-
125
-
126
124
  await aAggregationItems.reduce(async (pAccum, oItem, iIndex) => {
127
125
  const pCurrentAccum = await pAccum; //synchronize async loop
128
126
 
@@ -152,6 +150,24 @@ sap.ui.define([
152
150
  return aCurrentState;
153
151
  };
154
152
 
153
+ xConfigAPI.getCurrentSortState = async function (oControl, oModificationPayload, oConfig, sPropertyName) {
154
+ const changeType = oModificationPayload?.changeType;
155
+ if (!oModificationPayload.propertyBag || !changeType || changeType.indexOf("Sort") === -1) {
156
+ return;
157
+ }
158
+ const aCurrentState = [];
159
+ if (oConfig?.properties?.[sPropertyName] !== undefined && Object.keys(oConfig.properties[sPropertyName]).length > 0) {
160
+ oConfig.properties[sPropertyName].forEach((oItem, iIndex) => {
161
+ aCurrentState.push({ key: oItem.key, position: iIndex });
162
+ });
163
+ aCurrentState
164
+ .sort((a, b) => a.position - b.position)
165
+ .map((o) => delete o.position);
166
+ }
167
+
168
+ return await Promise.resolve(aCurrentState);
169
+ };
170
+
155
171
  /**
156
172
  * Returns a copy of the xConfig object
157
173
  *
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * </ul>
64
64
  *
65
65
  * @extends sap.ui.core.Element
66
- * @version 1.133.1
66
+ * @version 1.135.0
67
67
  * @author SAP SE
68
68
  *
69
69
  * @public
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  *
34
34
  * @extends sap.ui.core.Element
35
35
  * @author SAP SE
36
- * @version 1.133.1
36
+ * @version 1.135.0
37
37
  *
38
38
  * @public
39
39
  * @since 1.91
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class Provides configuration options and an extended behavior for the context menu that is applied to the related control.
25
25
  * @extends sap.ui.core.Element
26
26
  * @author SAP SE
27
- * @version 1.133.1
27
+ * @version 1.135.0
28
28
  * @public
29
29
  * @since 1.121
30
30
  * @alias sap.m.plugins.ContextMenuSetting