@openui5/sap.m 1.108.1 → 1.109.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 (443) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +4 -4
  3. package/src/sap/m/.library +1 -1
  4. package/src/sap/m/AccButton.js +1 -1
  5. package/src/sap/m/ActionListItem.js +1 -1
  6. package/src/sap/m/ActionSelect.js +1 -1
  7. package/src/sap/m/ActionSheet.js +1 -1
  8. package/src/sap/m/ActionTile.js +1 -1
  9. package/src/sap/m/ActionTileContent.js +1 -1
  10. package/src/sap/m/AdditionalTextButton.js +1 -1
  11. package/src/sap/m/App.js +1 -1
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +1 -1
  14. package/src/sap/m/Bar.js +1 -1
  15. package/src/sap/m/Breadcrumbs.js +1 -1
  16. package/src/sap/m/BusyDialog.js +1 -1
  17. package/src/sap/m/BusyIndicator.js +1 -1
  18. package/src/sap/m/Button.js +1 -1
  19. package/src/sap/m/Carousel.js +5 -3
  20. package/src/sap/m/CarouselLayout.js +1 -1
  21. package/src/sap/m/CheckBox.js +3 -2
  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 +8 -4
  26. package/src/sap/m/ColumnListItem.js +19 -1
  27. package/src/sap/m/ColumnPopoverActionItem.js +1 -1
  28. package/src/sap/m/ColumnPopoverCustomItem.js +1 -1
  29. package/src/sap/m/ColumnPopoverItem.js +1 -1
  30. package/src/sap/m/ColumnPopoverSelectListItem.js +1 -1
  31. package/src/sap/m/ColumnPopoverSortItem.js +1 -1
  32. package/src/sap/m/ComboBox.js +1 -1
  33. package/src/sap/m/ComboBoxBase.js +1 -1
  34. package/src/sap/m/ComboBoxTextField.js +1 -1
  35. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  36. package/src/sap/m/CustomListItem.js +1 -1
  37. package/src/sap/m/CustomTile.js +1 -1
  38. package/src/sap/m/CustomTreeItem.js +1 -1
  39. package/src/sap/m/DatePicker.js +1 -1
  40. package/src/sap/m/DateRangeSelection.js +2 -2
  41. package/src/sap/m/DateTimeField.js +1 -1
  42. package/src/sap/m/DateTimeInput.js +1 -1
  43. package/src/sap/m/DateTimePicker.js +7 -11
  44. package/src/sap/m/Dialog.js +5 -5
  45. package/src/sap/m/DisplayListItem.js +1 -1
  46. package/src/sap/m/DraftIndicator.js +1 -1
  47. package/src/sap/m/DynamicDate.js +1 -1
  48. package/src/sap/m/DynamicDateOption.js +1 -1
  49. package/src/sap/m/DynamicDateRange.js +1 -1
  50. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  51. package/src/sap/m/ExpandableText.js +1 -1
  52. package/src/sap/m/FacetFilter.js +1 -1
  53. package/src/sap/m/FacetFilterItem.js +1 -1
  54. package/src/sap/m/FacetFilterList.js +1 -1
  55. package/src/sap/m/FeedContent.js +1 -1
  56. package/src/sap/m/FeedInput.js +1 -1
  57. package/src/sap/m/FeedListItem.js +1 -1
  58. package/src/sap/m/FeedListItemAction.js +1 -1
  59. package/src/sap/m/Fiori20Adapter.js +2 -2
  60. package/src/sap/m/FlexBox.js +1 -1
  61. package/src/sap/m/FlexItemData.js +1 -1
  62. package/src/sap/m/FormattedText.js +1 -1
  63. package/src/sap/m/GenericTag.js +1 -1
  64. package/src/sap/m/GenericTile.js +24 -12
  65. package/src/sap/m/GenericTileRenderer.js +3 -0
  66. package/src/sap/m/GroupHeaderListItem.js +2 -2
  67. package/src/sap/m/GrowingEnablement.js +13 -3
  68. package/src/sap/m/GrowingList.js +1 -1
  69. package/src/sap/m/HBox.js +1 -1
  70. package/src/sap/m/HeaderContainer.js +4 -3
  71. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  72. package/src/sap/m/IconTabBar.js +2 -2
  73. package/src/sap/m/IconTabBarSelectList.js +1 -1
  74. package/src/sap/m/IconTabFilter.js +1 -1
  75. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  76. package/src/sap/m/IconTabHeader.js +1 -1
  77. package/src/sap/m/IconTabSeparator.js +1 -1
  78. package/src/sap/m/IllustratedMessage.js +1 -1
  79. package/src/sap/m/IllustratedMessageType.js +20 -2
  80. package/src/sap/m/Illustration.js +1 -1
  81. package/src/sap/m/Image.js +1 -1
  82. package/src/sap/m/ImageContent.js +1 -1
  83. package/src/sap/m/Input.js +83 -22
  84. package/src/sap/m/InputBase.js +1 -1
  85. package/src/sap/m/InputBaseRenderer.js +2 -2
  86. package/src/sap/m/InputListItem.js +1 -1
  87. package/src/sap/m/Label.js +1 -1
  88. package/src/sap/m/LightBox.js +51 -65
  89. package/src/sap/m/LightBoxItem.js +1 -1
  90. package/src/sap/m/LightBoxRenderer.js +6 -4
  91. package/src/sap/m/Link.js +1 -1
  92. package/src/sap/m/List.js +1 -1
  93. package/src/sap/m/ListBase.js +19 -9
  94. package/src/sap/m/ListItemBase.js +2 -2
  95. package/src/sap/m/ListItemBaseRenderer.js +2 -2
  96. package/src/sap/m/MaskEnabler.js +1 -1
  97. package/src/sap/m/MaskInput.js +1 -1
  98. package/src/sap/m/MaskInputRule.js +1 -1
  99. package/src/sap/m/Menu.js +1 -1
  100. package/src/sap/m/MenuButton.js +1 -1
  101. package/src/sap/m/MenuItem.js +1 -1
  102. package/src/sap/m/MenuListItem.js +1 -1
  103. package/src/sap/m/MessageItem.js +1 -1
  104. package/src/sap/m/MessageListItem.js +1 -1
  105. package/src/sap/m/MessagePage.js +1 -1
  106. package/src/sap/m/MessagePopover.js +1 -1
  107. package/src/sap/m/MessagePopoverItem.js +1 -1
  108. package/src/sap/m/MessageStrip.js +1 -1
  109. package/src/sap/m/MessageToast.js +1 -1
  110. package/src/sap/m/MessageView.js +1 -1
  111. package/src/sap/m/MultiComboBox.js +47 -36
  112. package/src/sap/m/MultiEditField.js +1 -1
  113. package/src/sap/m/MultiInput.js +5 -5
  114. package/src/sap/m/NavContainer.js +1 -1
  115. package/src/sap/m/NewsContent.js +1 -1
  116. package/src/sap/m/NotificationList.js +1 -1
  117. package/src/sap/m/NotificationListBase.js +1 -1
  118. package/src/sap/m/NotificationListGroup.js +1 -1
  119. package/src/sap/m/NotificationListItem.js +1 -1
  120. package/src/sap/m/NotificationListRenderer.js +2 -2
  121. package/src/sap/m/NumericContent.js +1 -1
  122. package/src/sap/m/NumericInput.js +1 -1
  123. package/src/sap/m/ObjectAttribute.js +1 -1
  124. package/src/sap/m/ObjectHeader.js +1 -1
  125. package/src/sap/m/ObjectIdentifier.js +1 -1
  126. package/src/sap/m/ObjectListItem.js +1 -1
  127. package/src/sap/m/ObjectMarker.js +1 -1
  128. package/src/sap/m/ObjectNumber.js +1 -1
  129. package/src/sap/m/ObjectNumberRenderer.js +21 -8
  130. package/src/sap/m/ObjectStatus.js +1 -1
  131. package/src/sap/m/OverflowToolbar.js +3 -3
  132. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  133. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +37 -3
  134. package/src/sap/m/OverflowToolbarButton.js +1 -1
  135. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  136. package/src/sap/m/OverflowToolbarMenuButton.js +72 -0
  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/P13nOperationsHelper.js +1 -0
  151. package/src/sap/m/P13nPanel.js +1 -1
  152. package/src/sap/m/P13nSelectionItem.js +1 -1
  153. package/src/sap/m/P13nSelectionPanel.js +1 -1
  154. package/src/sap/m/P13nSortItem.js +1 -1
  155. package/src/sap/m/P13nSortPanel.js +1 -1
  156. package/src/sap/m/PDFViewer.js +1 -1
  157. package/src/sap/m/Page.js +2 -2
  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 +11 -1
  161. package/src/sap/m/PlanningCalendar.js +137 -15
  162. package/src/sap/m/PlanningCalendarHeader.js +48 -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 +19 -28
  167. package/src/sap/m/ProgressIndicator.js +6 -5
  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 +1 -1
  177. package/src/sap/m/RangeSlider.js +1 -1
  178. package/src/sap/m/RatingIndicator.js +1 -1
  179. package/src/sap/m/ResponsivePopover.js +4 -2
  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 +1 -1
  187. package/src/sap/m/SelectDialog.js +8 -6
  188. package/src/sap/m/SelectDialogBase.js +1 -1
  189. package/src/sap/m/SelectList.js +4 -3
  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 +2 -2
  197. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  199. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  203. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  204. package/src/sap/m/SlideTile.js +3 -3
  205. package/src/sap/m/Slider.js +1 -1
  206. package/src/sap/m/SliderRenderer.js +4 -3
  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 +1 -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 +1 -1
  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 +1 -1
  218. package/src/sap/m/SuggestionItem.js +1 -1
  219. package/src/sap/m/SuggestionsPopover.js +1 -1
  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 +37 -20
  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 +1 -1
  230. package/src/sap/m/TableSelectDialog.js +7 -5
  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 +1 -1
  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/TimePickerSlider.js +1 -1
  242. package/src/sap/m/TimePickerSliders.js +1 -1
  243. package/src/sap/m/Title.js +1 -1
  244. package/src/sap/m/TitlePropagationSupport.js +1 -1
  245. package/src/sap/m/ToggleButton.js +1 -1
  246. package/src/sap/m/Token.js +4 -10
  247. package/src/sap/m/Tokenizer.js +2 -1
  248. package/src/sap/m/Toolbar.js +1 -1
  249. package/src/sap/m/ToolbarLayoutData.js +1 -1
  250. package/src/sap/m/ToolbarSeparator.js +1 -1
  251. package/src/sap/m/ToolbarSpacer.js +1 -1
  252. package/src/sap/m/Tree.js +1 -1
  253. package/src/sap/m/TreeItemBase.js +1 -1
  254. package/src/sap/m/TreeRenderer.js +4 -0
  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/VariantManagement.js +33 -7
  262. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  263. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  264. package/src/sap/m/ViewSettingsDialog.js +25 -21
  265. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  266. package/src/sap/m/ViewSettingsItem.js +1 -1
  267. package/src/sap/m/VisibleItem.js +1 -1
  268. package/src/sap/m/WheelSlider.js +1 -1
  269. package/src/sap/m/WheelSliderContainer.js +1 -1
  270. package/src/sap/m/Wizard.js +1 -1
  271. package/src/sap/m/WizardProgressNavigator.js +1 -1
  272. package/src/sap/m/WizardStep.js +1 -1
  273. package/src/sap/m/changeHandler/AddTableColumn.js +2 -2
  274. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  275. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  276. package/src/sap/m/changeHandler/MoveTableColumns.js +1 -1
  277. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  278. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  279. package/src/sap/m/designtime/Slider.designtime.js +1 -1
  280. package/src/sap/m/designtime/VariantManagement.designtime.js +7 -1
  281. package/src/sap/m/library.js +13 -11
  282. package/src/sap/m/messagebundle.properties +52 -12
  283. package/src/sap/m/messagebundle_ar.properties +15 -6
  284. package/src/sap/m/messagebundle_bg.properties +15 -6
  285. package/src/sap/m/messagebundle_ca.properties +16 -7
  286. package/src/sap/m/messagebundle_cs.properties +16 -7
  287. package/src/sap/m/messagebundle_cy.properties +16 -7
  288. package/src/sap/m/messagebundle_da.properties +16 -7
  289. package/src/sap/m/messagebundle_de.properties +15 -6
  290. package/src/sap/m/messagebundle_el.properties +16 -7
  291. package/src/sap/m/messagebundle_en.properties +16 -7
  292. package/src/sap/m/messagebundle_en_GB.properties +16 -7
  293. package/src/sap/m/messagebundle_en_US_sappsd.properties +21 -7
  294. package/src/sap/m/messagebundle_en_US_saprigi.properties +28 -1
  295. package/src/sap/m/messagebundle_en_US_saptrc.properties +16 -7
  296. package/src/sap/m/messagebundle_es.properties +16 -7
  297. package/src/sap/m/messagebundle_es_MX.properties +16 -7
  298. package/src/sap/m/messagebundle_et.properties +15 -6
  299. package/src/sap/m/messagebundle_fi.properties +16 -7
  300. package/src/sap/m/messagebundle_fr.properties +17 -8
  301. package/src/sap/m/messagebundle_fr_CA.properties +15 -6
  302. package/src/sap/m/messagebundle_hi.properties +15 -6
  303. package/src/sap/m/messagebundle_hr.properties +15 -6
  304. package/src/sap/m/messagebundle_hu.properties +20 -11
  305. package/src/sap/m/messagebundle_id.properties +16 -7
  306. package/src/sap/m/messagebundle_it.properties +15 -6
  307. package/src/sap/m/messagebundle_iw.properties +16 -7
  308. package/src/sap/m/messagebundle_ja.properties +16 -7
  309. package/src/sap/m/messagebundle_kk.properties +15 -6
  310. package/src/sap/m/messagebundle_ko.properties +16 -7
  311. package/src/sap/m/messagebundle_lt.properties +16 -7
  312. package/src/sap/m/messagebundle_lv.properties +15 -6
  313. package/src/sap/m/messagebundle_ms.properties +15 -6
  314. package/src/sap/m/messagebundle_nl.properties +16 -7
  315. package/src/sap/m/messagebundle_no.properties +15 -6
  316. package/src/sap/m/messagebundle_pl.properties +16 -7
  317. package/src/sap/m/messagebundle_pt.properties +18 -9
  318. package/src/sap/m/messagebundle_pt_PT.properties +16 -7
  319. package/src/sap/m/messagebundle_ro.properties +16 -7
  320. package/src/sap/m/messagebundle_ru.properties +16 -7
  321. package/src/sap/m/messagebundle_sh.properties +16 -7
  322. package/src/sap/m/messagebundle_sk.properties +16 -7
  323. package/src/sap/m/messagebundle_sl.properties +15 -6
  324. package/src/sap/m/messagebundle_sv.properties +16 -7
  325. package/src/sap/m/messagebundle_th.properties +16 -7
  326. package/src/sap/m/messagebundle_tr.properties +15 -6
  327. package/src/sap/m/messagebundle_uk.properties +16 -7
  328. package/src/sap/m/messagebundle_vi.properties +16 -7
  329. package/src/sap/m/messagebundle_zh_CN.properties +16 -7
  330. package/src/sap/m/messagebundle_zh_TW.properties +16 -7
  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 +1 -1
  334. package/src/sap/m/p13n/Container.js +3 -3
  335. package/src/sap/m/p13n/Engine.js +92 -57
  336. package/src/sap/m/p13n/GroupController.js +1 -1
  337. package/src/sap/m/p13n/GroupPanel.js +1 -1
  338. package/src/sap/m/p13n/PersistenceProvider.js +4 -4
  339. package/src/sap/m/p13n/Popup.js +12 -10
  340. package/src/sap/m/p13n/QueryPanel.js +1 -1
  341. package/src/sap/m/p13n/SelectionController.js +24 -10
  342. package/src/sap/m/p13n/SelectionPanel.js +1 -1
  343. package/src/sap/m/p13n/SortController.js +1 -1
  344. package/src/sap/m/p13n/SortPanel.js +1 -1
  345. package/src/sap/m/p13n/enum/ProcessingStrategy.js +39 -0
  346. package/src/sap/m/p13n/modification/FlexModificationHandler.js +1 -1
  347. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +1 -1
  348. package/src/sap/m/p13n/modification/ModificationHandler.js +1 -1
  349. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +5 -5
  350. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +1 -1
  351. package/src/sap/m/p13n/modules/UIManager.js +25 -10
  352. package/src/sap/m/p13n/modules/xConfigAPI.js +17 -15
  353. package/src/sap/m/plugins/CellSelector.js +1 -1
  354. package/src/sap/m/plugins/ColumnResizer.js +1 -1
  355. package/src/sap/m/plugins/DataStateIndicator.js +1 -1
  356. package/src/sap/m/plugins/PasteProvider.js +1 -1
  357. package/src/sap/m/plugins/PluginBase.js +1 -1
  358. package/src/sap/m/semantic/AddAction.js +1 -1
  359. package/src/sap/m/semantic/CancelAction.js +1 -1
  360. package/src/sap/m/semantic/DeleteAction.js +1 -1
  361. package/src/sap/m/semantic/DetailPage.js +1 -1
  362. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  363. package/src/sap/m/semantic/EditAction.js +1 -1
  364. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  365. package/src/sap/m/semantic/FilterAction.js +1 -1
  366. package/src/sap/m/semantic/FilterSelect.js +1 -1
  367. package/src/sap/m/semantic/FlagAction.js +1 -1
  368. package/src/sap/m/semantic/ForwardAction.js +1 -1
  369. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  370. package/src/sap/m/semantic/GroupAction.js +1 -1
  371. package/src/sap/m/semantic/GroupSelect.js +1 -1
  372. package/src/sap/m/semantic/MainAction.js +1 -1
  373. package/src/sap/m/semantic/MasterPage.js +1 -1
  374. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  375. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  376. package/src/sap/m/semantic/NegativeAction.js +1 -1
  377. package/src/sap/m/semantic/OpenInAction.js +1 -1
  378. package/src/sap/m/semantic/PositiveAction.js +1 -1
  379. package/src/sap/m/semantic/PrintAction.js +1 -1
  380. package/src/sap/m/semantic/SaveAction.js +1 -1
  381. package/src/sap/m/semantic/Segment.js +1 -1
  382. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  383. package/src/sap/m/semantic/SemanticButton.js +1 -1
  384. package/src/sap/m/semantic/SemanticConfiguration.js +6 -3
  385. package/src/sap/m/semantic/SemanticControl.js +1 -1
  386. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  387. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  388. package/src/sap/m/semantic/SemanticPage.js +1 -1
  389. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  390. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  391. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  392. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  393. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  394. package/src/sap/m/semantic/ShareMenu.js +1 -1
  395. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  396. package/src/sap/m/semantic/SortAction.js +1 -1
  397. package/src/sap/m/semantic/SortSelect.js +1 -1
  398. package/src/sap/m/table/Util.js +103 -4
  399. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  400. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  401. package/src/sap/m/table/columnmenu/Item.js +1 -1
  402. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  403. package/src/sap/m/table/columnmenu/Menu.js +40 -24
  404. package/src/sap/m/table/columnmenu/MenuRenderer.js +27 -0
  405. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  406. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  407. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  408. package/src/sap/m/table/columnmenu/QuickGroup.js +1 -1
  409. package/src/sap/m/table/columnmenu/QuickGroupItem.js +1 -1
  410. package/src/sap/m/table/columnmenu/QuickSort.js +1 -1
  411. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -1
  412. package/src/sap/m/table/columnmenu/QuickTotal.js +1 -1
  413. package/src/sap/m/table/columnmenu/QuickTotalItem.js +1 -1
  414. package/src/sap/m/themes/base/ColumnMenu.less +13 -17
  415. package/src/sap/m/themes/base/LightBox.less +0 -53
  416. package/src/sap/m/themes/base/ListBase.less +1 -0
  417. package/src/sap/m/themes/base/MenuListItem.less +27 -22
  418. package/src/sap/m/themes/base/NewsContent.less +6 -0
  419. package/src/sap/m/themes/base/Panel.less +1 -1
  420. package/src/sap/m/themes/base/PlanningCalendar.less +13 -0
  421. package/src/sap/m/themes/base/Slider.less +9 -9
  422. package/src/sap/m/themes/base/Table.less +12 -2
  423. package/src/sap/m/themes/base/UploadCollection.less +1 -1
  424. package/src/sap/m/themes/base/VariantManagement.less +29 -27
  425. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-AddDimensions.svg +38 -0
  426. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-NoDimensionsSet.svg +39 -0
  427. package/src/sap/m/themes/base/illustrations/sapIllus-Dialog-UploadToCloud.svg +30 -0
  428. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-AddDimensions.svg +15 -0
  429. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-NoDimensionsSet.svg +6 -0
  430. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-ResizeColumn.svg +26 -0
  431. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-UploadCollection.svg +6 -0
  432. package/src/sap/m/themes/base/illustrations/sapIllus-Dot-UploadToCloud.svg +5 -0
  433. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-AddDimensions.svg +34 -0
  434. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-NoDimensionsSet.svg +38 -0
  435. package/src/sap/m/themes/base/illustrations/sapIllus-Scene-UploadToCloud.svg +24 -0
  436. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-AddDimensions.svg +38 -0
  437. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-NoDimensionsSet.svg +42 -0
  438. package/src/sap/m/themes/base/illustrations/sapIllus-Spot-UploadToCloud.svg +30 -0
  439. package/src/sap/m/themes/base/p13n.Container.less +2 -2
  440. package/src/sap/m/themes/sap_hcb/Slider.less +4 -4
  441. package/src/sap/m/upload/UploadSet.js +40 -34
  442. package/src/sap/m/upload/UploadSetItem.js +16 -2
  443. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.m.p13n.AbstractContainer
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.108.1
40
+ * @version 1.109.0
41
41
  *
