@openui5/sap.m 1.103.1 → 1.104.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 (431) hide show
  1. package/.eslintrc.json +2 -3
  2. package/.reuse/dep5 +17 -0
  3. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  4. package/THIRDPARTY.txt +35 -2
  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 +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 +11 -10
  15. package/src/sap/m/Breadcrumbs.js +2 -2
  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 +3 -2
  19. package/src/sap/m/Carousel.js +1 -1
  20. package/src/sap/m/CarouselLayout.js +1 -1
  21. package/src/sap/m/CheckBox.js +1 -1
  22. package/src/sap/m/ColorPalette.js +1 -1
  23. package/src/sap/m/ColorPalettePopover.js +1 -1
  24. package/src/sap/m/Column.js +1 -1
  25. package/src/sap/m/ColumnHeaderPopover.js +1 -1
  26. package/src/sap/m/ColumnListItem.js +1 -1
  27. package/src/sap/m/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 +14 -22
  40. package/src/sap/m/DateRangeSelection.js +45 -38
  41. package/src/sap/m/DateTimeField.js +87 -20
  42. package/src/sap/m/DateTimeInput.js +1 -1
  43. package/src/sap/m/DateTimePicker.js +40 -21
  44. package/src/sap/m/Dialog.js +1 -1
  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 +6 -4
  49. package/src/sap/m/DynamicDateRange.js +3 -2
  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 +12 -9
  65. package/src/sap/m/GenericTileLineModeRenderer.js +4 -4
  66. package/src/sap/m/GenericTileRenderer.js +16 -4
  67. package/src/sap/m/GroupHeaderListItem.js +1 -1
  68. package/src/sap/m/GrowingEnablement.js +11 -4
  69. package/src/sap/m/GrowingList.js +1 -1
  70. package/src/sap/m/HBox.js +1 -1
  71. package/src/sap/m/HeaderContainer.js +3 -3
  72. package/src/sap/m/HeaderContainerItemNavigator.js +1 -1
  73. package/src/sap/m/IconTabBar.js +1 -1
  74. package/src/sap/m/IconTabBarSelectList.js +1 -1
  75. package/src/sap/m/IconTabFilter.js +1 -1
  76. package/src/sap/m/IconTabFilterExpandButtonBadge.js +1 -1
  77. package/src/sap/m/IconTabHeader.js +7 -2
  78. package/src/sap/m/IconTabSeparator.js +1 -1
  79. package/src/sap/m/IllustratedMessage.js +63 -24
  80. package/src/sap/m/IllustratedMessageRenderer.js +10 -6
  81. package/src/sap/m/Illustration.js +1 -1
  82. package/src/sap/m/IllustrationPool.js +1 -0
  83. package/src/sap/m/Image.js +1 -1
  84. package/src/sap/m/ImageContent.js +1 -1
  85. package/src/sap/m/Input.js +1 -4
  86. package/src/sap/m/InputBase.js +1 -1
  87. package/src/sap/m/InputListItem.js +1 -1
  88. package/src/sap/m/Label.js +1 -1
  89. package/src/sap/m/LightBox.js +1 -1
  90. package/src/sap/m/LightBoxItem.js +1 -1
  91. package/src/sap/m/Link.js +41 -5
  92. package/src/sap/m/LinkRenderer.js +18 -10
  93. package/src/sap/m/List.js +1 -1
  94. package/src/sap/m/ListBase.js +4 -1
  95. package/src/sap/m/ListItemBase.js +10 -2
  96. package/src/sap/m/MaskEnabler.js +52 -2
  97. package/src/sap/m/MaskInput.js +23 -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 +4 -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 +1 -1
  112. package/src/sap/m/MultiEditField.js +1 -1
  113. package/src/sap/m/MultiInput.js +1 -1
  114. package/src/sap/m/NavContainer.js +20 -16
  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/NumericContent.js +1 -1
  121. package/src/sap/m/NumericInput.js +1 -1
  122. package/src/sap/m/ObjectAttribute.js +1 -1
  123. package/src/sap/m/ObjectHeader.js +1 -1
  124. package/src/sap/m/ObjectIdentifier.js +1 -1
  125. package/src/sap/m/ObjectListItem.js +1 -1
  126. package/src/sap/m/ObjectMarker.js +1 -1
  127. package/src/sap/m/ObjectNumber.js +1 -1
  128. package/src/sap/m/ObjectNumberRenderer.js +10 -3
  129. package/src/sap/m/ObjectStatus.js +1 -1
  130. package/src/sap/m/OverflowToolbar.js +1 -1
  131. package/src/sap/m/OverflowToolbarAssociativePopover.js +1 -1
  132. package/src/sap/m/OverflowToolbarButton.js +1 -1
  133. package/src/sap/m/OverflowToolbarLayoutData.js +1 -1
  134. package/src/sap/m/OverflowToolbarToggleButton.js +1 -1
  135. package/src/sap/m/P13nAnyFilterItem.js +1 -1
  136. package/src/sap/m/P13nColumnsItem.js +1 -1
  137. package/src/sap/m/P13nColumnsPanel.js +1 -1
  138. package/src/sap/m/P13nConditionPanel.js +1 -1
  139. package/src/sap/m/P13nDialog.js +1 -1
  140. package/src/sap/m/P13nDimMeasureItem.js +1 -1
  141. package/src/sap/m/P13nDimMeasurePanel.js +1 -1
  142. package/src/sap/m/P13nFilterItem.js +1 -1
  143. package/src/sap/m/P13nFilterPanel.js +1 -1
  144. package/src/sap/m/P13nGroupItem.js +1 -1
  145. package/src/sap/m/P13nGroupPanel.js +1 -1
  146. package/src/sap/m/P13nItem.js +1 -1
  147. package/src/sap/m/P13nPanel.js +1 -1
  148. package/src/sap/m/P13nSelectionItem.js +1 -1
  149. package/src/sap/m/P13nSelectionPanel.js +1 -1
  150. package/src/sap/m/P13nSortItem.js +1 -1
  151. package/src/sap/m/P13nSortPanel.js +1 -1
  152. package/src/sap/m/PDFViewer.js +2 -2
  153. package/src/sap/m/PDFViewerRenderer.js +1 -0
  154. package/src/sap/m/Page.js +1 -1
  155. package/src/sap/m/PageAccessibleLandmarkInfo.js +1 -1
  156. package/src/sap/m/PagingButton.js +1 -1
  157. package/src/sap/m/Panel.js +1 -1
  158. package/src/sap/m/PlanningCalendar.js +1 -1
  159. package/src/sap/m/PlanningCalendarHeader.js +1 -1
  160. package/src/sap/m/PlanningCalendarLegend.js +1 -1
  161. package/src/sap/m/PlanningCalendarRow.js +1 -1
  162. package/src/sap/m/PlanningCalendarView.js +1 -1
  163. package/src/sap/m/Popover.js +4 -4
  164. package/src/sap/m/ProgressIndicator.js +1 -1
  165. package/src/sap/m/ProgressIndicatorRenderer.js +6 -3
  166. package/src/sap/m/PullToRefresh.js +1 -1
  167. package/src/sap/m/QuickView.js +1 -1
  168. package/src/sap/m/QuickViewBase.js +1 -1
  169. package/src/sap/m/QuickViewCard.js +1 -1
  170. package/src/sap/m/QuickViewGroup.js +1 -1
  171. package/src/sap/m/QuickViewGroupElement.js +1 -1
  172. package/src/sap/m/QuickViewPage.js +1 -1
  173. package/src/sap/m/RadioButton.js +1 -1
  174. package/src/sap/m/RadioButtonGroup.js +1 -1
  175. package/src/sap/m/RangeSlider.js +1 -1
  176. package/src/sap/m/RatingIndicator.js +8 -1
  177. package/src/sap/m/RatingIndicatorRenderer.js +13 -4
  178. package/src/sap/m/ResponsivePopover.js +1 -1
  179. package/src/sap/m/ResponsiveScale.js +1 -1
  180. package/src/sap/m/ScrollBar.js +1 -1
  181. package/src/sap/m/ScrollContainer.js +1 -1
  182. package/src/sap/m/SearchField.js +1 -1
  183. package/src/sap/m/SegmentedButton.js +1 -1
  184. package/src/sap/m/SegmentedButtonItem.js +1 -1
  185. package/src/sap/m/Select.js +5 -12
  186. package/src/sap/m/SelectDialog.js +1 -1
  187. package/src/sap/m/SelectDialogBase.js +1 -1
  188. package/src/sap/m/SelectList.js +1 -1
  189. package/src/sap/m/SelectionDetails.js +1 -1
  190. package/src/sap/m/SelectionDetailsFacade.js +2 -2
  191. package/src/sap/m/SelectionDetailsItem.js +1 -1
  192. package/src/sap/m/SelectionDetailsItemLine.js +1 -1
  193. package/src/sap/m/Shell.js +1 -1
  194. package/src/sap/m/SimpleFixFlex.js +1 -1
  195. package/src/sap/m/SinglePlanningCalendar.js +1 -1
  196. package/src/sap/m/SinglePlanningCalendarDayView.js +1 -1
  197. package/src/sap/m/SinglePlanningCalendarGrid.js +1 -1
  198. package/src/sap/m/SinglePlanningCalendarMonthGrid.js +1 -1
  199. package/src/sap/m/SinglePlanningCalendarMonthView.js +1 -1
  200. package/src/sap/m/SinglePlanningCalendarView.js +1 -1
  201. package/src/sap/m/SinglePlanningCalendarWeekView.js +1 -1
  202. package/src/sap/m/SinglePlanningCalendarWorkWeekView.js +1 -1
  203. package/src/sap/m/SlideTile.js +1 -1
  204. package/src/sap/m/Slider.js +1 -1
  205. package/src/sap/m/SliderTooltip.js +1 -1
  206. package/src/sap/m/SliderTooltipBase.js +1 -1
  207. package/src/sap/m/SliderTooltipContainer.js +1 -1
  208. package/src/sap/m/SplitApp.js +1 -1
  209. package/src/sap/m/SplitButton.js +1 -1
  210. package/src/sap/m/SplitContainer.js +1 -1
  211. package/src/sap/m/StandardDynamicDateOption.js +1 -1
  212. package/src/sap/m/StandardListItem.js +1 -1
  213. package/src/sap/m/StandardTile.js +1 -1
  214. package/src/sap/m/StandardTreeItem.js +1 -1
  215. package/src/sap/m/StepInput.js +1 -1
  216. package/src/sap/m/SuggestionItem.js +1 -1
  217. package/src/sap/m/SuggestionsPopover.js +1 -1
  218. package/src/sap/m/Switch.js +1 -1
  219. package/src/sap/m/TabContainer.js +1 -1
  220. package/src/sap/m/TabContainerItem.js +1 -1
  221. package/src/sap/m/TabStrip.js +1 -1
  222. package/src/sap/m/TabStripItem.js +1 -1
  223. package/src/sap/m/Table.js +1 -1
  224. package/src/sap/m/TablePersoController.js +1 -1
  225. package/src/sap/m/TablePersoDialog.js +1 -1
  226. package/src/sap/m/TablePersoProvider.js +1 -1
  227. package/src/sap/m/TableSelectDialog.js +1 -1
  228. package/src/sap/m/Text.js +1 -1
  229. package/src/sap/m/TextArea.js +1 -1
  230. package/src/sap/m/Tile.js +1 -1
  231. package/src/sap/m/TileContainer.js +1 -1
  232. package/src/sap/m/TileContent.js +8 -9
  233. package/src/sap/m/TileContentRenderer.js +1 -1
  234. package/src/sap/m/TimePicker.js +43 -6
  235. package/src/sap/m/TimePickerClock.js +1 -1
  236. package/src/sap/m/TimePickerClocks.js +5 -3
  237. package/src/sap/m/TimePickerInputs.js +1 -1
  238. package/src/sap/m/TimePickerInternals.js +1 -1
  239. package/src/sap/m/TimePickerSlider.js +1 -1
  240. package/src/sap/m/TimePickerSliders.js +1 -1
  241. package/src/sap/m/Title.js +1 -1
  242. package/src/sap/m/TitlePropagationSupport.js +1 -1
  243. package/src/sap/m/ToggleButton.js +2 -2
  244. package/src/sap/m/Token.js +1 -1
  245. package/src/sap/m/Tokenizer.js +1 -1
  246. package/src/sap/m/Toolbar.js +1 -1
  247. package/src/sap/m/ToolbarLayoutData.js +1 -1
  248. package/src/sap/m/ToolbarSeparator.js +1 -1
  249. package/src/sap/m/ToolbarSpacer.js +1 -1
  250. package/src/sap/m/Tree.js +1 -1
  251. package/src/sap/m/TreeItemBase.js +1 -1
  252. package/src/sap/m/UploadCollection.js +2 -2
  253. package/src/sap/m/UploadCollectionItem.js +1 -1
  254. package/src/sap/m/UploadCollectionParameter.js +1 -1
  255. package/src/sap/m/UploadCollectionToolbarPlaceholder.js +1 -1
  256. package/src/sap/m/VBox.js +1 -1
  257. package/src/sap/m/ValueStateHeader.js +1 -1
  258. package/src/sap/m/VariantItem.js +160 -0
  259. package/src/sap/m/VariantManagement.js +610 -547
  260. package/src/sap/m/ViewSettingsCustomItem.js +1 -1
  261. package/src/sap/m/ViewSettingsCustomTab.js +1 -1
  262. package/src/sap/m/ViewSettingsDialog.js +1 -1
  263. package/src/sap/m/ViewSettingsFilterItem.js +1 -1
  264. package/src/sap/m/ViewSettingsItem.js +1 -1
  265. package/src/sap/m/VisibleItem.js +1 -1
  266. package/src/sap/m/WheelSlider.js +1 -1
  267. package/src/sap/m/WheelSliderContainer.js +1 -1
  268. package/src/sap/m/Wizard.js +1 -1
  269. package/src/sap/m/WizardProgressNavigator.js +1 -1
  270. package/src/sap/m/WizardStep.js +1 -1
  271. package/src/sap/m/changeHandler/AddTableColumn.js +1 -1
  272. package/src/sap/m/changeHandler/ChangeLinkTarget.js +1 -1
  273. package/src/sap/m/changeHandler/CombineButtons.js +1 -1
  274. package/src/sap/m/changeHandler/MoveTableColumns.js +2 -2
  275. package/src/sap/m/changeHandler/SelectIconTabBarFilter.js +1 -1
  276. package/src/sap/m/changeHandler/SplitMenuButton.js +1 -1
  277. package/src/sap/m/designtime/VariantManagement.designtime.js +34 -24
  278. package/src/sap/m/flexibility/EngineFlex.js +48 -0
  279. package/src/sap/m/library.js +29 -6
  280. package/src/sap/m/messagebundle.properties +23 -1
  281. package/src/sap/m/messagebundle_ar.properties +16 -5
  282. package/src/sap/m/messagebundle_bg.properties +11 -0
  283. package/src/sap/m/messagebundle_ca.properties +11 -0
  284. package/src/sap/m/messagebundle_cs.properties +11 -0
  285. package/src/sap/m/messagebundle_cy.properties +11 -0
  286. package/src/sap/m/messagebundle_da.properties +11 -0
  287. package/src/sap/m/messagebundle_de.properties +11 -0
  288. package/src/sap/m/messagebundle_el.properties +12 -1
  289. package/src/sap/m/messagebundle_en.properties +11 -0
  290. package/src/sap/m/messagebundle_en_GB.properties +11 -0
  291. package/src/sap/m/messagebundle_en_US_sappsd.properties +11 -0
  292. package/src/sap/m/messagebundle_en_US_saprigi.properties +9 -0
  293. package/src/sap/m/messagebundle_en_US_saptrc.properties +11 -0
  294. package/src/sap/m/messagebundle_es.properties +11 -0
  295. package/src/sap/m/messagebundle_es_MX.properties +11 -0
  296. package/src/sap/m/messagebundle_et.properties +11 -0
  297. package/src/sap/m/messagebundle_fi.properties +14 -3
  298. package/src/sap/m/messagebundle_fr.properties +11 -0
  299. package/src/sap/m/messagebundle_fr_CA.properties +11 -0
  300. package/src/sap/m/messagebundle_hi.properties +11 -0
  301. package/src/sap/m/messagebundle_hr.properties +15 -4
  302. package/src/sap/m/messagebundle_hu.properties +13 -2
  303. package/src/sap/m/messagebundle_id.properties +11 -0
  304. package/src/sap/m/messagebundle_it.properties +12 -1
  305. package/src/sap/m/messagebundle_iw.properties +12 -1
  306. package/src/sap/m/messagebundle_ja.properties +11 -0
  307. package/src/sap/m/messagebundle_kk.properties +11 -0
  308. package/src/sap/m/messagebundle_ko.properties +17 -6
  309. package/src/sap/m/messagebundle_lt.properties +11 -0
  310. package/src/sap/m/messagebundle_lv.properties +11 -0
  311. package/src/sap/m/messagebundle_ms.properties +11 -0
  312. package/src/sap/m/messagebundle_nl.properties +25 -14
  313. package/src/sap/m/messagebundle_no.properties +12 -1
  314. package/src/sap/m/messagebundle_pl.properties +12 -1
  315. package/src/sap/m/messagebundle_pt.properties +15 -4
  316. package/src/sap/m/messagebundle_pt_PT.properties +11 -0
  317. package/src/sap/m/messagebundle_ro.properties +11 -0
  318. package/src/sap/m/messagebundle_ru.properties +11 -0
  319. package/src/sap/m/messagebundle_sh.properties +11 -0
  320. package/src/sap/m/messagebundle_sk.properties +11 -0
  321. package/src/sap/m/messagebundle_sl.properties +11 -0
  322. package/src/sap/m/messagebundle_sv.properties +11 -0
  323. package/src/sap/m/messagebundle_th.properties +34 -23
  324. package/src/sap/m/messagebundle_tr.properties +11 -0
  325. package/src/sap/m/messagebundle_uk.properties +11 -0
  326. package/src/sap/m/messagebundle_vi.properties +11 -0
  327. package/src/sap/m/messagebundle_zh_CN.properties +11 -0
  328. package/src/sap/m/messagebundle_zh_TW.properties +11 -0
  329. package/src/sap/m/p13n/AbstractContainer.js +5 -5
  330. package/src/sap/m/p13n/AbstractContainerItem.js +2 -2
  331. package/src/sap/m/p13n/BasePanel.js +4 -3
  332. package/src/sap/m/p13n/Container.js +1 -1
  333. package/src/sap/m/p13n/Engine.js +1253 -0
  334. package/src/sap/m/p13n/FlexUtil.js +162 -0
  335. package/src/sap/m/p13n/GroupController.js +145 -0
  336. package/src/sap/m/p13n/GroupPanel.js +10 -3
  337. package/src/sap/m/p13n/MetadataHelper.js +35 -0
  338. package/src/sap/m/p13n/PersistenceProvider.js +135 -0
  339. package/src/sap/m/p13n/Popup.js +46 -9
  340. package/src/sap/m/p13n/QueryPanel.js +1 -1
  341. package/src/sap/m/p13n/SelectionController.js +563 -0
  342. package/src/sap/m/p13n/SelectionPanel.js +13 -1
  343. package/src/sap/m/p13n/SortController.js +153 -0
  344. package/src/sap/m/p13n/SortPanel.js +11 -1
  345. package/src/sap/m/p13n/enum/PersistenceMode.js +43 -0
  346. package/src/sap/m/p13n/handler/xConfigHandler.js +166 -0
  347. package/src/sap/m/p13n/modification/FlexModificationHandler.js +90 -0
  348. package/src/sap/m/p13n/modification/LocalStorageModificationHandler.js +75 -0
  349. package/src/sap/m/p13n/modification/ModificationHandler.js +133 -0
  350. package/src/sap/m/p13n/modules/AdaptationProvider.js +67 -0
  351. package/src/sap/m/p13n/modules/DefaultProviderRegistry.js +124 -0
  352. package/src/sap/m/p13n/modules/StateHandlerRegistry.js +101 -0
  353. package/src/sap/m/p13n/modules/UIManager.js +230 -0
  354. package/src/sap/m/p13n/modules/xConfigAPI.js +286 -0
  355. package/src/sap/m/plugins/ColumnResizer.js +15 -1
  356. package/src/sap/m/plugins/DataStateIndicator.js +2 -2
  357. package/src/sap/m/plugins/PasteProvider.js +1 -1
  358. package/src/sap/m/plugins/PluginBase.js +1 -1
  359. package/src/sap/m/semantic/AddAction.js +1 -1
  360. package/src/sap/m/semantic/CancelAction.js +1 -1
  361. package/src/sap/m/semantic/DeleteAction.js +1 -1
  362. package/src/sap/m/semantic/DetailPage.js +1 -1
  363. package/src/sap/m/semantic/DiscussInJamAction.js +1 -1
  364. package/src/sap/m/semantic/EditAction.js +1 -1
  365. package/src/sap/m/semantic/FavoriteAction.js +1 -1
  366. package/src/sap/m/semantic/FilterAction.js +1 -1
  367. package/src/sap/m/semantic/FilterSelect.js +1 -1
  368. package/src/sap/m/semantic/FlagAction.js +1 -1
  369. package/src/sap/m/semantic/ForwardAction.js +1 -1
  370. package/src/sap/m/semantic/FullscreenPage.js +1 -1
  371. package/src/sap/m/semantic/GroupAction.js +1 -1
  372. package/src/sap/m/semantic/GroupSelect.js +1 -1
  373. package/src/sap/m/semantic/MainAction.js +1 -1
  374. package/src/sap/m/semantic/MasterPage.js +1 -1
  375. package/src/sap/m/semantic/MessagesIndicator.js +1 -1
  376. package/src/sap/m/semantic/MultiSelectAction.js +1 -1
  377. package/src/sap/m/semantic/NegativeAction.js +1 -1
  378. package/src/sap/m/semantic/OpenInAction.js +1 -1
  379. package/src/sap/m/semantic/PositiveAction.js +1 -1
  380. package/src/sap/m/semantic/PrintAction.js +1 -1
  381. package/src/sap/m/semantic/SaveAction.js +1 -1
  382. package/src/sap/m/semantic/Segment.js +1 -1
  383. package/src/sap/m/semantic/SegmentedContainer.js +1 -1
  384. package/src/sap/m/semantic/SemanticButton.js +1 -1
  385. package/src/sap/m/semantic/SemanticConfiguration.js +1 -1
  386. package/src/sap/m/semantic/SemanticControl.js +1 -1
  387. package/src/sap/m/semantic/SemanticOverflowToolbarButton.js +1 -1
  388. package/src/sap/m/semantic/SemanticOverflowToolbarToggleButton.js +1 -1
  389. package/src/sap/m/semantic/SemanticPage.js +1 -1
  390. package/src/sap/m/semantic/SemanticSelect.js +1 -1
  391. package/src/sap/m/semantic/SemanticToggleButton.js +1 -1
  392. package/src/sap/m/semantic/SendEmailAction.js +1 -1
  393. package/src/sap/m/semantic/SendMessageAction.js +1 -1
  394. package/src/sap/m/semantic/ShareInJamAction.js +1 -1
  395. package/src/sap/m/semantic/ShareMenu.js +1 -1
  396. package/src/sap/m/semantic/ShareMenuPage.js +1 -1
  397. package/src/sap/m/semantic/SortAction.js +1 -1
  398. package/src/sap/m/semantic/SortSelect.js +1 -1
  399. package/src/sap/m/table/Util.js +8 -3
  400. package/src/sap/m/table/columnmenu/ActionItem.js +1 -1
  401. package/src/sap/m/table/columnmenu/Entry.js +1 -1
  402. package/src/sap/m/table/columnmenu/Item.js +1 -1
  403. package/src/sap/m/table/columnmenu/ItemBase.js +1 -1
  404. package/src/sap/m/table/columnmenu/Menu.js +8 -2
  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 +21 -1
  409. package/src/sap/m/table/columnmenu/QuickGroupItem.js +13 -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 +21 -1
  413. package/src/sap/m/table/columnmenu/QuickTotalItem.js +13 -1
  414. package/src/sap/m/themes/base/Breadcrumbs.less +6 -0
  415. package/src/sap/m/themes/base/CheckBox.less +1 -0
  416. package/src/sap/m/themes/base/Dialog.less +1 -0
  417. package/src/sap/m/themes/base/FeedContent.less +13 -5
  418. package/src/sap/m/themes/base/GenericTile.less +39 -9
  419. package/src/sap/m/themes/base/IllustratedMessage.less +7 -0
  420. package/src/sap/m/themes/base/NumericContent.less +1 -1
  421. package/src/sap/m/themes/base/ObjectStatus.less +2 -1
  422. package/src/sap/m/themes/base/OverflowToolbarAssociativePopover.less +5 -1
  423. package/src/sap/m/themes/base/SelectList.less +0 -5
  424. package/src/sap/m/themes/base/SinglePlanningCalendarGrid.less +7 -0
  425. package/src/sap/m/themes/base/SlideTile.less +20 -4
  426. package/src/sap/m/themes/base/Table.less +11 -1
  427. package/src/sap/m/themes/base/TileContent.less +17 -0
  428. package/src/sap/m/upload/UploadSet.js +98 -15
  429. package/src/sap/m/upload/UploadSetItem.js +13 -1
  430. package/src/sap/m/upload/UploadSetRenderer.js +8 -16
  431. package/src/sap/m/upload/UploadSetToolbarPlaceholder.js +1 -1
