@openui5/sap.m 1.103.0 → 1.105.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 (475) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +18 -1
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +36 -3
  5. package/package.json +4 -4
  6. package/src/sap/m/.library +1 -1
  7. package/src/sap/m/AccButton.js +1 -1
  8. package/src/sap/m/ActionListItem.js +1 -1
  9. package/src/sap/m/ActionSelect.js +1 -1
  10. package/src/sap/m/ActionSheet.js +1 -1
  11. package/src/sap/m/App.js +2 -3
  12. package/src/sap/m/AssociativeOverflowToolbar.js +1 -1
  13. package/src/sap/m/Avatar.js +2 -2
  14. package/src/sap/m/BadgeEnabler.js +1 -2
  15. package/src/sap/m/Bar.js +11 -10
  16. package/src/sap/m/Breadcrumbs.js +2 -2
  17. package/src/sap/m/BusyDialog.js +1 -1
  18. package/src/sap/m/BusyIndicator.js +1 -1
  19. package/src/sap/m/Button.js +49 -10
  20. package/src/sap/m/ButtonRenderer.js +10 -2
  21. package/src/sap/m/Carousel.js +3 -4
  22. package/src/sap/m/CarouselLayout.js +1 -1
  23. package/src/sap/m/CheckBox.js +46 -6
  24. package/src/sap/m/CheckBoxRenderer.js +1 -0
  25. package/src/sap/m/ColorPalette.js +1 -1
  26. package/src/sap/m/ColorPalettePopover.js +1 -1
  27. package/src/sap/m/Column.js +1 -1
  28. package/src/sap/m/ColumnHeaderPopover.js +5 -7
  29. package/src/sap/m/ColumnListItem.js +1 -4
  30. package/src/sap/m/ColumnListItemRenderer.js +1 -2
  31. package/src/sap/m/ColumnPopoverActionItem.js +3 -3
  32. package/src/sap/m/ColumnPopoverCustomItem.js +3 -3
  33. package/src/sap/m/ColumnPopoverItem.js +3 -3
  34. package/src/sap/m/ColumnPopoverSelectListItem.js +3 -5
  35. package/src/sap/m/ColumnPopoverSortItem.js +3 -3
  36. package/src/sap/m/ComboBox.js +6 -5
  37. package/src/sap/m/ComboBoxBase.js +1 -5
  38. package/src/sap/m/ComboBoxBaseRenderer.js +2 -2
  39. package/src/sap/m/ComboBoxTextField.js +1 -7
  40. package/src/sap/m/ComboBoxTextFieldRenderer.js +19 -4
  41. package/src/sap/m/CustomDynamicDateOption.js +1 -1
  42. package/src/sap/m/CustomListItem.js +1 -1
  43. package/src/sap/m/CustomTile.js +1 -1
  44. package/src/sap/m/CustomTreeItem.js +3 -3
  45. package/src/sap/m/CustomTreeItemRenderer.js +2 -2
  46. package/src/sap/m/DatePicker.js +14 -24
  47. package/src/sap/m/DateRangeSelection.js +45 -38
  48. package/src/sap/m/DateTimeField.js +87 -20
  49. package/src/sap/m/DateTimeInput.js +1 -1
  50. package/src/sap/m/DateTimePicker.js +52 -28
  51. package/src/sap/m/Dialog.js +38 -1
  52. package/src/sap/m/DisplayListItem.js +1 -1
  53. package/src/sap/m/DraftIndicator.js +1 -1
  54. package/src/sap/m/DynamicDate.js +1 -1
  55. package/src/sap/m/DynamicDateFormat.js +2 -5
  56. package/src/sap/m/DynamicDateOption.js +43 -16
  57. package/src/sap/m/DynamicDateRange.js +49 -7
  58. package/src/sap/m/DynamicDateRangeRenderer.js +5 -2
  59. package/src/sap/m/DynamicDateUtil.js +23 -2
  60. package/src/sap/m/DynamicDateValueHelpUIType.js +1 -1
  61. package/src/sap/m/ExpandableText.js +1 -1
  62. package/src/sap/m/FacetFilter.js +2 -2
  63. package/src/sap/m/FacetFilterItem.js +1 -1
  64. package/src/sap/m/FacetFilterList.js +4 -4
  65. package/src/sap/m/FeedContent.js +1 -1
  66. package/src/sap/m/FeedInput.js +1 -1
  67. package/src/sap/m/FeedListItem.js +1 -1
  68. package/src/sap/m/FeedListItemAction.js +1 -1
  69. package/src/sap/m/Fiori20Adapter.js +2 -2
  70. package/src/sap/m/FlexBox.js +1 -1
  71. package/src/sap/m/FlexItemData.js +1 -1
  72. package/src/sap/m/FormattedText.js +1 -1
  73. package/src/sap/m/GenericTag.js +1 -1
  74. package/src/sap/m/GenericTile.js +67 -16
  75. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  76. package/src/sap/m/GenericTileRenderer.js +16 -4
  77. package/src/sap/m/GroupHeaderListItem.js +1 -1
  78. package/src/sap/m/GrowingEnablement.js +37 -11
  79. package/src/sap/m/GrowingList.js +1 -1
  80. package/src/sap/m/HBox.js +1 -1
  81. package/src/sap/m/HeaderContainer.js +3 -3
  82. package/src/sap/m/HeaderContainerItemNavigator.js +3 -6
  83. package/src/sap/m/IconTabBar.js +54 -22
  84. package/src/sap/m/IconTabBarSelectList.js +1 -1
  85. package/src/sap/m/IconTabFilter.js +1 -1
  86. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  87. package/src/sap/m/IconTabHeader.js +5 -1
  88. package/src/sap/m/IconTabSeparator.js +1 -1
  89. package/src/sap/m/IllustratedMessage.js +64 -25
  90. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  91. package/src/sap/m/Illustration.js +1 -1
  92. package/src/sap/m/IllustrationPool.js +1 -0
  93. package/src/sap/m/IllustrationRenderer.js +1 -1
  94. package/src/sap/m/Image.js +2 -2
  95. package/src/sap/m/ImageContent.js +1 -1
  96. package/src/sap/m/Input.js +51 -7
  97. package/src/sap/m/InputBase.js +1 -1
  98. package/src/sap/m/InputBaseRenderer.js +2 -2
  99. package/src/sap/m/InputListItem.js +1 -1
  100. package/src/sap/m/InputRenderer.js +4 -0
  101. package/src/sap/m/Label.js +34 -4
  102. package/src/sap/m/LabelRenderer.js +7 -2
  103. package/src/sap/m/LightBox.js +1 -1
  104. package/src/sap/m/LightBoxItem.js +1 -1
  105. package/src/sap/m/Link.js +95 -10
  106. package/src/sap/m/LinkRenderer.js +26 -12
  107. package/src/sap/m/List.js +38 -1
  108. package/src/sap/m/ListBase.js +104 -40
  109. package/src/sap/m/ListBaseRenderer.js +7 -15
  110. package/src/sap/m/ListItemBase.js +40 -11
  111. package/src/sap/m/ListItemBaseRenderer.js +17 -6
  112. package/src/sap/m/ListRenderer.js +2 -2
  113. package/src/sap/m/MaskEnabler.js +52 -2
  114. package/src/sap/m/MaskInput.js +23 -1
  115. package/src/sap/m/MaskInputRule.js +1 -1
  116. package/src/sap/m/Menu.js +1 -1
  117. package/src/sap/m/MenuButton.js +1 -1
  118. package/src/sap/m/MenuItem.js +1 -1
  119. package/src/sap/m/MenuListItem.js +1 -1
  120. package/src/sap/m/MessageBox.js +1 -1
  121. package/src/sap/m/MessageItem.js +3 -4
  122. package/src/sap/m/MessageListItem.js +8 -4
  123. package/src/sap/m/MessagePage.js +1 -1
  124. package/src/sap/m/MessagePopover.js +4 -1
  125. package/src/sap/m/MessagePopoverItem.js +1 -1
  126. package/src/sap/m/MessageStrip.js +1 -1
  127. package/src/sap/m/MessageToast.js +1 -1
  128. package/src/sap/m/MessageView.js +1 -1
  129. package/src/sap/m/MultiComboBox.js +5 -16
  130. package/src/sap/m/MultiEditField.js +1 -1
  131. package/src/sap/m/MultiInput.js +1 -15
  132. package/src/sap/m/NavContainer.js +21 -19
  133. package/src/sap/m/NewsContent.js +2 -3
  134. package/src/sap/m/NotificationList.js +1 -1
  135. package/src/sap/m/NotificationListBase.js +1 -1
  136. package/src/sap/m/NotificationListGroup.js +3 -7
  137. package/src/sap/m/NotificationListGroupRenderer.js +1 -1
  138. package/src/sap/m/NotificationListItem.js +1 -1
  139. package/src/sap/m/NumericContent.js +1 -1
  140. package/src/sap/m/NumericInput.js +1 -1
  141. package/src/sap/m/ObjectAttribute.js +1 -1
  142. package/src/sap/m/ObjectHeader.js +3 -3
  143. package/src/sap/m/ObjectIdentifier.js +3 -3
  144. package/src/sap/m/ObjectListItem.js +7 -1
  145. package/src/sap/m/ObjectMarker.js +1 -1
  146. package/src/sap/m/ObjectNumber.js +2 -3
  147. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  148. package/src/sap/m/ObjectStatus.js +2 -3
  149. package/src/sap/m/ObjectStatusRenderer.js +2 -2
  150. package/src/sap/m/OverflowToolbar.js +3 -8
  151. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  152. package/src/sap/m/OverflowToolbarAssociativePopoverControls.js +3 -3
  153. package/src/sap/m/OverflowToolbarAssociativePopoverRenderer.js +2 -2
  154. package/src/sap/m/OverflowToolbarButton.js +1 -1
  155. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  156. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  157. package/src/sap/m/P13nAnyFilterItem.js +3 -3
  158. package/src/sap/m/P13nColumnsItem.js +3 -3
  159. package/src/sap/m/P13nColumnsPanel.js +3 -3
  160. package/src/sap/m/P13nConditionPanel.js +10 -3
  161. package/src/sap/m/P13nDialog.js +3 -3
  162. package/src/sap/m/P13nDimMeasureItem.js +3 -3
  163. package/src/sap/m/P13nDimMeasurePanel.js +3 -3
  164. package/src/sap/m/P13nFilterItem.js +3 -3
  165. package/src/sap/m/P13nFilterPanel.js +3 -3
  166. package/src/sap/m/P13nGroupItem.js +3 -3
  167. package/src/sap/m/P13nGroupPanel.js +3 -3
  168. package/src/sap/m/P13nItem.js +3 -3
  169. package/src/sap/m/P13nOperationsHelper.js +2 -2
  170. package/src/sap/m/P13nPanel.js +3 -3
  171. package/src/sap/m/P13nSelectionItem.js +3 -3
  172. package/src/sap/m/P13nSelectionPanel.js +3 -3
  173. package/src/sap/m/P13nSortItem.js +3 -3
  174. package/src/sap/m/P13nSortPanel.js +3 -3
  175. package/src/sap/m/PDFViewer.js +2 -2
  176. package/src/sap/m/PDFViewerRenderer.js +1 -0
  177. package/src/sap/m/Page.js +1 -3
  178. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  179. package/src/sap/m/PagingButton.js +1 -1
  180. package/src/sap/m/Panel.js +1 -1
  181. package/src/sap/m/PlanningCalendar.js +4 -16
  182. package/src/sap/m/PlanningCalendarHeader.js +1 -5
  183. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  184. package/src/sap/m/PlanningCalendarRow.js +1 -1
  185. package/src/sap/m/PlanningCalendarView.js +1 -1
  186. package/src/sap/m/Popover.js +11 -4
  187. package/src/sap/m/ProgressIndicator.js +1 -1
  188. package/src/sap/m/ProgressIndicatorRenderer.js +6 -3
  189. package/src/sap/m/PullToRefresh.js +1 -1
  190. package/src/sap/m/QuickView.js +3 -3
  191. package/src/sap/m/QuickViewBase.js +3 -3
  192. package/src/sap/m/QuickViewCard.js +3 -3
  193. package/src/sap/m/QuickViewGroup.js +1 -1
  194. package/src/sap/m/QuickViewGroupElement.js +3 -3
  195. package/src/sap/m/QuickViewPage.js +3 -3
  196. package/src/sap/m/RadioButton.js +47 -20
  197. package/src/sap/m/RadioButtonGroup.js +29 -19
  198. package/src/sap/m/RangeSlider.js +1 -3
  199. package/src/sap/m/RatingIndicator.js +8 -1
  200. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  201. package/src/sap/m/ResponsivePopover.js +3 -3
  202. package/src/sap/m/ResponsiveScale.js +1 -1
  203. package/src/sap/m/ScrollBar.js +1 -1
  204. package/src/sap/m/ScrollContainer.js +1 -1
  205. package/src/sap/m/SearchField.js +1 -1
  206. package/src/sap/m/SegmentedButton.js +1 -1
  207. package/src/sap/m/SegmentedButtonItem.js +1 -1
  208. package/src/sap/m/Select.js +7 -13
  209. package/src/sap/m/SelectDialog.js +2 -1
  210. package/src/sap/m/SelectDialogBase.js +1 -1
  211. package/src/sap/m/SelectList.js +1 -1
  212. package/src/sap/m/SelectListRenderer.js +2 -2
  213. package/src/sap/m/SelectionDetails.js +2 -2
  214. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  215. package/src/sap/m/SelectionDetailsItem.js +1 -1
  216. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  217. package/src/sap/m/Shell.js +1 -1
  218. package/src/sap/m/SimpleFixFlex.js +1 -1
  219. package/src/sap/m/SinglePlanningCalendar.js +5 -7
  220. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  221. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -7
  222. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  223. package/src/sap/m/SinglePlanningCalendarMonthGridRenderer.js +0 -2
  224. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  225. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  226. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  227. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  228. package/src/sap/m/SlideTile.js +30 -5
  229. package/src/sap/m/Slider.js +1 -1
  230. package/src/sap/m/SliderTooltip.js +1 -3
  231. package/src/sap/m/SliderTooltipBase.js +1 -1
  232. package/src/sap/m/SliderTooltipBaseRenderer.js +2 -2
  233. package/src/sap/m/SliderTooltipContainer.js +1 -1
  234. package/src/sap/m/SliderTooltipContainerRenderer.js +2 -2
  235. package/src/sap/m/SliderTooltipRenderer.js +2 -2
  236. package/src/sap/m/SplitApp.js +1 -1
  237. package/src/sap/m/SplitButton.js +1 -3
  238. package/src/sap/m/SplitContainer.js +1 -5
  239. package/src/sap/m/StandardDynamicDateOption.js +9 -15
  240. package/src/sap/m/StandardListItem.js +1 -1
  241. package/src/sap/m/StandardListItemRenderer.js +2 -2
  242. package/src/sap/m/StandardTile.js +1 -1
  243. package/src/sap/m/StandardTreeItem.js +1 -1
  244. package/src/sap/m/StepInput.js +1 -1
  245. package/src/sap/m/SuggestionItem.js +1 -1
  246. package/src/sap/m/SuggestionsPopover.js +4 -2
  247. package/src/sap/m/Switch.js +1 -1
  248. package/src/sap/m/TabContainer.js +1 -1
  249. package/src/sap/m/TabContainerItem.js +1 -1
  250. package/src/sap/m/TabStrip.js +1 -1
  251. package/src/sap/m/TabStripItem.js +1 -1
  252. package/src/sap/m/Table.js +11 -9
  253. package/src/sap/m/TablePersoController.js +1 -1
  254. package/src/sap/m/TablePersoDialog.js +6 -15
  255. package/src/sap/m/TablePersoProvider.js +1 -1
  256. package/src/sap/m/TableRenderer.js +2 -9
  257. package/src/sap/m/TableSelectDialog.js +1 -1
  258. package/src/sap/m/Text.js +1 -1
  259. package/src/sap/m/TextArea.js +1 -1
  260. package/src/sap/m/TextAreaRenderer.js +1 -2
  261. package/src/sap/m/Tile.js +1 -1
  262. package/src/sap/m/TileContainer.js +1 -1
  263. package/src/sap/m/TileContent.js +8 -9
  264. package/src/sap/m/TileContentRenderer.js +3 -3
  265. package/src/sap/m/TimePicker.js +43 -6
  266. package/src/sap/m/TimePickerClock.js +2 -3
  267. package/src/sap/m/TimePickerClocks.js +5 -3
  268. package/src/sap/m/TimePickerClocksRenderer.js +1 -1
  269. package/src/sap/m/TimePickerInputs.js +1 -1
  270. package/src/sap/m/TimePickerInputsRenderer.js +1 -1
  271. package/src/sap/m/TimePickerInternals.js +1 -1
  272. package/src/sap/m/TimePickerSlider.js +1 -1
  273. package/src/sap/m/TimePickerSliders.js +3 -5
  274. package/src/sap/m/Title.js +1 -1
  275. package/src/sap/m/TitlePropagationSupport.js +1 -1
  276. package/src/sap/m/ToggleButton.js +2 -2
  277. package/src/sap/m/Token.js +1 -3
  278. package/src/sap/m/Tokenizer.js +1 -1
  279. package/src/sap/m/Toolbar.js +1 -1
  280. package/src/sap/m/ToolbarLayoutData.js +1 -1
  281. package/src/sap/m/ToolbarSeparator.js +1 -1
  282. package/src/sap/m/ToolbarSpacer.js +1 -1
  283. package/src/sap/m/Tree.js +8 -1
  284. package/src/sap/m/TreeItemBase.js +1 -1
  285. package/src/sap/m/TreeRenderer.js +0 -10
  286. package/src/sap/m/UploadCollection.js +2 -2
  287. package/src/sap/m/UploadCollectionItem.js +1 -1
  288. package/src/sap/m/UploadCollectionParameter.js +1 -1
  289. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  290. package/src/sap/m/VBox.js +1 -1
  291. package/src/sap/m/ValueStateHeader.js +1 -1
  292. package/src/sap/m/VariantItem.js +160 -0
  293. package/src/sap/m/VariantManagement.js +665 -570
  294. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  295. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  296. package/src/sap/m/ViewSettingsDialog.js +1 -1
  297. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  298. package/src/sap/m/ViewSettingsItem.js +1 -1
  299. package/src/sap/m/VisibleItem.js +1 -1
  300. package/src/sap/m/WheelSlider.js +1 -1
  301. package/src/sap/m/WheelSliderContainer.js +1 -1
  302. package/src/sap/m/Wizard.js +1 -3
  303. package/src/sap/m/WizardProgressNavigator.js +1 -1
  304. package/src/sap/m/WizardStep.js +1 -1
  305. package/src/sap/m/changeHandler/AddTableColumn.js +12 -13
  306. package/src/sap/m/changeHandler/ChangeLinkTarget.js +2 -3
  307. package/src/sap/m/changeHandler/CombineButtons.js +19 -22
  308. package/src/sap/m/changeHandler/MoveTableColumns.js +6 -6
  309. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +5 -5
  310. package/src/sap/m/changeHandler/SplitMenuButton.js +7 -6
  311. package/src/sap/m/delegate/DateNavigation.js +0 -4
  312. package/src/sap/m/designtime/Link.designtime.js +19 -11
  313. package/src/sap/m/designtime/VariantManagement.designtime.js +36 -26
  314. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  315. package/src/sap/m/inputUtils/selectionRange.js +1 -2
  316. package/src/sap/m/library.js +30 -6
  317. package/src/sap/m/messagebundle.properties +30 -3
  318. package/src/sap/m/messagebundle_ar.properties +26 -8
  319. package/src/sap/m/messagebundle_bg.properties +20 -2
  320. package/src/sap/m/messagebundle_ca.properties +19 -1
  321. package/src/sap/m/messagebundle_cs.properties +20 -2
  322. package/src/sap/m/messagebundle_cy.properties +21 -3
  323. package/src/sap/m/messagebundle_da.properties +19 -1
  324. package/src/sap/m/messagebundle_de.properties +19 -1
  325. package/src/sap/m/messagebundle_el.properties +22 -4
  326. package/src/sap/m/messagebundle_en.properties +21 -3
  327. package/src/sap/m/messagebundle_en_GB.properties +21 -3
  328. package/src/sap/m/messagebundle_en_US_sappsd.properties +20 -2
  329. package/src/sap/m/messagebundle_en_US_saprigi.properties +18 -2
  330. package/src/sap/m/messagebundle_en_US_saptrc.properties +20 -2
  331. package/src/sap/m/messagebundle_es.properties +20 -2
  332. package/src/sap/m/messagebundle_es_MX.properties +19 -1
  333. package/src/sap/m/messagebundle_et.properties +19 -1
  334. package/src/sap/m/messagebundle_fi.properties +23 -5
  335. package/src/sap/m/messagebundle_fr.properties +20 -2
  336. package/src/sap/m/messagebundle_fr_CA.properties +21 -3
  337. package/src/sap/m/messagebundle_hi.properties +21 -3
  338. package/src/sap/m/messagebundle_hr.properties +23 -5
  339. package/src/sap/m/messagebundle_hu.properties +21 -3
  340. package/src/sap/m/messagebundle_id.properties +21 -3
  341. package/src/sap/m/messagebundle_it.properties +20 -2
  342. package/src/sap/m/messagebundle_iw.properties +21 -3
  343. package/src/sap/m/messagebundle_ja.properties +20 -2
  344. package/src/sap/m/messagebundle_kk.properties +19 -1
  345. package/src/sap/m/messagebundle_ko.properties +27 -9
  346. package/src/sap/m/messagebundle_lt.properties +19 -1
  347. package/src/sap/m/messagebundle_lv.properties +19 -1
  348. package/src/sap/m/messagebundle_ms.properties +20 -2
  349. package/src/sap/m/messagebundle_nl.properties +33 -15
  350. package/src/sap/m/messagebundle_no.properties +21 -3
  351. package/src/sap/m/messagebundle_pl.properties +20 -2
  352. package/src/sap/m/messagebundle_pt.properties +24 -6
  353. package/src/sap/m/messagebundle_pt_PT.properties +19 -1
  354. package/src/sap/m/messagebundle_ro.properties +20 -2
  355. package/src/sap/m/messagebundle_ru.properties +20 -2
  356. package/src/sap/m/messagebundle_sh.properties +20 -2
  357. package/src/sap/m/messagebundle_sk.properties +19 -1
  358. package/src/sap/m/messagebundle_sl.properties +20 -2
  359. package/src/sap/m/messagebundle_sv.properties +19 -1
  360. package/src/sap/m/messagebundle_th.properties +52 -34
  361. package/src/sap/m/messagebundle_tr.properties +23 -5
  362. package/src/sap/m/messagebundle_uk.properties +20 -2
  363. package/src/sap/m/messagebundle_vi.properties +20 -2
  364. package/src/sap/m/messagebundle_zh_CN.properties +20 -2
  365. package/src/sap/m/messagebundle_zh_TW.properties +19 -1
  366. package/src/sap/m/p13n/AbstractContainer.js +7 -7
  367. package/src/sap/m/p13n/AbstractContainerItem.js +4 -4
  368. package/src/sap/m/p13n/BasePanel.js +8 -7
  369. package/src/sap/m/p13n/Container.js +3 -3
  370. package/src/sap/m/p13n/Engine.js +1254 -0
  371. package/src/sap/m/p13n/FlexUtil.js +161 -0
  372. package/src/sap/m/p13n/GroupController.js +145 -0
  373. package/src/sap/m/p13n/GroupPanel.js +12 -5
  374. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  375. package/src/sap/m/p13n/PersistenceProvider.js +160 -0
  376. package/src/sap/m/p13n/Popup.js +49 -12
  377. package/src/sap/m/p13n/QueryPanel.js +3 -3
  378. package/src/sap/m/p13n/SelectionController.js +548 -0
  379. package/src/sap/m/p13n/SelectionPanel.js +15 -3
  380. package/src/sap/m/p13n/SortController.js +153 -0
  381. package/src/sap/m/p13n/SortPanel.js +13 -3
  382. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  383. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  384. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  385. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  386. package/src/sap/m/p13n/modification/ModificationHandler.js +143 -0
  387. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  388. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +147 -0
  389. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  390. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  391. package/src/sap/m/p13n/modules/xConfigAPI.js +288 -0
  392. package/src/sap/m/plugins/CellSelector.js +741 -0
  393. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  394. package/src/sap/m/plugins/DataStateIndicator.js +2 -2
  395. package/src/sap/m/plugins/PasteProvider.js +1 -1
  396. package/src/sap/m/plugins/PluginBase.js +4 -3
  397. package/src/sap/m/semantic/AddAction.js +1 -1
  398. package/src/sap/m/semantic/CancelAction.js +1 -1
  399. package/src/sap/m/semantic/DeleteAction.js +1 -1
  400. package/src/sap/m/semantic/DetailPage.js +1 -1
  401. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  402. package/src/sap/m/semantic/EditAction.js +1 -1
  403. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  404. package/src/sap/m/semantic/FilterAction.js +1 -1
  405. package/src/sap/m/semantic/FilterSelect.js +1 -1
  406. package/src/sap/m/semantic/FlagAction.js +1 -1
  407. package/src/sap/m/semantic/ForwardAction.js +1 -1
  408. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  409. package/src/sap/m/semantic/GroupAction.js +1 -1
  410. package/src/sap/m/semantic/GroupSelect.js +1 -1
  411. package/src/sap/m/semantic/MainAction.js +1 -1
  412. package/src/sap/m/semantic/MasterPage.js +1 -1
  413. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  414. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  415. package/src/sap/m/semantic/NegativeAction.js +1 -1
  416. package/src/sap/m/semantic/OpenInAction.js +1 -1
  417. package/src/sap/m/semantic/PositiveAction.js +1 -1
  418. package/src/sap/m/semantic/PrintAction.js +1 -1
  419. package/src/sap/m/semantic/SaveAction.js +1 -1
  420. package/src/sap/m/semantic/Segment.js +1 -1
  421. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  422. package/src/sap/m/semantic/SemanticButton.js +1 -1
  423. package/src/sap/m/semantic/SemanticConfiguration.js +3 -4
  424. package/src/sap/m/semantic/SemanticControl.js +1 -1
  425. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  426. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  427. package/src/sap/m/semantic/SemanticPage.js +1 -1
  428. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  429. package/src/sap/m/semantic/SemanticToggleButton.js +1 -3
  430. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  431. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  432. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  433. package/src/sap/m/semantic/ShareMenu.js +1 -1
  434. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  435. package/src/sap/m/semantic/SortAction.js +1 -1
  436. package/src/sap/m/semantic/SortSelect.js +1 -1
  437. package/src/sap/m/table/Util.js +14 -7
  438. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  439. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  440. package/src/sap/m/table/columnmenu/Item.js +1 -1
  441. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  442. package/src/sap/m/table/columnmenu/Menu.js +8 -2
  443. package/src/sap/m/table/columnmenu/QuickAction.js +1 -1
  444. package/src/sap/m/table/columnmenu/QuickActionBase.js +1 -1
  445. package/src/sap/m/table/columnmenu/QuickActionItem.js +1 -1
  446. package/src/sap/m/table/columnmenu/QuickGroup.js +21 -3
  447. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -1
  448. package/src/sap/m/table/columnmenu/QuickSort.js +1 -3
  449. package/src/sap/m/table/columnmenu/QuickSortItem.js +1 -3
  450. package/src/sap/m/table/columnmenu/QuickTotal.js +21 -3
  451. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  452. package/src/sap/m/themes/base/Breadcrumbs.less +6 -0
  453. package/src/sap/m/themes/base/Button.less +0 -1
  454. package/src/sap/m/themes/base/CellSelector.less +9 -0
  455. package/src/sap/m/themes/base/CheckBox.less +1 -0
  456. package/src/sap/m/themes/base/Dialog.less +1 -0
  457. package/src/sap/m/themes/base/DynamicDateRange.less +4 -0
  458. package/src/sap/m/themes/base/FeedContent.less +13 -5
  459. package/src/sap/m/themes/base/GenericTile.less +49 -9
  460. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  461. package/src/sap/m/themes/base/NewsContent.less +6 -0
  462. package/src/sap/m/themes/base/NumericContent.less +1 -1
  463. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  464. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  465. package/src/sap/m/themes/base/SelectList.less +0 -5
  466. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  467. package/src/sap/m/themes/base/SlideTile.less +35 -4
  468. package/src/sap/m/themes/base/Table.less +11 -2
  469. package/src/sap/m/themes/base/TileContent.less +17 -0
  470. package/src/sap/m/themes/base/library.source.less +1 -0
  471. package/src/sap/m/upload/UploadSet.js +110 -21
  472. package/src/sap/m/upload/UploadSetItem.js +18 -7
  473. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  474. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
  475. package/src/sap/m/upload/Uploader.js +1 -2