42
42
  * @private
43
43
  * @ui5-restricted
@@ -185,8 +185,8 @@ sap.ui.define([
185
185
  Container.prototype._getTabBar = function () {
186
186
  if (!this._oTabBar) {
187
187
  this._oTabBar = new IconTabBar({
188
- expandable: false,
189
- expanded: true,
188
+ headerBackgroundDesign: "Transparent",
189
+ applyContentPadding: false,
190
190
  select: function (oEvt) {
191
191
  this.switchView(oEvt.getParameter("key"));
192
192
  }.bind(this)
@@ -15,8 +15,9 @@ sap.ui.define([
15
15
  "sap/m/p13n/modules/DefaultProviderRegistry",
16
16
  "sap/m/p13n/modules/UIManager",
17
17
  "sap/m/p13n/modules/StateHandlerRegistry",
18
- "sap/m/p13n/modules/xConfigAPI"
19
- ], function (AdaptationProvider, merge, Log, FlexModificationHandler, MessageStrip, coreLibrary, Element, DefaultProviderRegistry, UIManager, StateHandlerRegistry, xConfigAPI) {
18
+ "sap/m/p13n/modules/xConfigAPI",
19
+ "sap/m/p13n/enum/ProcessingStrategy"
20
+ ], function (AdaptationProvider, merge, Log, FlexModificationHandler, MessageStrip, coreLibrary, Element, DefaultProviderRegistry, UIManager, StateHandlerRegistry, xConfigAPI, ProcessingStrategy) {
20
21
  "use strict";
21
22
 
22
23
  var ERROR_INSTANCING = "Engine: This class is a singleton. Please use the getInstance() method instead.";
@@ -61,7 +62,7 @@ sap.ui.define([
61
62
  * @alias sap.m.p13n.Engine
62
63
  * @extends sap.m.p13n.AdaptationProvider
63
64
  * @author SAP SE
64
- * @version 1.108.1
65
+ * @version 1.109.0
65
66
  * @public
66
67
  * @experimental Since 1.104. Please note that the API of this control is not yet finalized!
67
68
  * @since 1.104
@@ -129,14 +130,10 @@ sap.ui.define([
129
130
  */
130
131
  Engine.prototype.register = function(oControl, oConfig) {
131
132
 
132
- if (!oConfig.hasOwnProperty("controller") || Object.keys(oConfig.controller).length < 1) {
133
+ if (!oConfig.hasOwnProperty("controller")/* || Object.keys(oConfig.controller).length < 1*/) {
133
134
  throw new Error("Please provide at least a configuration 'controller' containing a map of key-value pairs (key + Controller class) in order to register adaptation.");
134
135
  }
135
136
 
136
- if (!oConfig.hasOwnProperty("helper") || !(oConfig.helper.getProperties instanceof Function)) {
137
- throw new Error("Please provide at least a configuration 'helper' containing a metadata helper instance implementing a #getProperties function.");
138
- }
139
-
140
137
  var oRegistryEntry = this._getRegistryEntry(oControl);
141
138
 
142
139
  if (oRegistryEntry){
@@ -161,7 +158,9 @@ sap.ui.define([
161
158
 
162
159
  }.bind(this));
163
160
 
164
- this.getModificationHandler(oControl).initialize(oControl);
161
+ if (oRegistryEntry && oRegistryEntry.modification) {
162
+ this.getModificationHandler(oControl).initialize(oControl);
163
+ }
165
164
 
166
165
  };
167
166
 
@@ -273,6 +272,7 @@ sap.ui.define([
273
272
 
274
273
  var oModificationSetting = this._determineModification(oControl);
275
274
  return oModificationSetting.handler.reset(oResetConfig, oModificationSetting.payload).then(function(){
275
+ this.stateHandlerRegistry.fireChange(oControl);
276
276
  //Re-Init housekeeping after update
277
277
  return this.initAdaptation(oControl, aKeys).then(function(oPropertyHelper){
278
278
  aKeys.forEach(function(sKey){
@@ -405,19 +405,22 @@ sap.ui.define([
405
405
  this._getRegistryEntry(vControl).modification = oModificationSetting;
406
406
  };
407
407
 
408
- var fnQueue = function(oControl, fTask) {
408
+ Engine.prototype._addToQueue = function(oControl, fTask) {
409
+ var oRegistryEntry = this._getRegistryEntry(oControl);
410
+
409
411
  var fCleanupPromiseQueue = function(pOriginalPromise) {
410
- if (oControl._pModificationQueue === pOriginalPromise){
411
- delete oControl._pModificationQueue;
412
+ if (oRegistryEntry.pendingModification === pOriginalPromise){
413
+ oRegistryEntry.pendingModification = null;
412
414
  }
413
415
  };
414
416
 
415
- oControl._pModificationQueue = oControl._pModificationQueue instanceof Promise ? oControl._pModificationQueue.then(fTask) : fTask();
416
- oControl._pModificationQueue.then(fCleanupPromiseQueue.bind(null, oControl._pModificationQueue));
417
+ oRegistryEntry.pendingModification = oRegistryEntry.pendingModification instanceof Promise ? oRegistryEntry.pendingModification.then(fTask) : fTask();
418
+ oRegistryEntry.pendingModification.then(fCleanupPromiseQueue.bind(null, oRegistryEntry.pendingModification));
417
419
 
418
- return oControl._pModificationQueue;
420
+ return oRegistryEntry.pendingModification;
419
421
  };
420
422
 
423
+
421
424
  /**
422
425
  * <code>Engine#createChanges</code> can be used to programmatically trigger the creation
423
426
  * of a set of changes based on the current control state and the provided state.
@@ -428,7 +431,7 @@ sap.ui.define([
428
431
  * @param {sap.ui.core.Control} mDiffParameters.control The control instance that should be adapted
429
432
  * @param {string} mDiffParameters.key The key used to retrieve the related controller
430
433
  * @param {object} mDiffParameters.state The state that is applied to the provided control instance
431
- * @param {boolean} [mDiffParameters.applyAbsolute] Determines whether unmentioned entries are affected
434
+ * @param {sap.ui.mdc.p13n.ProcessingStrategy} [mDiffParameters.applyAbsolute] Determines about the comparison algorithm between two states
432
435
  * @param {boolean} [mDiffParameters.stateBefore] If the state should be diffed manually;
433
436
  * for example, if "A" exists in the control state, but is not mentioned in the new state provided in the
434
437
  * mDiffParameters.state then the absolute appliance decides whether to remove "A" or to keep it.
@@ -440,20 +443,20 @@ sap.ui.define([
440
443
  */
441
444
  Engine.prototype.createChanges = function(mDiffParameters) {
442
445
 
446
+ var oControl = Engine.getControlInstance(mDiffParameters.control);
443
447
  var sKey = mDiffParameters.key;
444
- var aNewState = mDiffParameters.state;
445
- var bApplyAbsolute = !!mDiffParameters.applyAbsolute;
448
+ var vNewState = mDiffParameters.state;
446
449
  var bSuppressCallback = !!mDiffParameters.suppressAppliance;
447
- var bApplySequentially = !!mDiffParameters.applySequentially;
448
450
 
449
- if (!sKey || !mDiffParameters.control || !aNewState) {
451
+ if (!sKey || !mDiffParameters.control || !vNewState) {
450
452
  throw new Error("To create changes via Engine, atleast a 1)Control 2)Key and 3)State needs to be provided.");
451
453
  }
452
454
 
453
- var oControl = Engine.getControlInstance(mDiffParameters.control);
454
-
455
455
  var fDeltaHandling = function() {
456
456
  return this.initAdaptation(oControl, sKey).then(function(){
457
+ return vNewState;
458
+ })
459
+ .then(function(aNewState){
457
460
 
458
461
  var oController = this.getController(oControl, sKey);
459
462
  var mChangeOperations = oController.getChangeOperations();
@@ -464,12 +467,17 @@ sap.ui.define([
464
467
 
465
468
  var mDeltaConfig = {
466
469
  existingState: mDiffParameters.stateBefore || oPriorState,
467
- applyAbsolute: bApplyAbsolute,
470
+ applyAbsolute: mDiffParameters.applyAbsolute,
468
471
  changedState: aNewState,
469
472
  control: oController.getAdaptationControl(),
470
473
  changeOperations: mChangeOperations,
471
474
  deltaAttributes: ["key"],
472
- propertyInfo: oRegistryEntry.helper.getProperties().map(function(a){return {key: a.key};})
475
+ propertyInfo: oRegistryEntry.helper.getProperties().map(function(a){
476
+ return {
477
+ key: a.key,
478
+ name: a.name
479
+ };
480
+ })
473
481
  };
474
482
 
475
483
  //Only execute change calculation in case there is a difference (--> example: press 'Ok' without a difference)
@@ -478,7 +486,10 @@ sap.ui.define([
478
486
  if (!bSuppressCallback) {
479
487
  var mChangeMap = {};
480
488
  mChangeMap[sKey] = aChanges;
481
- return this._processChanges(oControl, mChangeMap);
489
+ return this._processChanges(oControl, mChangeMap)
490
+ .then(function(){
491
+ return aChanges;
492
+ });
482
493
  }
483
494
 
484
495
  return aChanges || [];
@@ -487,11 +498,7 @@ sap.ui.define([
487
498
 
488
499
  }.bind(this);
489
500
 
490
- if (bApplySequentially) {
491
- return fnQueue(oControl, fDeltaHandling);
492
- } else {
493
- return fDeltaHandling.apply(this);
494
- }
501
+ return this._addToQueue(oControl, fDeltaHandling);
495
502
  };
496
503
 
497
504
  /**
@@ -502,13 +509,16 @@ sap.ui.define([
502
509
  * @param {sap.ui.core.Control} oControl The related control instance
503
510
  * @returns {Promise} A Promise resolving after all pending modifications have been applied
504
511
  */
505
- Engine.prototype.waitForChanges = function(oControl) {
512
+ Engine.prototype.waitForChanges = function(oControl) {
506
513
  var oModificationSetting = this._determineModification(oControl);
507
- return oModificationSetting.handler.waitForChanges({
508
- element: oControl
509
- }, oModificationSetting.payload);
514
+ var oRegistryEntry = this._getRegistryEntry(oControl);
515
+ return oRegistryEntry && oRegistryEntry.pendingModification ? oRegistryEntry.pendingModification : Promise.resolve()
516
+ .then(function(){
517
+ return oModificationSetting.handler.waitForChanges({
518
+ element: oControl
519
+ }, oModificationSetting.payload);
520
+ });
510
521
  };
511
-
512
522
  /**
513
523
  * Determines whether the environment is suitable for the desired modification of the provided control instance.
514
524
  *
@@ -550,8 +560,10 @@ sap.ui.define([
550
560
  var oModificationSetting = this._determineModification(vControl);
551
561
  return oModificationSetting.handler.processChanges(aChanges, oModificationSetting.payload)
552
562
  .then(function(aChanges){
563
+ var oControl = Engine.getControlInstance(vControl);
564
+ this.stateHandlerRegistry.fireChange(oControl);
553
565
  return aChanges;
554
- });
566
+ }.bind(this));
555
567
  } else {
556
568
  return Promise.resolve([]);
557
569
  }
@@ -577,7 +589,7 @@ sap.ui.define([
577
589
  // TODO: clarify if we need this error handling / what to do with the Link if we want to keep it
578
590
  var aPVs = this.hasForReference(oControl, "sap.m.p13n.PersistenceProvider");
579
591
 
580
- if (aPVs.length > 0 && !oControl.isA("sap.m.link.Panel")) {
592
+ if (aPVs.length > 0 && !oControl.isA("sap.ui.mdc.link.Panel")) {
581
593
  return Promise.reject("Please do not use a PeristenceProvider in RTA.");
582
594
  }
583
595
 
@@ -595,12 +607,14 @@ sap.ui.define([
595
607
 
596
608
  this._setModificationHandler(oControl, oTemporaryRTAHandler);
597
609
 
598
- this.uimanager.show(oControl, aKeys).then(function(oContainer){
599
- var oCustomHeader = oContainer._oPopup.getCustomHeader();
610
+ this.uimanager.show(oControl, aKeys, {
611
+ showReset: false
612
+ }).then(function(oContainer){
613
+ var oCustomHeader = oContainer.getCustomHeader();
600
614
  if (oCustomHeader) {
601
615
  oCustomHeader.getContentRight()[0].setVisible(false);
602
616
  }
603
- oContainer._oPopup.addStyleClass(mPropertyBag.styleClass);
617
+ oContainer.addStyleClass(mPropertyBag.styleClass);
604
618
  if (mPropertyBag.fnAfterClose instanceof Function) {
605
619
  oContainer.attachAfterClose(mPropertyBag.fnAfterClose);
606
620
  }
@@ -709,26 +723,24 @@ sap.ui.define([
709
723
  oOld = merge({}, oOld);
710
724
  oNew = merge({}, oNew);
711
725
 
712
- this.getRegisteredControllers(oControl).forEach(function(sKey){
713
-
726
+ Object.keys(oNew).forEach(function(sKey){
714
727
  aDiffCreation.push(this.createChanges({
715
728
  control: oControl,
716
729
  stateBefore: oOld[sKey],
717
730
  state: oNew[sKey],
718
- applyAbsolute: true,
731
+ applyAbsolute: ProcessingStrategy.FullReplace,
719
732
  key: sKey,
720
733
  suppressAppliance: true
721
734
  }));
722
-
723
735
  }.bind(this));
724
-
725
736
  return Promise.all(aDiffCreation)
726
737
  .then(function(aChanges){
727
- this.getRegisteredControllers(oControl).forEach(function(sKey, i){
728
-
729
- var aState = this.getController(oControl, sKey).changesToState(aChanges[i], oOld[sKey], oNew[sKey]);
730
- oDiffState[sKey] = aState;
738
+ Object.keys(oNew).forEach(function(sKey, i){
731
739
 
740
+ if (oNew[sKey]) {
741
+ var aState = this.getController(oControl, sKey).changesToState(aChanges[i], oOld[sKey], oNew[sKey]);
742
+ oDiffState[sKey] = aState;
743
+ }
732
744
  }.bind(this));
733
745
 
734
746
  return oDiffState;
@@ -884,9 +896,8 @@ sap.ui.define([
884
896
  */
885
897
  Engine.prototype.getRegisteredControllers = function(vControl){
886
898
  var oRegistryEntry = this._getRegistryEntry(vControl);
887
- return Object.keys(oRegistryEntry.controller);
899
+ return oRegistryEntry ? Object.keys(oRegistryEntry.controller) : [];
888
900
  };
889
-
890
901
  /**
891
902
  * This method can be used to get the registry entry for a control instance
892
903
  *
@@ -935,9 +946,9 @@ sap.ui.define([
935
946
 
936
947
  _mRegistry.set(oControl, {
937
948
  modification: oPreConfig && oPreConfig.modification ? {
938
- handler: oPreConfig.modification,//TBD
949
+ handler: oPreConfig.modification,
939
950
  payload: {
940
- mode: "Auto",//TBD,
951
+ mode: "Auto",
941
952
  hasVM: true,
942
953
  hasPP: false
943
954
  }
@@ -945,7 +956,8 @@ sap.ui.define([
945
956
  controller: {},
946
957
  activeP13n: null,
947
958
  helper: oPreConfig && oPreConfig.helper ? oPreConfig.helper : null,
948
- xConfig: null
959
+ xConfig: null,
960
+ pendingAppliance: {}
949
961
  });
950
962
 
951
963
  }
@@ -953,6 +965,29 @@ sap.ui.define([
953
965
  return _mRegistry.get(oControl);
954
966
  };
955
967
 
968
+ Engine.prototype.trace = function(vControl, oChange) {
969
+ var oRegistryEntry = this._getRegistryEntry(vControl);
970
+ this.getRegisteredControllers(vControl).forEach(function(sKey){
971
+ var oController = this.getController(vControl, sKey);
972
+ var mChangeOperations = oController.getChangeOperations();
973
+ Object.keys(mChangeOperations).forEach(function(sType){
974
+ if (mChangeOperations[sType] === oChange.changeSpecificData.changeType) {
975
+ oRegistryEntry.pendingAppliance[sKey] = [].concat(oRegistryEntry.pendingAppliance[sKey]).concat(oChange);
976
+ }
977
+ });
978
+ }.bind(this));
979
+ };
980
+
981
+ Engine.prototype.getTrace = function(vControl, oChange) {
982
+ var oRegistryEntry = this._getRegistryEntry(vControl);
983
+ return Object.keys(oRegistryEntry.pendingAppliance);
984
+ };
985
+
986
+ Engine.prototype.clearTrace = function(vControl, oChange) {
987
+ var oRegistryEntry = this._getRegistryEntry(vControl);
988
+ oRegistryEntry.pendingAppliance = {};
989
+ };
990
+
956
991
  /**
957
992
  * Determines and registers the ModificationHandler per control instance
958
993
  *
@@ -969,7 +1004,7 @@ sap.ui.define([
969
1004
  return oRegistryEntry.modification;
970
1005
  }
971
1006
 
972
- var aPPResults = this.hasForReference(vControl, "sap.m.p13n.PersistenceProvider");
1007
+ var aPPResults = this.hasForReference(vControl, "sap.m.p13n.PersistenceProvider").concat(this.hasForReference(vControl, "sap.ui.mdc.p13n.PersistenceProvider"));
973
1008
  var aVMResults = this.hasForReference(vControl, "sap.ui.fl.variants.VariantManagement");
974
1009
 
975
1010
  var aPersistenceProvider = aPPResults.length ? aPPResults : undefined;
@@ -1015,7 +1050,7 @@ sap.ui.define([
1015
1050
  }
1016
1051
  var aFor = oElement.getFor instanceof Function ? oElement.getFor() : [];
1017
1052
  for (var n = 0; n < aFor.length; n++) {
1018
- if (aFor[n] === sControlId || this.hasControlAncestorWithId(sControlId, aFor[n])) {
1053
+ if (aFor[n] === sControlId || oEngine.hasControlAncestorWithId(sControlId, aFor[n])) {
1019
1054
  return true;
1020
1055
  }
1021
1056
  }
@@ -1255,5 +1290,5 @@ sap.ui.define([
1255
1290
  this.uimanager = null;
1256
1291
  };
1257
1292
 
1258
- return Engine.getInstance();
1293
+ return Engine;
1259
1294
  });
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.ui.base.Object
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.108.1
24
+ * @version 1.109.0
25
25
  * @public
26
26
  * @experimental
27
27
  * @since 1.104
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.m.p13n.QueryPanel
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.108.1
24
+ * @version 1.109.0
25
25
  *
26
26
  * @public
27
27
  * @experimental Since 1.104. Please note that the API of this control is not yet finalized!
@@ -4,8 +4,8 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/ui/core/Control", "sap/ui/fl/variants/VariantManagement", "sap/ui/fl/Utils", "sap/m/p13n/enum/PersistenceMode", "sap/ui/layout/VerticalLayout"
8
- ], function(CoreControl, VariantManagement, Utils, mode, VerticalLayout) {
7
+ "sap/ui/core/Control", "sap/ui/fl/variants/VariantManagement", "sap/ui/fl/apply/api/ControlVariantApplyAPI", "sap/m/p13n/enum/PersistenceMode", "sap/ui/layout/VerticalLayout"
8
+ ], function(CoreControl, VariantManagement, ControlVariantApplyAPI, mode, VerticalLayout) {
9
9
  "use strict";
10
10
 
11
11
  /**
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
 
66
66
  PersistenceProvider.prototype._setModel = function () {
67
67
 
68
- var oModel = this.getModel(Utils.VARIANT_MODEL_NAME);
68
+ var oModel = this.getModel(ControlVariantApplyAPI.getVariantModelName());
69
69
  if (oModel) {
70
70
  this._fnResolveModel(oModel);
71
71
  }
@@ -78,7 +78,7 @@ sap.ui.define([
78
78
  if (this.getMode() === mode.Transient) {
79
79
  var oVM = new VariantManagement(this.getId() + "--vm", {"for": this.getAssociation("for")});
80
80
  this._oModelPromise.then(function (oModel) {
81
- oVM.setModel(oModel, Utils.VARIANT_MODEL_NAME);
81
+ oVM.setModel(oModel, ControlVariantApplyAPI.getVariantModelName());
82
82
  });
83
83
  this._oWrapper = new VerticalLayout(this.getId() + "--accWrapper", {
84
84
  visible: true,
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Control
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.108.1
37
+ * @version 1.109.0
38
38
  *
39
39
  * @public
40
40
  * @experimental Since 1.97.
@@ -176,7 +176,7 @@ sap.ui.define([
176
176
  */
177
177
  Popup.prototype.open = function(oSource, mSettings) {
178
178
 
179
- if (!oSource) {
179
+ if (!oSource && this.getMode() === "Popover") {
180
180
  throw new Error("Please provide a source control!");
181
181
  }
182
182
 
@@ -242,7 +242,7 @@ sap.ui.define([
242
242
  };
243
243
 
244
244
  /**
245
- * Removes the current panels in the <code>panels</code> aggregation.
245
+ * Returns the current panels in the <code>panels</code> aggregation.
246
246
  * @public
247
247
  * @returns {sap.m.p13n.IContent[]} An array of panel instances
248
248
  */
@@ -261,16 +261,17 @@ sap.ui.define([
261
261
  };
262
262
 
263
263
  Popup.prototype._createResponsivePopover = function(mDialogSettings) {
264
-
264
+ var aPanels = this.getPanels();
265
+ var bUseContainer = aPanels.length > 1;
265
266
  var oPopover = new ResponsivePopover(this.getId() + "-responsivePopover", {
266
267
  title: this.getTitle(),
267
268
  horizontalScrolling: mDialogSettings.hasOwnProperty("horizontalScrolling") ? mDialogSettings.horizontalScrolling : false,
268
- verticalScrolling: false,
269
+ verticalScrolling: !bUseContainer,
269
270
  contentWidth: mDialogSettings.contentWidth ? mDialogSettings.contentWidth : "30rem",
270
271
  resizable: mDialogSettings.hasOwnProperty("resizable") ? mDialogSettings.resizable : true,
271
272
  contentHeight: mDialogSettings.contentHeight ? mDialogSettings.contentHeight : "35rem",
272
273
  placement: mDialogSettings.placement ? mDialogSettings.placement : "Bottom",
273
- content: this.getPanels().length > 1 ? this._getContainer() : this.getPanels()[0],
274
+ content: bUseContainer ? this._getContainer() : aPanels[0],
274
275
  afterClose: function() {
275
276
  this._onClose(oPopover, "AutoClose");
276
277
  }.bind(this)
@@ -283,21 +284,22 @@ sap.ui.define([
283
284
  };
284
285
 
285
286
  Popup.prototype._createDialog = function(mDialogSettings) {
286
-
287
+ var aPanels = this.getPanels();
288
+ var bUseContainer = aPanels.length > 1;
287
289
  var oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
288
290
  var oContainer = new Dialog(this.getId() + "-dialog", {
289
291
  title: this.getTitle(),
290
292
  horizontalScrolling: mDialogSettings.hasOwnProperty("horizontalScrolling") ? mDialogSettings.horizontalScrolling : false,
291
- verticalScrolling: false,
293
+ verticalScrolling: !bUseContainer,
292
294
  contentWidth: mDialogSettings.contentWidth ? mDialogSettings.contentWidth : "40rem",
293
295
  contentHeight: mDialogSettings.contentHeight ? mDialogSettings.contentHeight : "55rem",
294
296
  draggable: true,
295
297
  resizable: true,
296
298
  stretch: Device.system.phone,
297
- content: this.getPanels().length > 1 ? this._getContainer() : this.getPanels()[0],
299
+ content: bUseContainer ? this._getContainer() : aPanels[0],
298
300
  escapeHandler: function() {
299
301
  this._onClose(oContainer, "Escape");
300
- },
302
+ }.bind(this),
301
303
  buttons: [
302
304
  new Button(this.getId() + "-confirmBtn", {
303
305
  text: mDialogSettings.confirm && mDialogSettings.confirm.text ? mDialogSettings.confirm.text : oResourceBundle.getText("p13n.POPUP_OK"),
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.m.p13n.BasePanel
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.108.1
27
+ * @version 1.109.0
28
28
  *
29
29
  * @private
30
30
  * @ui5-restricted
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.base.Object
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.108.1
32
+ * @version 1.109.0
33
33
  *
34
34
  * @public
35
35
  * @experimental Since 1.104. Please note that the API of this control is not yet finalized!
@@ -153,7 +153,6 @@ sap.ui.define([
153
153
  aState.splice(iCurrentIndex, 1);
154
154
  }
155
155
 
156
-
157
156
  }
158
157
  return aState;
159
158
  };
@@ -263,10 +262,10 @@ sap.ui.define([
263
262
  oExistingProp = oExistingProp ? oExistingProp.changeSpecificData.content : undefined;
264
263
  }
265
264
  // Matching property exists with a different index --> then this is a move operation
266
- if (oExistingProp && oExistingProp.key === oProp.key && oResult.index != oExistingProp.index) {
265
+ if (oExistingProp && (oExistingProp.key || oExistingProp.name) === oProp.key && oResult.index != oExistingProp.index) {
267
266
  // remove the last insert/delete operation
268
267
  aChanges.pop();
269
- aChanges = aChanges.concat(this._createMoveChange(oExistingProp.id, oExistingProp.key, oResult.index, sMoveOperation, oControl, sMoveOperation !== "moveSort", sGenerator));
268
+ aChanges = aChanges.concat(this._createMoveChange(oExistingProp.id, (oExistingProp.key || oExistingProp.name), oResult.index, sMoveOperation, oControl, sMoveOperation !== "moveSort", sGenerator));
270
269
  return;
271
270
  }
272
271
  }
@@ -360,7 +359,7 @@ sap.ui.define([
360
359
  var mItemState = this.arrayToMap(aItemState);
361
360
 
362
361
  var oP13nData = this.prepareAdaptationData(oPropertyHelper, function(mItem, oProperty){
363
- var oExisting = mItemState[oProperty.key];
362
+ var oExisting = mItemState[oProperty.name || oProperty.key];
364
363
  mItem.visible = this._fSelector ? this._fSelector(oProperty) : (!!oExisting);
365
364
  mItem.position = oExisting ? oExisting.position : -1;
366
365
  return !(oProperty.visible === false);
@@ -380,7 +379,7 @@ sap.ui.define([
380
379
  *
381
380
  */
382
381
  SelectionController.prototype.getP13nData = function() {
383
- return this._oPanel ? this._oPanel.getP13nData() : this._oAdaptationModel.getProperty("/items");
382
+ return this._oPanel ? this._oPanel.getP13nData() : this._oAdaptationModel && this._oAdaptationModel.getProperty("/items");
384
383
  };
385
384
 
386
385
  SelectionController.prototype.model2State = false;
@@ -465,6 +464,8 @@ sap.ui.define([
465
464
  oPropertyHelper.getProperties().forEach(function(oProperty) {
466
465
 
467
466
  var mItem = {};
467
+ mItem.key = oProperty.name || oProperty.key;
468
+ mItem.name = oProperty.name || oProperty.key;
468
469
 
469
470
  if (bEnhance) {
470
471
  var bIsValid = fnEnhace(mItem, oProperty);
@@ -473,9 +474,7 @@ sap.ui.define([
473
474
  }
474
475
  }
475
476
 
476
- mItem.key = oProperty.key;
477
- mItem.name = oProperty.key;
478
- mItem.label = oProperty.label || oProperty.key;
477
+ mItem.label = oProperty.label || mItem.key;
479
478
  mItem.tooltip = oProperty.tooltip;
480
479
 
481
480
  if (mItemsGrouped) {
@@ -501,7 +500,22 @@ sap.ui.define([
501
500
 
502
501
  };
503
502
 
504
- //TODO: generify
503
+
504
+ SelectionController.prototype._buildGroupStructure = function(mItemsGrouped) {
505
+ var aGroupedItems = [];
506
+ Object.keys(mItemsGrouped).forEach(function(sGroupKey){
507
+ this.sortP13nData("generic", mItemsGrouped[sGroupKey]);
508
+ aGroupedItems.push({
509
+ group: sGroupKey,
510
+ groupLabel: mItemsGrouped[sGroupKey][0].groupLabel || sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("p13n.BASIC_DEFAULT_GROUP"),//Grouplabel might not be necessarily be propagated to every item
511
+ groupVisible: true,
512
+ items: mItemsGrouped[sGroupKey]
513
+ });
514
+ }.bind(this));
515
+ return aGroupedItems;
516
+
517
+ };
518
+
505
519
  SelectionController.prototype.sortP13nData = function (oSorting, aItems) {
506
520
 
507
521
  var mP13nTypeSorting = oSorting;
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * @extends sap.m.p13n.BasePanel
49
49
  *
50
50
  * @author SAP SE
51
- * @version 1.108.1
51
+ * @version 1.109.0
52
52
  *
53
53
  * @public
54
54
  * @experimental Since 1.96.
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.base.Object
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.108.1
25
+ * @version 1.109.0
26
26
  * @public
27
27
  * @experimental Since 1.104. Please note that the API of this control is not yet finalized!
28
28
  * @alias sap.m.p13n.SortController
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.m.p13n.QueryPanel
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.108.1
24
+ * @version 1.109.0
25
25
  *
26
26
  * @public
27
27
  * @experimental Since 1.96.
@@ -0,0 +1,39 @@
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
+
7
+ // Provides enumeration sap.m.p13n.ProcessingStrategy
8
+ sap.ui.define(function() {
9
+ "use strict";
10
+
11
+ /**
12
+ * Defines the delta types of the <code>sap.m.p13n.p13n.Engine</code>.
13
+ *
14
+ * @enum {string}
15
+ * @private
16
+ * @since 1.108
17
+ * @alias sap.m.p13n.ProcessingStrategy
18
+ */
19
+ var ProcessingStrategy = {
20
+ /**
21
+ * The delta will only calculate changes that will be added in addition to the existing state
22
+ */
23
+ Add: false,
24
+ /**
25
+ * The delta will calculate changes and include state that has been added and removed
26
+ * <b>Note</b>: For example for array based state, entries added/removed will be respected.
27
+ * For example for object/path based state, the diff will not include paths that have not been explicitly provided.
28
+ */
29
+ PartialReplace: true,
30
+ /**
31
+ * The delta will be calculated as complete/absolute state difference, in case the new state does not
32
+ * provide a path to an existing state, this is going to be removed in addition to the PartialReplace processing strategy.
33
+ */
34
+ FullReplace: "FullReplace"
35
+ };
36
+
37
+ return ProcessingStrategy;
38
+
39
+ });
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * It should be used as the persistence layer in the {@link sap.m.p13n.Engine#register Engine#register} process.
20
20
  *
21
21
  * @author SAP SE
22
- * @public
22
+ * @private
23
23
  * @experimental Since 1.104.
24
24
  * @alias sap.m.p13n.modification.FlexModificationHandler
25
25
  */