@@ -0,0 +1,67 @@
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/base/Object"
8
+ ], function(BaseObject) {
9
+ "use strict";
10
+
11
+ /**
12
+ * @class Interface to implement basic adaptation functionality.
13
+ * Implementing this interface enables the usage of certain p13n
14
+ * modules such as the UIManager and the DefaultProviderRegistry.
15
+ *
16
+ * @author SAP SE
17
+ * @since 1.104
18
+ * @private
19
+ *
20
+ * @ui5-restricted sap.m
21
+ * @alias sap.m.p13n.AdaptationProvider
22
+ */
23
+ var AdaptationProvider = BaseObject.extend("sap.m.p13n.AdaptationProvider", {
24
+ metadata: {
25
+ baseType : "sap.m.p13n.AdaptationProvider"
26
+ }
27
+ });
28
+
29
+ /**
30
+ * Initialize adaptation for a provided control instance, set of keys and properties
31
+ *
32
+ * @param {string|sap.ui.core.Control} vControl The control id or instance
33
+ * @param {Array} aKeys An Array of keys
34
+ * @param {Array} [aCustomInfo] An Array of propertyinfos
35
+ *
36
+ * @returns {Promise} A Promise resolving in the according property helper instance
37
+ */
38
+ AdaptationProvider.prototype.initAdaptation = function(vControl, aKeys, aCustomInfo){
39
+ throw new Error("Please implement 'initAdaptation'");
40
+ };
41
+
42
+ /**
43
+ * Reset the personalization for a provided control instance and key
44
+ *
45
+ * @param {sap.ui.core.Control} oControl The control instance
46
+ * @param {string} sKey Key to be affected by reset
47
+ *
48
+ * @returns {Promise} A Promise resolving after the reset has been processed
49
+ */
50
+ AdaptationProvider.prototype.reset = function(oControl, sKey){
51
+ throw new Error("Please implement 'reset'");
52
+ };
53
+
54
+ /**
55
+ * Reset the personalization for a provided control instance and key
56
+ *
57
+ * @param {sap.ui.core.Control} oControl The control instance
58
+ * @param {Array} aKeys An Array of keys
59
+ *
60
+ * @returns {Promise} A Promise resolving after all changes have been processed
61
+ */
62
+ AdaptationProvider.prototype.handleP13n = function(oControl, aKeys){
63
+ throw new Error("Please implement 'handleP13n'");
64
+ };
65
+
66
+ return AdaptationProvider;
67
+ });
@@ -0,0 +1,124 @@
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
+ "sap/m/p13n/PersistenceProvider"
10
+ ], function (BaseObject, PersistenceProvider) {
11
+ "use strict";
12
+
13
+ var ERROR_INSTANCING = "DefaultProviderRegistry: This class is a singleton and should not be used without an AdaptationProvider. Please use 'sap.m.p13n.Engine.getInstance().defaultProviderRegistry' instead";
14
+
15
+ //Singleton storage
16
+ var oDefaultProviderRegistry;
17
+
18
+ /**
19
+ * Constructor for a new DefaultProviderRegistry.
20
+ * This registry creates and manages default persistence providers for each persistence mode.
21
+ * It is intended for use cases where no dedicated provider can or should be created by an application.
22
+ * The DefaultProviderRegistry currently resides in the Engine and must never be called separately.
23
+ *
24
+ * @class
25
+ * @extends sap.ui.base.Object
26
+ *
27
+ * @author SAP SE
28
+ * @version 1.104.0
29
+ *
30
+ * @private
31
+ * @since 1.104
32
+ * @alias sap.m.p13n.modules.DefaultProviderRegistry
33
+ */
34
+ var DefaultProviderRegistry = BaseObject.extend("sap.m.p13n.modules.DefaultProviderRegistry", {
35
+ constructor: function() {
36
+
37
+ if (oDefaultProviderRegistry) {
38
+ throw Error(ERROR_INSTANCING);
39
+ }
40
+
41
+ BaseObject.call(this);
42
+ this._mDefaultProviders = {};
43
+ }
44
+ });
45
+
46
+ /**
47
+ * @override
48
+ * @inheritDoc
49
+ */
50
+ DefaultProviderRegistry.prototype.destroy = function() {
51
+ Object.keys(this._mDefaultProviders).forEach(function (sProviderName) {
52
+ this._mDefaultProviders[sProviderName].destroy();
53
+ delete this._mDefaultProviders[sProviderName];
54
+ }.bind(this));
55
+ BaseObject.prototype.destroy.apply(this, arguments);
56
+ };
57
+
58
+ /**
59
+ * @private
60
+ * @ui5-restricted sap.m
61
+ *
62
+ * Attaches a control to a default persistence provider held inside the DefaultProviderRegistry for the given <code>PersistenceMode</code>
63
+ *
64
+ * @param {sap.m.Control|string} vControl The control instance or a control id.
65
+ * @param {sap.m.enum.PersistenceMode} sPersistenceMode Desired persistence mode for the retrieved persistence provider
66
+ * @returns {sap.m.p13n.PersistenceProvider} Returns a persistence provider instance, if possible
67
+ */
68
+ DefaultProviderRegistry.prototype.attach = function (vControl, sPersistenceMode) {
69
+ if (vControl.getEngine().isRegisteredForModification(vControl)) { // Modification settings for a registered control are only determined once in the Engine
70
+ throw new Error("DefaultProviderRegistry: You must not change the modificationSettings for an already registered control");
71
+ }
72
+ var oDefaultProvider = this._retrieveDefaultProvider(sPersistenceMode);
73
+ var sControlId = typeof vControl === "string" ? vControl : vControl.getId();
74
+ if (oDefaultProvider.getFor().indexOf(sControlId) === -1) {
75
+ oDefaultProvider.addFor(vControl);
76
+ }
77
+
78
+ return oDefaultProvider;
79
+ };
80
+
81
+ /**
82
+ * @private
83
+ * @ui5-restricted sap.m
84
+ *
85
+ * Detaches a control from any existing default persistence provider
86
+ *
87
+ * @param {sap.m.Control|string} vControl The control instance or a control id.
88
+ */
89
+ DefaultProviderRegistry.prototype.detach = function (vControl) {
90
+ Object.keys(this._mDefaultProviders).forEach(function (sMode) {
91
+ var oDefaultProvider = this._mDefaultProviders[sMode];
92
+ oDefaultProvider.removeFor(vControl);
93
+ }.bind(this));
94
+ };
95
+
96
+ /**
97
+ * @private
98
+ * @ui5-restricted sap.m
99
+ *
100
+ * Returns a promise resolving a default persistence provider for the given <code>Control</code> and <code>PersistenceMode</code>.
101
+ *
102
+ * @param {sap.m.enum.PersistenceMode} sPersistenceMode Desired persistence mode for the retrieved persistence provider
103
+ * @returns {Promise} Returns a <code>Promise</code> returning a persistence provider instance, if possible
104
+ */
105
+ DefaultProviderRegistry.prototype._retrieveDefaultProvider = function (sPersistenceMode) {
106
+ this._mDefaultProviders[sPersistenceMode] = this._mDefaultProviders[sPersistenceMode] || new PersistenceProvider({mode: sPersistenceMode});
107
+ return this._mDefaultProviders[sPersistenceMode];
108
+ };
109
+
110
+ /**
111
+ * @private
112
+ * @ui5-restricted sap.m
113
+ *
114
+ * This method is the central point of access to the DefaultProviderRegistry Singleton.
115
+ */
116
+ DefaultProviderRegistry.getInstance = function() {
117
+ if (!oDefaultProviderRegistry) {
118
+ oDefaultProviderRegistry = new DefaultProviderRegistry();
119
+ }
120
+ return oDefaultProviderRegistry;
121
+ };
122
+
123
+ return DefaultProviderRegistry;
124
+ });
@@ -0,0 +1,101 @@
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/EventProvider"
9
+ ], function (EventProvider) {
10
+ "use strict";
11
+
12
+ var ERROR_INSTANCING = "StateHandlerRegistry: This class is a singleton and should not be used without an AdaptationProvider. Please use 'sap.m.p13n.Engine.getInstance().stateHandlerRegistry' instead";
13
+
14
+ //Singleton storage
15
+ var oStateHandlerRegistry;
16
+
17
+ /**
18
+ * Constructor for a new StateHandlerRegistry.
19
+ *
20
+ * @class
21
+ * @extends sap.ui.base.Object
22
+ *
23
+ * @author SAP SE
24
+ * @version 1.104.0
25
+ *
26
+ * @private
27
+ * @since 1.104
28
+ * @alias sap.m.p13n.modules.StateHandlerRegistry
29
+ */
30
+ var StateHandlerRegistry = EventProvider.extend("sap.m.p13n.modules.StateHandlerRegistry", {
31
+ constructor: function() {
32
+
33
+ if (oStateHandlerRegistry) {
34
+ throw Error(ERROR_INSTANCING);
35
+ }
36
+
37
+ EventProvider.call(this);
38
+ }
39
+ });
40
+
41
+ /**
42
+ * @private
43
+ * @ui5-restricted sap.m
44
+ *
45
+ * Attaches an event handler to the <code>StateHandlerRegistry</code> class.
46
+ * The event handler may be fired every time a user triggers a personalization change for a control instance during runtime.
47
+ *
48
+ * @param {function} fnStateEventHandler The handler function to call when the event occurs
49
+ * @returns {this} Returns <code>this</code> to allow method chaining
50
+ */
51
+ StateHandlerRegistry.prototype.attachChange = function(fnStateEventHandler) {
52
+ return EventProvider.prototype.attachEvent.call(this, "stateChange", fnStateEventHandler);
53
+ };
54
+
55
+ /**
56
+ * @private
57
+ * @ui5-restricted sap.m
58
+ *
59
+ * Removes a previously attached state change event handler from the <code>StateHandlerRegistry</code> class.
60
+ * The passed parameters must match those used for registration with {@link StateHandlerRegistry#attachChange} beforehand.
61
+ *
62
+ * @param {function} fnStateEventHandler The handler function to detach from the event
63
+ * @returns {this} Returns <code>this</code> to allow method chaining
64
+ */
65
+ StateHandlerRegistry.prototype.detachChange = function(fnStateEventHandler) {
66
+ return EventProvider.prototype.detachEvent.call(this, "stateChange", fnStateEventHandler);
67
+ };
68
+
69
+ /**
70
+ * @private
71
+ * @ui5-restricted sap.m
72
+ *
73
+ * Fires an {@link sap.ui.base.Event event} with the given settings and notifies all attached event handlers.
74
+ *
75
+ * @param {sap.m.Control} oControl The control instance
76
+ * @param {object} oState The updated state
77
+ * @returns {this} Returns <code>this</code> to allow method chaining
78
+ */
79
+ StateHandlerRegistry.prototype.fireChange = function(oControl, oState) {
80
+ return EventProvider.prototype.fireEvent.call(this, "stateChange", {
81
+ control: oControl,
82
+ state: oState
83
+ });
84
+ };
85
+
86
+ /**
87
+ * @private
88
+ * @ui5-restricted sap.m
89
+ *
90
+ * This method is the central point of access to the DefaultProviderRegistry Singleton.
91
+ * @returns {this} Returns the <code>StateHandlerRegistry</code> instance.
92
+ */
93
+ StateHandlerRegistry.getInstance = function () {
94
+ if (!oStateHandlerRegistry) {
95
+ oStateHandlerRegistry = new StateHandlerRegistry();
96
+ }
97
+ return oStateHandlerRegistry;
98
+ };
99
+
100
+ return StateHandlerRegistry;
101
+ });
@@ -0,0 +1,230 @@
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
+ "sap/ui/mdc/util/loadModules",
10
+ "sap/base/Log"
11
+ ], function (BaseObject, loadModules, Log) {
12
+ "use strict";
13
+
14
+ var ERROR_INSTANCING = "UIManager: This class is a singleton and should not be used without an AdaptationProvider. Please use 'sap.m.p13n.Engine.getInstance().uimanager' instead";
15
+
16
+ //Singleton storage
17
+ var oUIManager;
18
+
19
+ /**
20
+ * Constructor for a new UIManager.
21
+ * This manager creates and manages <code>sap.m.p13n.Popup</code> instances in order to personalize a certain control instance.
22
+ * The <cod>UIManager</code> serves as additional implementation for the <code>sap.m.p13n.Engine</code> to visualize p13n UIs for end user personalization.
23
+ *
24
+ * <b>Note:</b>The UIManager resides in the Engine and must never be called separately.
25
+ * The Engine currently is being used to provide controller capabilities, accessed by the UIManager, the according is {@link sap.m.p13n.AdaptationProvider}.
26
+ *
27
+ * @class
28
+ * @extends sap.ui.base.Object
29
+ *
30
+ * @author SAP SE
31
+ * @version 1.104.0
32
+ *
33
+ * @private
34
+ *
35
+ * @since 1.104
36
+ * @alias sap.m.p13n.modules.UIManager
37
+ */
38
+ var UIManager = BaseObject.extend("sap.m.p13n.UIManager", {
39
+ constructor: function(oAdaptationProvider) {
40
+
41
+ if (oUIManager) {
42
+ throw Error(ERROR_INSTANCING);
43
+ }
44
+
45
+ this.oAdaptationProvider = oAdaptationProvider;
46
+
47
+ BaseObject.call(this);
48
+ }
49
+ });
50
+
51
+ /**
52
+ *
53
+ * @param {sap.ui.core.Control} oControl The control instance to be personalized
54
+ * @param {string|string[]} vPanelKeys The affected panels that should be added to the <code>sap.m.p13n.Popup</code>
55
+ * @param {object} mSettings The settings object for the personalization
56
+ * @param {string} [mSettings.title] The title for the <code>sap.m.p13n.Popup</code> control
57
+ * @param {object} [mSettings.source] The source contro to be used by the <code>sap.m.p13n.Popup</code> control (only necessary in case the mode is set to <code>ResponsivePopover</code>)
58
+ * @param {object} [mSettings.mode] The mode to be used by the <code>sap.m.p13n.Popup</code> control
59
+ * @param {object} [mSettings.contentHeight] Height configuration for the related popup container
60
+ * @param {object} [mSettings.contentWidth] Width configuration for the related popup container
61
+ *
62
+ * @returns {Promise} Promise resolving in the <code>sap.m.p13n.Popup</code> instance.
63
+ */
64
+ UIManager.prototype.show = function(oControl, vPanelKeys, mSettings) {
65
+ var aPanelKeys = vPanelKeys instanceof Array ? vPanelKeys : [vPanelKeys];
66
+ var oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
67
+ var that = this;
68
+ mSettings = Object.assign({}, mSettings);
69
+
70
+ if (!this.hasActiveP13n(oControl)){
71
+ this.setActiveP13n(oControl, vPanelKeys);
72
+
73
+ return this.create(oControl, vPanelKeys, mSettings)
74
+ .then(function(aInitializedPanels){
75
+ return loadModules(["sap/m/p13n/Popup"]).then(function(aModules){
76
+
77
+ //if there is no title provided and only one panel created, use it's title as the Popup title
78
+ var sTitle;
79
+ if (!mSettings.title && aPanelKeys.length === 1) {
80
+ sTitle = aInitializedPanels[0].getTitle();
81
+ } else {
82
+ sTitle = mSettings.title || oResourceBundle.getText("p13n.VIEW_SETTINGS");
83
+ }
84
+
85
+ //Enrich Popup with AdaptationProvider functionality --> add controller logic (reset and appliance)
86
+ var Popup = aModules[0];
87
+ var oP13nContainer = new Popup({
88
+ mode: mSettings.mode,
89
+ warningText: mSettings.warningText || oResourceBundle.getText("p13n.RESET_WARNING_TEXT"),
90
+ title: sTitle,
91
+ close: function(oEvt){
92
+ var sReason = oEvt.getParameter("reason");
93
+ if (sReason == "Ok") {
94
+ that.oAdaptationProvider.handleP13n(oControl, aPanelKeys);
95
+ }
96
+ oP13nContainer.removeAllPanels();//TODO
97
+ that.setActiveP13n(oControl, null);
98
+
99
+ oP13nContainer.destroy();
100
+ },
101
+ reset: function(){
102
+ that.oAdaptationProvider.reset(oControl, aPanelKeys);
103
+ }
104
+ });
105
+
106
+ aInitializedPanels.forEach(function(oPanel, iIndex){
107
+ oP13nContainer.addPanel(oPanel, aPanelKeys[iIndex]);
108
+ });
109
+
110
+ oControl.addDependent(oP13nContainer);
111
+ oP13nContainer.open(mSettings.source, mSettings);
112
+ return oP13nContainer._oPopup;
113
+
114
+ });
115
+ }, function(eContainerFailure){
116
+ this.setActiveP13n(oControl, null);
117
+ Log.error("UIManager failure:" + eContainerFailure.stack);
118
+ }.bind(this));
119
+ } else {
120
+ return Promise.resolve();
121
+ }
122
+ };
123
+
124
+ UIManager.prototype.create = function(oControl, vPanelKeys) {
125
+ var aPanelKeys = vPanelKeys instanceof Array ? vPanelKeys : [vPanelKeys];
126
+ var that = this;
127
+
128
+ return this.oAdaptationProvider.initAdaptation(oControl, aPanelKeys)
129
+ .then(function(){
130
+ var vSettings = this.oAdaptationProvider.getUISettings(oControl, aPanelKeys);
131
+
132
+ //if condition only temporarly necessary until sap.ui.comp adjusted
133
+ if (vSettings instanceof Promise) {
134
+ return vSettings;
135
+ } else {
136
+ var aPanelPromises = [], aPanelSettings = [];
137
+ Object.keys(vSettings).forEach(function(sSetting){
138
+ var vSetting = vSettings[sSetting];
139
+ if (vSetting && vSetting.hasOwnProperty("adaptationUI")) {
140
+ var pCreation = vSetting.adaptationUI;
141
+ aPanelPromises.push(pCreation);
142
+
143
+ aPanelSettings.push({
144
+ key: sSetting,
145
+ settings: vSetting
146
+ });
147
+ }
148
+ });
149
+ return Promise.all(aPanelPromises).then(function(aPanels){
150
+ var mMappedSetting = {};
151
+ aPanels.forEach(function(oPanel, iIndex){
152
+ if (oPanel) {
153
+ var oPanelSetting = aPanelSettings[iIndex];
154
+ var mContainerSettings = oPanelSetting.settings.containerSettings;
155
+ if (mContainerSettings.title) {
156
+ oPanel.setTitle(mContainerSettings.title);
157
+ }
158
+ mMappedSetting[oPanelSetting.key] = {
159
+ panel: oPanel
160
+ };
161
+ }
162
+ });
163
+ return mMappedSetting;
164
+ });
165
+ }
166
+ }.bind(this))
167
+
168
+ .then(function(mSettings){
169
+ var aInitializedPanels = [];
170
+
171
+ //Attach state validation during personalization
172
+ Object.keys(mSettings).forEach(function(sPanel, iIndex){
173
+ var oPanel = mSettings[sPanel].panel;
174
+
175
+ //not every panel used is a p13n.BasePanel (comp.FilterPanel, AdaptationFilterBar) these panels might not provide a change event
176
+ if (oPanel.attachChange instanceof Function) {
177
+ oPanel.attachChange(function(oEvt){
178
+ that.oAdaptationProvider.validateP13n(oControl, aPanelKeys[iIndex], oEvt.getSource());
179
+ });
180
+ }
181
+ aInitializedPanels.push(oPanel);
182
+ });
183
+
184
+ return aInitializedPanels;
185
+ });
186
+ };
187
+
188
+ UIManager.getInstance = function(oAdaptationProvider) {
189
+ if (!oUIManager) {
190
+ this._checkValidInterface(oAdaptationProvider);
191
+ oUIManager = new UIManager(oAdaptationProvider);
192
+ }
193
+ return oUIManager;
194
+ };
195
+
196
+ UIManager.prototype.setActiveP13n = function(vControl, vKeys) {
197
+ if (this.oAdaptationProvider.setActiveP13n instanceof Function) {
198
+ this.oAdaptationProvider.setActiveP13n(vControl, vKeys);
199
+ }
200
+ };
201
+
202
+ UIManager.prototype.hasActiveP13n = function(vControl) {
203
+ var bActiveP13n = false;
204
+ if (this.oAdaptationProvider.hasActiveP13n instanceof Function) {
205
+ bActiveP13n = this.oAdaptationProvider.hasActiveP13n(vControl);
206
+ }
207
+ return bActiveP13n;
208
+ };
209
+
210
+ /**
211
+ * Checks if the UIManager has been initialized with a valid AdaptationProvider interface.
212
+ *
213
+ * @private
214
+ * @ui5-restricted sap.m
215
+ *
216
+ * @param {sap.m.AdaptationProvider} oAdaptationProvider Object implementing the <code>sap.m.AdaptationProvider</code> interface to provide personalization capabilites.
217
+ */
218
+ UIManager._checkValidInterface = function(oAdaptationProvider) {
219
+ if (!oAdaptationProvider || !oAdaptationProvider.isA("sap.m.p13n.AdaptationProvider")){
220
+ throw Error("The UIManager singleton must not be accessed without an AdaptationProvider interface!");
221
+ }
222
+ };
223
+
224
+ UIManager.prototype.destroy = function() {
225
+ BaseObject.prototype.destroy.apply(this, arguments);
226
+ oUIManager = null;
227
+ };
228
+
229
+ return UIManager;
230
+ });