@@ -0,0 +1,161 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ ], function () {
8
+ "use strict";
9
+
10
+ var FlexUtil = {
11
+
12
+ getPropertySetterChanges: function(mDeltaInfo) {
13
+ var oControl = mDeltaInfo.control;
14
+ var aExistingState = mDeltaInfo.existingState;
15
+ var aChangedState = mDeltaInfo.changedState;
16
+ var sOperation = mDeltaInfo.operation;
17
+ var sSetAttribute = mDeltaInfo.deltaAttribute;
18
+
19
+ var aSetterChanges = [];
20
+
21
+ aChangedState.forEach(function(oItem){
22
+ //check if the provided state item holds the value to check for
23
+ if (oItem.hasOwnProperty(sSetAttribute)) {
24
+ var oExistingItem = aExistingState.find(function(oExisting){return oExisting.name == oItem.name;});
25
+
26
+ //compare to identify delta (only create a change if really necessary)
27
+ var vOldValue = oExistingItem && oExistingItem.hasOwnProperty(sSetAttribute) && oExistingItem[sSetAttribute];
28
+ var vNewValue = oItem[sSetAttribute];
29
+ var bValueChanged = vOldValue !== vNewValue;
30
+ if (bValueChanged) {
31
+ aSetterChanges.push(this.createChange(oControl, sOperation, {
32
+ name: oItem.name,
33
+ value: oItem[sSetAttribute]
34
+ }));
35
+ }
36
+ }
37
+ }.bind(this));
38
+
39
+ return aSetterChanges;
40
+ },
41
+
42
+ /**
43
+ * Method which reduces a propertyinfo map to changecontent relevant attributes.
44
+ * <b>Note:</b> This method determines the attributes stored in the changeContent.
45
+ *
46
+ * @param {object} oProperty Object containing all values prior to change creation
47
+ * @param {array} aDeltaAttributes Array containing all attributes that are necessary for the delta calculation
48
+ *
49
+ * @returns {object} Object containing reduced content
50
+ */
51
+ _getChangeContent: function (oProperty, aDeltaAttributes) {
52
+
53
+ var oChangeContent = {};
54
+
55
+ // Index
56
+ if (oProperty.index >= 0) {
57
+ oChangeContent.index = oProperty.index;
58
+ }
59
+
60
+ aDeltaAttributes.forEach(function(sAttribute) {
61
+ if (oProperty.hasOwnProperty(sAttribute)){
62
+ oChangeContent[sAttribute] = oProperty[sAttribute];
63
+ }
64
+ });
65
+
66
+ return oChangeContent;
67
+ },
68
+
69
+ _hasProperty: function(aPropertyInfo, sName) {
70
+ return aPropertyInfo.some(function(oProperty){
71
+ //First check unique name
72
+ var bValid = oProperty.name === sName || sName == "$search";
73
+
74
+ //Use path as Fallback
75
+ bValid = bValid ? bValid : oProperty.path === sName;
76
+
77
+ return bValid;
78
+ });
79
+ },
80
+
81
+ createChange: function(oControl, sOperation, oContent){
82
+ var oAddRemoveChange = {
83
+ selectorElement: oControl,
84
+ changeSpecificData: {
85
+ changeType: sOperation,
86
+ content: oContent
87
+ }
88
+ };
89
+ return oAddRemoveChange;
90
+ },
91
+
92
+ createConditionChange: function(sChangeType, oControl, sFieldPath, oCondition) {
93
+ delete oCondition.filtered;
94
+ var oConditionChange = {
95
+ selectorElement: oControl,
96
+ changeSpecificData: {
97
+ changeType: sChangeType,
98
+ content: {
99
+ name: sFieldPath,
100
+ condition: oCondition
101
+ }
102
+ }
103
+ };
104
+
105
+ return oConditionChange;
106
+ },
107
+
108
+ handleChanges: function (aChanges, bIgnoreVM, bUseStaticArea) {
109
+ return new Promise(function (resolve, reject) {
110
+ sap.ui.require([
111
+ "sap/ui/fl/write/api/ControlPersonalizationWriteAPI"
112
+ ], function (ControlPersonalizationWriteAPI) {
113
+ ControlPersonalizationWriteAPI.add({
114
+ changes: aChanges,
115
+ ignoreVariantManagement: bIgnoreVM,
116
+ useStaticArea: bUseStaticArea
117
+ }).then(function (aDirtyChanges) {
118
+ resolve(aDirtyChanges);
119
+ }, reject);
120
+ });
121
+ });
122
+ },
123
+
124
+ saveChanges: function (oControl, aDirtyChanges) {
125
+ return new Promise(function (resolve, reject) {
126
+ sap.ui.require([
127
+ "sap/ui/fl/write/api/ControlPersonalizationWriteAPI"
128
+ ], function (ControlPersonalizationWriteAPI) {
129
+ ControlPersonalizationWriteAPI.save({
130
+ selector: oControl, changes: aDirtyChanges
131
+ }).then(resolve);
132
+ });
133
+ });
134
+ },
135
+
136
+ restore: function(mPropertyBag) {
137
+ return new Promise(function (resolve, reject) {
138
+ sap.ui.require([
139
+ "sap/ui/fl/write/api/ControlPersonalizationWriteAPI"
140
+ ], function (ControlPersonalizationWriteAPI) {
141
+ ControlPersonalizationWriteAPI.restore(mPropertyBag).then(function () {
142
+ resolve();
143
+ }, reject);
144
+ });
145
+ });
146
+ },
147
+
148
+ reset: function(mPropertyBag) {
149
+ return new Promise(function (resolve, reject) {
150
+ sap.ui.require([
151
+ "sap/ui/fl/write/api/ControlPersonalizationWriteAPI"
152
+ ], function (ControlPersonalizationWriteAPI) {
153
+ ControlPersonalizationWriteAPI.reset(mPropertyBag).then(function () {
154
+ resolve();
155
+ }, reject);
156
+ });
157
+ });
158
+ }
159
+ };
160
+ return FlexUtil;
161
+ });
@@ -0,0 +1,145 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ 'sap/m/p13n/SelectionController', 'sap/m/p13n/GroupPanel', 'sap/m/p13n/modules/xConfigAPI'
8
+ ], function (BaseController, GroupPanel, xConfigAPI) {
9
+ "use strict";
10
+
11
+ /**
12
+ * Constructor for a new <code>GroupController</code>.
13
+ *
14
+ * @param {string} [sId] ID for the new control, generated automatically if no ID is given
15
+ * @param {object} [mSettings] Initial settings for the new control
16
+ * @param {sap.ui.core.Control} mSettings.control The control instance to be personalized by this controller
17
+ *
18
+ * @class
19
+ * The <code>GroupController</code> serves as base class to create sort specific personalization implementations.
20
+ *
21
+ * @extends sap.ui.base.Object
22
+ *
23
+ * @author SAP SE
24
+ * @version 1.105.0
25
+ *
26
+ * @public
27
+ * @experimental
28
+ * @since 1.104
29
+ * @alias sap.m.p13n.GroupController
30
+ */
31
+ var GroupController = BaseController.extend("sap.m.p13n.subcontroller.GroupController");
32
+
33
+ GroupController.prototype.getStateKey = function () {
34
+ return "groupLevels";
35
+ };
36
+
37
+ GroupController.prototype.getCurrentState = function(bExternalize) {
38
+ var oXConfig = xConfigAPI.readConfig(this.getAdaptationControl()) || {};
39
+ var aSortConditions = oXConfig.hasOwnProperty("properties") ? oXConfig.properties.groupConditions : [];
40
+
41
+ return aSortConditions || [];
42
+ };
43
+
44
+ GroupController.prototype.initAdaptationUI = function(oPropertyHelper){
45
+ var oGroupPanel = new GroupPanel();
46
+ var oAdaptationData = this.mixInfoAndState(oPropertyHelper);
47
+ var oAdaptationControl = this.getAdaptationControl();
48
+
49
+ if (oAdaptationControl.isA("sap.m.Table")) {
50
+ oGroupPanel.setQueryLimit(1);
51
+ }
52
+
53
+ oGroupPanel.setP13nData(oAdaptationData.items);
54
+ this._oPanel = oGroupPanel;
55
+
56
+ return Promise.resolve(oGroupPanel);
57
+ };
58
+
59
+ GroupController.prototype.model2State = function() {
60
+ var aItems = [];
61
+ this._oPanel.getP13nData(true).forEach(function(oItem){
62
+ if (oItem.grouped){
63
+ aItems.push({
64
+ key: oItem.key
65
+ });
66
+ }
67
+ });
68
+ return aItems;
69
+ };
70
+
71
+ GroupController.prototype.getChangeOperations = function () {
72
+ return {
73
+ add: "addGroup",
74
+ remove: "removeGroup",
75
+ move: "moveGroup"
76
+ };
77
+ };
78
+
79
+ GroupController.prototype._getPresenceAttribute = function () {
80
+ return "grouped";
81
+ };
82
+
83
+ GroupController.prototype._createAddRemoveChange = function(oControl, sOperation, oContent){
84
+ var oAddRemoveChange = {
85
+ selectorElement: oControl,
86
+ changeSpecificData: {
87
+ changeType: sOperation,
88
+ content: oContent
89
+ }
90
+ };
91
+ return oAddRemoveChange;
92
+ };
93
+
94
+ GroupController.prototype._createMoveChange = function(sId, sPropertykey, iNewIndex, sMoveOperation, oControl, bPersistId){
95
+ var oMoveChange = {
96
+ selectorElement: oControl,
97
+ changeSpecificData: {
98
+ changeType: sMoveOperation,
99
+ content: {
100
+ id: sId,
101
+ key: sPropertykey,
102
+ index: iNewIndex
103
+ }
104
+ }
105
+ };
106
+
107
+ if (!bPersistId) {
108
+ delete oMoveChange.changeSpecificData.content.id;
109
+ }
110
+
111
+ return oMoveChange;
112
+ };
113
+
114
+ GroupController.prototype.mixInfoAndState = function(oPropertyHelper) {
115
+
116
+ var aItemState = this.getCurrentState();
117
+ var mItemState = this.arrayToMap(aItemState);
118
+ var oController = this.getAdaptationControl();
119
+ var oAggregations = oController.getAggregateConditions ? oController.getAggregateConditions() || {} : {};
120
+
121
+ var oP13nData = this.prepareAdaptationData(oPropertyHelper, function(mItem, oProperty){
122
+ var oExisting = mItemState[oProperty.key];
123
+ mItem.grouped = !!oExisting;
124
+ mItem.position = oExisting ? oExisting.position : -1;
125
+ return !(oProperty.groupable === false || oAggregations[oProperty.key]);
126
+ });
127
+
128
+ this.sortP13nData({
129
+ visible: "grouped",
130
+ position: "position"
131
+ }, oP13nData.items);
132
+
133
+ oP13nData.presenceAttribute = this._getPresenceAttribute();
134
+ oP13nData.items.forEach(function(oItem){delete oItem.position;});
135
+
136
+ return oP13nData;
137
+ };
138
+
139
+ GroupController.prototype.applyChange = function(aSortState){
140
+ return Promise.resolve();
141
+ };
142
+
143
+ return GroupController;
144
+
145
+ });
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -21,17 +21,24 @@ sap.ui.define([
21
21
  * @extends sap.m.p13n.QueryPanel
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.103.0
24
+ * @version 1.105.0
25
25
  *
26
26
  * @public
27
- * @experimental Since 1.96.
28
- * @since 1.96
27
+ * @experimental Since 1.104. Please note that the API of this control is not yet finalized!
29
28
  * @alias sap.m.p13n.GroupPanel
30
29
  */
31
30
  var GroupPanel = QueryPanel.extend("sap.m.p13n.GroupPanel", {
32
31
  metadata: {
33
32
  library: "sap.m",
34
33
  properties: {
34
+ /**
35
+ * A short text describing the panel.
36
+ * <b>Note:</b> This text will only be displayed if the panel is being used in a <code>sap.m.p13n.Popup</code>.
37
+ */
38
+ title: {
39
+ type: "string",
40
+ defaultValue: sap.ui.getCore().getLibraryResourceBundle("sap.m").getText("p13n.DEFAULT_TITLE_GROUP")
41
+ },
35
42
  /**
36
43
  * Toggles an additional checkbox in the group panel to define whether items are made visible.
37
44
  */
@@ -0,0 +1,35 @@
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
+ sap.ui.define([
8
+ "sap/ui/base/Object"
9
+ ], function (BaseObject) {
10
+ "use strict";
11
+
12
+ var MetadataHelper = BaseObject.extend("sap.m.p13n.MetadataHelper", {
13
+ constructor: function(aProperties) {
14
+ BaseObject.apply(this, arguments);
15
+ this._aProperties = aProperties;
16
+ }
17
+ });
18
+
19
+ MetadataHelper.prototype.getProperties = function() {
20
+ return this._aProperties;
21
+ };
22
+
23
+ MetadataHelper.prototype.getProperty = function(sKey) {
24
+ return this._aProperties.find(function(oProp){
25
+ return oProp.key === sKey;
26
+ });
27
+ };
28
+
29
+ MetadataHelper.prototype.getPath = function(sKey) {
30
+ return this.getProperty(sKey).path;
31
+ };
32
+
33
+ return MetadataHelper;
34
+
35
+ });
@@ -0,0 +1,160 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ "sap/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) {
9
+ "use strict";
10
+
11
+ /**
12
+ * The <code>PersistenceProvider</code> control provides certain persistence capabilities, such as transient personalization and global persistence.
13
+ * The <code>PersistenceProvider</code> control can be used in a similar way as <code>sap.ui.fl.variants.VariantManagement</code>,
14
+ * since any control that is a direct or indirect descendant of the provided <code>for</code> association is affected by this configuration.
15
+ * For example, this controller can be used for <code>sap.ui.mdc</code> controls.
16
+ *
17
+ * @private
18
+ *
19
+ * @experimental
20
+ * @since 1.104
21
+ */
22
+ var PersistenceProvider = CoreControl.extend("sap.m.p13n.PersistenceProvider", /** @lends sap.ui.mdc.p13n.PersistenceProvider.prototype */ {
23
+ metadata: {
24
+ library: "sap.m",
25
+ designtime: "sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime",
26
+ properties: {
27
+ /**
28
+ * Provides the mode setting for the <code>PersistenceProvider</code>.
29
+ * Allowed options are {@link sap.ui.mdc.enum.PersistenceMode}
30
+ */
31
+ mode: {
32
+ type: "sap.m.p13n.enum.PersistenceMode",
33
+ group: "Data",
34
+ defaultValue: mode.Auto
35
+ }
36
+ },
37
+ associations: {
38
+ /**
39
+ * Contains the controls for which the variant management is responsible.
40
+ */
41
+ "for": {
42
+ type: "sap.ui.core.Control",
43
+ multiple: true
44
+ }
45
+ }
46
+ },
47
+ renderer: {
48
+ apiVersion: 2,
49
+ render: function(oRm, oControl) {
50
+ oRm.openStart("div", oControl);
51
+ oRm.openEnd();
52
+ oRm.close("div");
53
+ }
54
+ }
55
+ });
56
+
57
+ PersistenceProvider.prototype.init = function () {
58
+ CoreControl.prototype.init.apply(this, arguments);
59
+ this.attachModelContextChange(this._setModel, this);
60
+
61
+ this._oModelPromise = new Promise(function (resolve, reject) {
62
+ this._fnResolveModel = resolve;
63
+ }.bind(this));
64
+ };
65
+
66
+ PersistenceProvider.prototype._setModel = function () {
67
+
68
+ var oModel = this.getModel(Utils.VARIANT_MODEL_NAME);
69
+ if (oModel) {
70
+ this._fnResolveModel(oModel);
71
+ }
72
+ };
73
+
74
+ PersistenceProvider.prototype.applySettings = function () {
75
+ CoreControl.prototype.applySettings.apply(this, arguments);
76
+ this._bmodeLocked = true;
77
+
78
+ if (this.getMode() === mode.Transient) {
79
+ var oVM = new VariantManagement(this.getId() + "--vm", {"for": this.getAssociation("for")});
80
+ this._oModelPromise.then(function (oModel) {
81
+ oVM.setModel(oModel, Utils.VARIANT_MODEL_NAME);
82
+ });
83
+ this._oWrapper = new VerticalLayout(this.getId() + "--accWrapper", {
84
+ visible: true,
85
+ content: [
86
+ oVM
87
+ ]
88
+ });
89
+
90
+ this._oWrapper.onAfterRendering = function() {
91
+ VerticalLayout.prototype.onAfterRendering.apply(this, arguments);
92
+ this.getDomRef().setAttribute("aria-hidden", true);
93
+ };
94
+
95
+ var oStatic = sap.ui.getCore().getUIArea(sap.ui.getCore().getStaticAreaRef());
96
+ oStatic.addContent(this._oWrapper);
97
+ }
98
+
99
+ return this;
100
+ };
101
+
102
+ PersistenceProvider.prototype.addFor = function (sControlId) {
103
+ this.addAssociation("for", sControlId);
104
+
105
+ var oVM = sap.ui.getCore().byId(this.getId() + "--vm");
106
+ if (this.getMode() === mode.Transient && oVM) {
107
+ oVM.addFor(sControlId);
108
+ }
109
+
110
+ return this;
111
+ };
112
+
113
+ PersistenceProvider.prototype.removeFor = function (sControlId) {
114
+ this.removeAssociation("for", sControlId);
115
+
116
+ var oVM = sap.ui.getCore().byId(this.getId() + "--vm");
117
+ if (this.getMode() === mode.Transient && oVM) {
118
+ oVM.removeFor(sControlId);
119
+ }
120
+
121
+ return this;
122
+ };
123
+
124
+ /**
125
+ * Set the mode for the <code>PersistenceProvider</code>.
126
+ *
127
+ * @override
128
+ * @private
129
+ * @ui5-restricted sap.fe
130
+ * @MDC_PUBLIC_CANDIDATE
131
+ */
132
+ PersistenceProvider.prototype.setMode = function (sValue) {
133
+
134
+ if (this._bmodeLocked && sValue !== this.getMode()) {
135
+ throw new Error("mode is a final property.");
136
+ }
137
+
138
+ this.setProperty("mode", sValue);
139
+
140
+ return this;
141
+ };
142
+
143
+ PersistenceProvider.prototype.exit = function () {
144
+ if (this._oWrapper) {
145
+ var oStatic = sap.ui.getCore().getUIArea(sap.ui.getCore().getStaticAreaRef());
146
+ oStatic.removeContent(this._oWrapper);
147
+
148
+ this._oWrapper.destroy();
149
+ this._oWrapper = null;
150
+ }
151
+
152
+ this._oModelPromise = null;
153
+ this._fnResolveModel = null;
154
+ this._bmodeLocked = null;
155
+
156
+ CoreControl.prototype.exit.apply(this, arguments);
157
+ };
158
+
159
+ return PersistenceProvider;
160
+ });
@@ -1,8 +1,8 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
- */
5
+ */
6
6
  sap.ui.define([
7
7
  "sap/ui/core/Control",
8
8
  "sap/m/Button",
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Control
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.103.0
37
+ * @version 1.105.0
38
38
  *
39
39
  * @public
40
40
  * @experimental Since 1.97.
@@ -149,6 +149,22 @@ sap.ui.define([
149
149
  return this;
150
150
  };
151
151
 
152
+ /**
153
+ * Set the reset functionality callback
154
+ * <b>Note:</b> The Reset button will only be shown in case this callback is provided.
155
+ *
156
+ * @param {function} fnReset callback that will be executed once a reset has been triggered.
157
+ * @returns {sap.m.p13n.Popup} The <code>Popup</code> instance
158
+ */
159
+ Popup.prototype.setReset = function(fnReset) {
160
+ if (this._oPopup) {
161
+ this._oPopup.setCustomHeader(this._createTitle());
162
+ this._oPopup.invalidate();
163
+ }
164
+ this.setProperty("reset", fnReset);
165
+ return this;
166
+ };
167
+
152
168
  /**
153
169
  * Opens the <code>Popup</code> control.
154
170
  *
@@ -184,9 +200,10 @@ sap.ui.define([
184
200
  *
185
201
  * @public
186
202
  * @param {sap.m.p13n.IContent} oPanel The panel instance
203
+ * @param {string} [sKey] Optional key to be used for the panel registration instead of using the id
187
204
  * @returns {sap.m.p13n.Popup} The popup instance
188
205
  */
189
- Popup.prototype.addPanel = function(oPanel) {
206
+ Popup.prototype.addPanel = function(oPanel, sKey) {
190
207
  var oPanelTitleBindingInfo = oPanel.getBindingInfo("title"), oBindingInfo;
191
208
  if (oPanelTitleBindingInfo && oPanelTitleBindingInfo.parts) {
192
209
  oBindingInfo = {
@@ -194,8 +211,8 @@ sap.ui.define([
194
211
  };
195
212
  }
196
213
  this._getContainer().addView(new AbstractContainerItem({
197
- key: oPanel.getId(),
198
- text: oBindingInfo || oPanel.getTitle(), //oBindinfInfo is undefined in case no binding is provided
214
+ key: sKey || oPanel.getId(),
215
+ text: oBindingInfo || (oPanel.getTitle instanceof Function ? oPanel.getTitle() : undefined), //oBindinfInfo is undefined in case no binding is provided
199
216
  content: oPanel
200
217
  }));
201
218
  this._aPanels.push(oPanel);
@@ -211,10 +228,19 @@ sap.ui.define([
211
228
  */
212
229
  Popup.prototype.removePanel = function(oPanel) {
213
230
  this._aPanels.splice(this._aPanels.indexOf(oPanel), 1);
214
- this._getContainer().removeView(this._getContainer().getView(oPanel.getId()));
231
+ this._getContainer().removeView(this._getContainer().getView(oPanel));
215
232
  return this;
216
233
  };
217
234
 
235
+ /**
236
+ * Removes all panels from the <code>panels</code> aggregation
237
+ */
238
+ Popup.prototype.removeAllPanels = function() {
239
+ this.getPanels().forEach(function(oPanel){
240
+ this.removePanel(oPanel);
241
+ }.bind(this));
242
+ };
243
+
218
244
  /**
219
245
  * Removes the current panels in the <code>panels</code> aggregation.
220
246
  * @public
@@ -226,7 +252,12 @@ sap.ui.define([
226
252
 
227
253
  Popup.prototype._createContainer = function(mDialogSettings) {
228
254
  mDialogSettings = mDialogSettings ? mDialogSettings : {};
229
- return this["_create" + this.getMode()].call(this, mDialogSettings);
255
+ var oPopup = this["_create" + this.getMode()].call(this, mDialogSettings);
256
+ oPopup.addStyleClass("sapMP13nPopup");
257
+ oPopup.isPopupAdaptationAllowed = function () {
258
+ return false;
259
+ };
260
+ return oPopup;
230
261
  };
231
262
 
232
263
  Popup.prototype._createResponsivePopover = function(mDialogSettings) {
@@ -239,7 +270,10 @@ sap.ui.define([
239
270
  resizable: mDialogSettings.hasOwnProperty("resizable") ? mDialogSettings.resizable : true,
240
271
  contentHeight: mDialogSettings.contentHeight ? mDialogSettings.contentHeight : "35rem",
241
272
  placement: mDialogSettings.placement ? mDialogSettings.placement : "Bottom",
242
- content: this._getContainer()
273
+ content: this.getPanels().length > 1 ? this._getContainer() : this.getPanels()[0],
274
+ afterClose: function() {
275
+ this._onClose(oPopover, "AutoClose");
276
+ }.bind(this)
243
277
  });
244
278
 
245
279
  oPopover.setCustomHeader(this._createTitle());
@@ -260,7 +294,10 @@ sap.ui.define([
260
294
  draggable: true,
261
295
  resizable: true,
262
296
  stretch: Device.system.phone,
263
- content: this._getContainer(),
297
+ content: this.getPanels().length > 1 ? this._getContainer() : this.getPanels()[0],
298
+ escapeHandler: function() {
299
+ this._onClose(oContainer, "Escape");
300
+ },
264
301
  buttons: [
265
302
  new Button(this.getId() + "-confirmBtn", {
266
303
  text: mDialogSettings.confirm && mDialogSettings.confirm.text ? mDialogSettings.confirm.text : oResourceBundle.getText("p13n.POPUP_OK"),
@@ -295,7 +332,7 @@ sap.ui.define([
295
332
 
296
333
  var oBar;
297
334
 
298
- if (fnReset) {
335
+ if (fnReset instanceof Function) {
299
336
 
300
337
  oBar = new Bar({
301
338
  contentLeft: [
@@ -1,5 +1,5 @@
1
- /*
2
- * ! OpenUI5
1
+ /*!
2
+ * OpenUI5
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.m.p13n.BasePanel
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.103.0
27
+ * @version 1.105.0
28
28
  *
29
29
  * @private
30
30
  * @ui5-restricted