@openui5/sap.ui.fl 1.96.1 → 1.97.1

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 (275) hide show
  1. package/.reuse/dep5 +1 -1
  2. package/THIRDPARTY.txt +2 -1
  3. package/package.json +3 -3
  4. package/src/sap/ui/fl/.library +2 -2
  5. package/src/sap/ui/fl/Cache.js +2 -2
  6. package/src/sap/ui/fl/Change.js +1 -1
  7. package/src/sap/ui/fl/ChangePersistence.js +7 -5
  8. package/src/sap/ui/fl/ChangePersistenceFactory.js +2 -2
  9. package/src/sap/ui/fl/EventHistory.js +2 -2
  10. package/src/sap/ui/fl/FakeLrepConnector.js +1 -1
  11. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +2 -2
  12. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +2 -2
  13. package/src/sap/ui/fl/FakeLrepLocalStorage.js +2 -2
  14. package/src/sap/ui/fl/FlexController.js +2 -2
  15. package/src/sap/ui/fl/FlexControllerFactory.js +10 -6
  16. package/src/sap/ui/fl/Layer.js +1 -1
  17. package/src/sap/ui/fl/LayerUtils.js +2 -2
  18. package/src/sap/ui/fl/PreprocessorImpl.js +2 -2
  19. package/src/sap/ui/fl/RegistrationDelegator.js +2 -2
  20. package/src/sap/ui/fl/Utils.js +9 -9
  21. package/src/sap/ui/fl/Variant.js +2 -2
  22. package/src/sap/ui/fl/XmlPreprocessorImpl.js +11 -12
  23. package/src/sap/ui/fl/apply/_internal/ChangesController.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +2 -2
  25. package/src/sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +31 -12
  27. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +2 -2
  28. package/src/sap/ui/fl/apply/_internal/changes/Reverter.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +2 -2
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Applier.js +2 -2
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ApplyStrategyFactory.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ApplyUtil.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +2 -2
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +2 -2
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +2 -2
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +2 -2
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +2 -2
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +2 -2
  39. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +2 -2
  40. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +2 -2
  41. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +2 -2
  42. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +2 -2
  43. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +2 -2
  44. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +2 -2
  45. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +2 -2
  46. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +2 -2
  47. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +2 -2
  48. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +2 -2
  49. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +2 -2
  50. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +2 -2
  51. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageConnector.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +2 -2
  53. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +264 -264
  54. package/src/sap/ui/fl/apply/_internal/controlVariants/Utils.js +40 -10
  55. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +2 -2
  56. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
  57. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariantRevertData.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexObjects/RevertData.js +1 -1
  59. package/src/sap/ui/fl/apply/_internal/flexObjects/States.js +1 -1
  60. package/src/sap/ui/fl/apply/_internal/flexObjects/UpdatableChange.js +1 -1
  61. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +3 -2
  62. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +10 -17
  63. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +2 -2
  64. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +2 -2
  65. package/src/sap/ui/fl/apply/_internal/flexState/appDescriptorChanges/prepareAppDescriptorMap.js +2 -2
  66. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +2 -2
  67. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +2 -2
  68. package/src/sap/ui/fl/apply/_internal/flexState/changes/prepareChangesMap.js +1 -1
  69. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +3 -3
  70. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/Utils.js +1 -1
  71. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +3 -3
  72. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +3 -5
  73. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +14 -12
  74. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/prepareVariantsMap.js +2 -2
  75. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +87 -7
  76. package/src/sap/ui/fl/apply/api/DelegateMediatorAPI.js +1 -1
  77. package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +59 -10
  78. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +1 -1
  79. package/src/sap/ui/fl/apply/api/UI2PersonalizationApplyAPI.js +1 -1
  80. package/src/sap/ui/fl/changeHandler/AddIFrame.js +2 -2
  81. package/src/sap/ui/fl/changeHandler/AddXML.js +2 -2
  82. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +2 -2
  83. package/src/sap/ui/fl/changeHandler/Base.js +2 -2
  84. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +2 -2
  85. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +2 -2
  86. package/src/sap/ui/fl/changeHandler/BaseRename.js +2 -2
  87. package/src/sap/ui/fl/changeHandler/BaseTreeModifier.js +1 -1
  88. package/src/sap/ui/fl/changeHandler/HideControl.js +2 -2
  89. package/src/sap/ui/fl/changeHandler/JsControlTreeModifier.js +1 -1
  90. package/src/sap/ui/fl/changeHandler/MoveControls.js +2 -2
  91. package/src/sap/ui/fl/changeHandler/MoveElements.js +2 -2
  92. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +2 -2
  93. package/src/sap/ui/fl/changeHandler/PropertyChange.js +2 -2
  94. package/src/sap/ui/fl/changeHandler/StashControl.js +2 -2
  95. package/src/sap/ui/fl/changeHandler/UnhideControl.js +2 -2
  96. package/src/sap/ui/fl/changeHandler/UnstashControl.js +2 -2
  97. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +2 -2
  98. package/src/sap/ui/fl/changeHandler/XmlTreeModifier.js +1 -1
  99. package/src/sap/ui/fl/changeHandler/common/createIFrame.js +1 -1
  100. package/src/sap/ui/fl/changeHandler/common/getTargetAggregationIndex.js +1 -1
  101. package/src/sap/ui/fl/changeHandler/common/revertAddedControls.js +1 -1
  102. package/src/sap/ui/fl/codeExt/CodeExtManager.js +17 -11
  103. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +5 -5
  104. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +2 -2
  105. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +2 -2
  106. package/src/sap/ui/fl/descriptorRelated/internal/Utils.js +1 -1
  107. package/src/sap/ui/fl/designtime/library.designtime.js +1 -1
  108. package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +1 -1
  109. package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +1 -1
  110. package/src/sap/ui/fl/initial/_internal/Storage.js +2 -2
  111. package/src/sap/ui/fl/initial/_internal/StorageResultMerger.js +2 -2
  112. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +2 -2
  113. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  114. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  115. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +2 -2
  116. package/src/sap/ui/fl/initial/_internal/connectors/BackendConnector.js +1 -1
  117. package/src/sap/ui/fl/initial/_internal/connectors/KeyUserConnector.js +1 -1
  118. package/src/sap/ui/fl/initial/_internal/connectors/LrepConnector.js +1 -1
  119. package/src/sap/ui/fl/initial/_internal/connectors/NeoLrepConnector.js +1 -1
  120. package/src/sap/ui/fl/initial/_internal/connectors/PersonalizationConnector.js +1 -1
  121. package/src/sap/ui/fl/initial/_internal/connectors/StaticFileConnector.js +1 -1
  122. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +2 -4
  123. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +2 -2
  124. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +2 -2
  125. package/src/sap/ui/fl/interfaces/Delegate.js +2 -2
  126. package/src/sap/ui/fl/library.js +10 -10
  127. package/src/sap/ui/fl/library.support.js +1 -1
  128. package/src/sap/ui/fl/messagebundle_ar.properties +19 -2
  129. package/src/sap/ui/fl/messagebundle_bg.properties +19 -2
  130. package/src/sap/ui/fl/messagebundle_ca.properties +19 -2
  131. package/src/sap/ui/fl/messagebundle_cs.properties +19 -2
  132. package/src/sap/ui/fl/messagebundle_cy.properties +19 -2
  133. package/src/sap/ui/fl/messagebundle_da.properties +19 -2
  134. package/src/sap/ui/fl/messagebundle_de.properties +19 -2
  135. package/src/sap/ui/fl/messagebundle_el.properties +19 -2
  136. package/src/sap/ui/fl/messagebundle_en.properties +17 -0
  137. package/src/sap/ui/fl/messagebundle_en_GB.properties +19 -2
  138. package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +19 -2
  139. package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +2 -35
  140. package/src/sap/ui/fl/messagebundle_en_US_saptrc.properties +19 -2
  141. package/src/sap/ui/fl/messagebundle_es.properties +19 -2
  142. package/src/sap/ui/fl/messagebundle_es_MX.properties +19 -2
  143. package/src/sap/ui/fl/messagebundle_et.properties +19 -2
  144. package/src/sap/ui/fl/messagebundle_fi.properties +19 -2
  145. package/src/sap/ui/fl/messagebundle_fr.properties +19 -2
  146. package/src/sap/ui/fl/messagebundle_fr_CA.properties +19 -2
  147. package/src/sap/ui/fl/messagebundle_hi.properties +19 -2
  148. package/src/sap/ui/fl/messagebundle_hr.properties +19 -2
  149. package/src/sap/ui/fl/messagebundle_hu.properties +19 -2
  150. package/src/sap/ui/fl/messagebundle_id.properties +19 -2
  151. package/src/sap/ui/fl/messagebundle_it.properties +19 -2
  152. package/src/sap/ui/fl/messagebundle_iw.properties +19 -2
  153. package/src/sap/ui/fl/messagebundle_ja.properties +19 -2
  154. package/src/sap/ui/fl/messagebundle_kk.properties +19 -2
  155. package/src/sap/ui/fl/messagebundle_ko.properties +19 -2
  156. package/src/sap/ui/fl/messagebundle_lt.properties +19 -2
  157. package/src/sap/ui/fl/messagebundle_lv.properties +19 -2
  158. package/src/sap/ui/fl/messagebundle_ms.properties +19 -2
  159. package/src/sap/ui/fl/messagebundle_nl.properties +19 -2
  160. package/src/sap/ui/fl/messagebundle_no.properties +19 -2
  161. package/src/sap/ui/fl/messagebundle_pl.properties +19 -2
  162. package/src/sap/ui/fl/messagebundle_pt.properties +19 -2
  163. package/src/sap/ui/fl/messagebundle_pt_PT.properties +19 -2
  164. package/src/sap/ui/fl/messagebundle_ro.properties +19 -2
  165. package/src/sap/ui/fl/messagebundle_ru.properties +19 -2
  166. package/src/sap/ui/fl/messagebundle_sh.properties +19 -2
  167. package/src/sap/ui/fl/messagebundle_sk.properties +19 -2
  168. package/src/sap/ui/fl/messagebundle_sl.properties +19 -2
  169. package/src/sap/ui/fl/messagebundle_sv.properties +19 -2
  170. package/src/sap/ui/fl/messagebundle_th.properties +17 -0
  171. package/src/sap/ui/fl/messagebundle_tr.properties +19 -2
  172. package/src/sap/ui/fl/messagebundle_uk.properties +19 -2
  173. package/src/sap/ui/fl/messagebundle_vi.properties +19 -2
  174. package/src/sap/ui/fl/messagebundle_zh_CN.properties +19 -2
  175. package/src/sap/ui/fl/messagebundle_zh_TW.properties +19 -2
  176. package/src/sap/ui/fl/registry/Settings.js +16 -17
  177. package/src/sap/ui/fl/requireAsync.js +1 -1
  178. package/src/sap/ui/fl/support/Flexibility.js +84 -73
  179. package/src/sap/ui/fl/support/apps/contentbrowser/Component.js +1 -1
  180. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +13 -13
  181. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +9 -9
  182. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +10 -10
  183. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +4 -4
  184. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +52 -53
  185. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +130 -126
  186. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +2 -2
  187. package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/Component.js +1 -1
  188. package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/controller/Root.controller.js +1 -3
  189. package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/helper/Extractor.js +1 -1
  190. package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +2 -2
  191. package/src/sap/ui/fl/themes/base/library.source.less +1 -1
  192. package/src/sap/ui/fl/themes/sap_hcb/library.source.less +1 -1
  193. package/src/sap/ui/fl/transport/TransportDialog.js +1 -1
  194. package/src/sap/ui/fl/transport/TransportSelection.js +2 -2
  195. package/src/sap/ui/fl/util/DescriptorChangeCheck.js +3 -5
  196. package/src/sap/ui/fl/util/IFrame.flexibility.js +1 -1
  197. package/src/sap/ui/fl/util/IFrame.js +2 -2
  198. package/src/sap/ui/fl/util/IFrameRenderer.js +1 -1
  199. package/src/sap/ui/fl/util/ManagedObjectModel.js +2 -2
  200. package/src/sap/ui/fl/util/changePropertyValueByPath.js +1 -1
  201. package/src/sap/ui/fl/util/getContainerUserInfo.js +1 -1
  202. package/src/sap/ui/fl/util/resolveBinding.js +2 -2
  203. package/src/sap/ui/fl/variants/VariantManagement.js +1 -1
  204. package/src/sap/ui/fl/variants/VariantModel.js +2 -2
  205. package/src/sap/ui/fl/variants/context/Component.js +1 -1
  206. package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +13 -3
  207. package/src/sap/ui/fl/write/_internal/SaveAs.js +1 -1
  208. package/src/sap/ui/fl/write/_internal/Storage.js +2 -2
  209. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +2 -2
  210. package/src/sap/ui/fl/write/_internal/Versions.js +2 -2
  211. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +2 -2
  212. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +2 -2
  213. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +2 -2
  214. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +2 -2
  215. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +4 -3
  216. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +2 -2
  217. package/src/sap/ui/fl/write/_internal/condenser/Utils.js +1 -1
  218. package/src/sap/ui/fl/write/_internal/condenser/classifications/Create.js +1 -1
  219. package/src/sap/ui/fl/write/_internal/condenser/classifications/Destroy.js +1 -1
  220. package/src/sap/ui/fl/write/_internal/condenser/classifications/LastOneWins.js +1 -1
  221. package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +1 -1
  222. package/src/sap/ui/fl/write/_internal/condenser/classifications/Reverse.js +1 -1
  223. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +3 -3
  224. package/src/sap/ui/fl/write/_internal/connectors/JsObjectConnector.js +1 -1
  225. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +24 -24
  226. package/src/sap/ui/fl/write/_internal/connectors/LocalStorageConnector.js +1 -1
  227. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +2 -2
  228. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +2 -2
  229. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +2 -2
  230. package/src/sap/ui/fl/write/_internal/connectors/ObjectStorageConnector.js +1 -1
  231. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +2 -2
  232. package/src/sap/ui/fl/write/_internal/connectors/SessionStorageConnector.js +1 -1
  233. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +2 -2
  234. package/src/sap/ui/fl/write/_internal/delegates/ODataV4ReadDelegate.js +1 -1
  235. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +2 -2
  236. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +2 -2
  237. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +2 -2
  238. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +2 -2
  239. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +2 -2
  240. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +2 -2
  241. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +2 -2
  242. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +2 -2
  243. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +2 -2
  244. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +2 -2
  245. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +2 -2
  246. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +3 -3
  247. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/getEditorConfig.js +1 -1
  248. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +2 -2
  249. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +2 -2
  250. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +2 -2
  251. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/validators/IsRequired.js +1 -1
  252. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +5 -4
  253. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +6 -5
  254. package/src/sap/ui/fl/write/_internal/transport/TransportDialog.js +6 -8
  255. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +7 -6
  256. package/src/sap/ui/fl/write/_internal/transport/Transports.js +2 -3
  257. package/src/sap/ui/fl/write/api/AppVariantWriteAPI.js +1 -1
  258. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +1 -1
  259. package/src/sap/ui/fl/write/api/ContextSharingAPI.js +1 -1
  260. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +118 -14
  261. package/src/sap/ui/fl/write/api/ExtensionPointRegistryAPI.js +1 -1
  262. package/src/sap/ui/fl/write/api/FeaturesAPI.js +2 -1
  263. package/src/sap/ui/fl/write/api/FieldExtensibility.js +8 -4
  264. package/src/sap/ui/fl/write/api/LocalResetAPI.js +1 -1
  265. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +3 -2
  266. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +1 -1
  267. package/src/sap/ui/fl/write/api/SmartBusinessWriteAPI.js +1 -1
  268. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +3 -1
  269. package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +1 -1
  270. package/src/sap/ui/fl/write/api/VersionsAPI.js +1 -1
  271. package/src/sap/ui/fl/write/api/connectors/FileListBaseConnector.js +1 -1
  272. package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +1 -1
  273. package/src/sap/ui/fl/write/connectors/BaseConnector.js +1 -1
  274. package/ui5.yaml +132 -1
  275. package/src/sap/ui/fl/ControlPersonalizationAPI.js +0 -479
@@ -1,17 +1,19 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
7
7
  sap.ui.define([
8
- "sap/base/util/includes",
9
8
  "sap/ui/core/util/reflection/JsControlTreeModifier",
10
- "sap/ui/fl/Variant"
9
+ "sap/ui/core/Core",
10
+ "sap/ui/fl/Variant",
11
+ "sap/ui/fl/Utils"
11
12
  ], function(
12
- includes,
13
13
  JsControlTreeModifier,
14
- Variant
14
+ Core,
15
+ Variant,
16
+ Utils
15
17
  ) {
16
18
  "use strict";
17
19
 
@@ -26,6 +28,21 @@ sap.ui.define([
26
28
  return getAssociatedControlId(aAssociatedControlIds, oControl.getParent());
27
29
  }
28
30
 
31
+ function getVariantManagementControlIds(oControl, bUseStaticArea) {
32
+ var oAppComponent = Utils.getAppComponentForControl(oControl);
33
+ var oRootControl = oAppComponent.getRootControl();
34
+ var aVMControls = [];
35
+ if (!bUseStaticArea && oRootControl.getDomRef()) {
36
+ aVMControls = Array.from(oRootControl.getDomRef().querySelectorAll(".sapUiFlVarMngmt"));
37
+ }
38
+ if (bUseStaticArea || aVMControls.length === 0) {
39
+ aVMControls = Array.from(Core.getStaticAreaRef().querySelectorAll(".sapUiFlVarMngmt"));
40
+ }
41
+ return aVMControls.map(function (oVariantManagementNode) {
42
+ return oVariantManagementNode.id;
43
+ });
44
+ }
45
+
29
46
  var VariantsApplyUtil = {
30
47
  DEFAULT_AUTHOR: "SAP",
31
48
 
@@ -54,11 +71,11 @@ sap.ui.define([
54
71
  /**
55
72
  * Create a variant
56
73
  *
57
- * @param {object} mPropertyBag
74
+ * @param {object} mPropertyBag - Property Bag
58
75
  * @param {object} mPropertyBag.variantSpecificData - Property bag (nvp) holding the variant information (see sap.ui.fl.Variant#createInitialFileContentoPropertyBag).
59
76
  * The property "mPropertyBag.variantSpecificData.content.packageName" is set to $TMP internally since flex changes are always local when they are created.
60
77
  * @param {sap.ui.fl.variants.VariantModel} mPropertyBag.model - Variant model
61
- * @returns {sap.ui.fl.Variant} the created variant
78
+ * @returns {sap.ui.fl.Variant} The created variant
62
79
  * @public
63
80
  */
64
81
  createVariant: function(mPropertyBag) {
@@ -87,13 +104,17 @@ sap.ui.define([
87
104
  * A prerequisite for this to work is that the variant management control is reachable via the <code>getParent</code> function.
88
105
  *
89
106
  * @param {sap.ui.core.Control} oControl - Control instance
90
- * @param {string[]} aVMControlIds - Array of variant management control IDs
107
+ * @param {string[]} [aVMControlIds] - Array of variant management control IDs. If not given the IDs are derived from the DOM structure.
108
+ * @param {boolean} [bUseStaticArea=false] - If flag is set to true then the static area is used to determine the variant management control
91
109
  * @returns {string} The ID of the responsible variant management control
92
110
  */
93
- getRelevantVariantManagementControlId: function(oControl, aVMControlIds) {
111
+ getRelevantVariantManagementControlId: function(oControl, aVMControlIds, bUseStaticArea) {
94
112
  var oAssociatedControls = {};
113
+ if (!aVMControlIds || !aVMControlIds.length) {
114
+ aVMControlIds = getVariantManagementControlIds(oControl, bUseStaticArea);
115
+ }
95
116
  var aAssociatedControlIds = aVMControlIds.reduce(function(aCurrentControlIds, sVMControlId) {
96
- var oVMControl = sap.ui.getCore().byId(sVMControlId);
117
+ var oVMControl = Core.byId(sVMControlId);
97
118
  var aForControls = oVMControl.getFor();
98
119
  aForControls.forEach(function(sControlId) {
99
120
  oAssociatedControls[sControlId] = sVMControlId;
@@ -103,6 +124,15 @@ sap.ui.define([
103
124
 
104
125
  var sAssociatedVMControlId = getAssociatedControlId(aAssociatedControlIds, oControl);
105
126
  return oAssociatedControls[sAssociatedVMControlId];
127
+ },
128
+
129
+ belongsToVariantManagement: function(oElement) {
130
+ var aVMControlIds = getVariantManagementControlIds(oElement);
131
+ return !!VariantsApplyUtil.getRelevantVariantManagementControlId(oElement, aVMControlIds);
132
+ },
133
+
134
+ getAllVariantManagementControlIds: function(oElement) {
135
+ return getVariantManagementControlIds(oElement);
106
136
  }
107
137
  };
108
138
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -32,7 +32,7 @@ function(
32
32
  * @class
33
33
  * @constructor
34
34
  * @author SAP SE
35
- * @version 1.96.1
35
+ * @version 1.97.1
36
36
  */
37
37
  var Processor;
38
38
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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([], function () {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  * @namespace sap.ui.fl.apply._internal.flexState.FlexState
73
73
  * @experimental
74
74
  * @since 1.73
75
- * @version 1.96.1
75
+ * @version 1.97.1
76
76
  * @private
77
77
  * @ui5-restricted sap.ui.fl.apply._internal
78
78
  */
@@ -404,6 +404,7 @@ sap.ui.define([
404
404
  * The next initialize call will add it again.
405
405
  *
406
406
  * @param {string} sReference - Flex reference of the app
407
+ * @param {string} sComponentId - Component instance ID
407
408
  */
408
409
  FlexState.clearFilteredResponse = function(sReference, sComponentId) {
409
410
  if (
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -34,25 +34,18 @@ sap.ui.define([
34
34
  mFlexData.variantDependentControlChanges,
35
35
  mFlexData.variantManagementChanges
36
36
  ].forEach(function (aFlexItems) {
37
- // a for is used due to the alteration of the array and its length
38
- for (var i = aFlexItems.length - 1; i >= 0; i--) {
39
- var oFlexItem = aFlexItems[i];
37
+ aFlexItems.forEach(function (oFlexItem) {
40
38
  if (!oFlexItem.selector.idIsLocal) {
41
- // ensure the UID stays the same to send the correct ID on a condensing request (delete section)
42
- var oFlexItemCopy = deepClone(oFlexItem);
43
- oFlexItem.cloned = true;
44
- oFlexItemCopy.selector = getIdIsLocalTrueObject(oFlexItemCopy.selector);
39
+ oFlexItem.selector = getIdIsLocalTrueObject(oFlexItem.selector);
45
40
 
46
- // do the same for dependentSelectors
47
- if (oFlexItemCopy.dependentSelector) {
48
- Object.keys(oFlexItemCopy.dependentSelector).forEach(function (oFlexItemCopy, sCategory) {
49
- oFlexItemCopy.dependentSelector[sCategory] = oFlexItemCopy.dependentSelector[sCategory].map(getIdIsLocalTrueObject);
50
- }.bind(undefined, oFlexItemCopy));
41
+ if (oFlexItem.dependentSelector) {
42
+ Object.keys(oFlexItem.dependentSelector).forEach(function (sCategory) {
43
+ oFlexItem.dependentSelector[sCategory] =
44
+ oFlexItem.dependentSelector[sCategory].map(getIdIsLocalTrueObject);
45
+ });
51
46
  }
52
-
53
- aFlexItems.splice(i, 0, oFlexItemCopy);
54
47
  }
55
- }
48
+ });
56
49
  });
57
50
  }
58
51
 
@@ -77,7 +70,7 @@ sap.ui.define([
77
70
  * @namespace sap.ui.fl.apply._internal.flexState.Loader
78
71
  * @experimental
79
72
  * @since 1.74
80
- * @version 1.96.1
73
+ * @version 1.97.1
81
74
  * @private
82
75
  * @ui5-restricted sap.ui.fl.apply._internal.flexState
83
76
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -37,7 +37,7 @@ function(
37
37
  * @namespace sap.ui.fl.apply._internal.flexState.ManifestUtils
38
38
  * @experimental
39
39
  * @since 1.74
40
- * @version 1.96.1
40
+ * @version 1.97.1
41
41
  * @private
42
42
  */
43
43
  var ManifestUtils = {
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @namespace sap.ui.fl.apply._internal.flexState.UI2Personalization.UI2PersonalizationState
20
20
  * @experimental Since 1.75
21
21
  * @since 1.75
22
- * @version 1.96.1
22
+ * @version 1.97.1
23
23
  * @private
24
24
  * @ui5-restricted
25
25
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  /**
15
15
  * Prepares the AppDescriptorMap from the flex response
16
16
  *
17
- * @param {object} mPropertyBag
17
+ * @param {object} mPropertyBag - Property Bag
18
18
  * @param {object} [mPropertyBag.storageResponse.changes.appDescriptorChanges] - All app descriptor changes
19
19
  *
20
20
  * @returns {object} The prepared map of App Descriptors
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @namespace sap.ui.fl.apply._internal.flexState.changes.DependencyHandler
24
24
  * @experimental
25
25
  * @since 1.74
26
- * @version 1.96.1
26
+ * @version 1.97.1
27
27
  * @private
28
28
  * @ui5-restricted sap.ui.fl
29
29
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @namespace sap.ui.fl.apply._internal.flexState.changes.ExtensionPointState
27
27
  * @experimental Since 1.79
28
28
  * @since 1.79
29
- * @version 1.96.1
29
+ * @version 1.97.1
30
30
  * @private
31
31
  * @ui5-restricted
32
32
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -114,7 +114,7 @@ sap.ui.define([
114
114
  *
115
115
  * @namespace sap.ui.fl.apply._internal.flexState.compVariants.CompVariantMerger
116
116
  * @since 1.86
117
- * @version 1.96.1
117
+ * @version 1.97.1
118
118
  * @private
119
119
  * @ui5-restricted sap.ui.fl
120
120
  */
@@ -179,7 +179,7 @@ sap.ui.define([
179
179
  *
180
180
  * @function
181
181
  * @since 1.89
182
- * @version 1.96.1
182
+ * @version 1.97.1
183
183
  * @private
184
184
  * @ui5-restricted sap.ui.fl
185
185
  *
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -54,9 +54,9 @@ sap.ui.define([
54
54
  }
55
55
 
56
56
  function buildSectionMap(mCompSection, sSubSection, mCompVariants) {
57
- var oClass = sSubSection === "variants" ? CompVariant : UpdatableChange;
57
+ var Class = sSubSection === "variants" ? CompVariant : UpdatableChange;
58
58
  var aFlexObjects = mCompSection[sSubSection].map(function (oCompVariantChangeDefinition) {
59
- var oFlexObject = new oClass(oCompVariantChangeDefinition);
59
+ var oFlexObject = new Class(oCompVariantChangeDefinition);
60
60
  oFlexObject.setState(States.PERSISTED); // prevent persisting these anew
61
61
  return oFlexObject;
62
62
  });
@@ -1,16 +1,14 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
7
7
  sap.ui.define([
8
- "sap/base/util/includes",
9
8
  "sap/base/util/restricted/_pick",
10
9
  "sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
11
10
  "sap/ui/fl/apply/_internal/changes/Reverter"
12
11
  ], function(
13
- includes,
14
12
  _pick,
15
13
  VariantManagementState,
16
14
  Reverter
@@ -95,7 +93,7 @@ sap.ui.define([
95
93
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.Switcher
96
94
  * @experimental Since 1.74
97
95
  * @since 1.74
98
- * @version 1.96.1
96
+ * @version 1.97.1
99
97
  * @private
100
98
  * @ui5-restricted
101
99
  */
@@ -103,7 +101,7 @@ sap.ui.define([
103
101
  /**
104
102
  * Switches variants.
105
103
  *
106
- * @param {object} mPropertyBag
104
+ * @param {object} mPropertyBag - Property Bag
107
105
  * @param {sap.ui.fl.FlexController} mPropertyBag.flexController - Flex controller
108
106
  * @param {string} mPropertyBag.vmReference - Variant management reference
109
107
  * @param {string} mPropertyBag.reference - Flex reference
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -9,9 +9,7 @@ sap.ui.define([
9
9
  "sap/base/util/restricted/_pick",
10
10
  "sap/base/util/includes",
11
11
  "sap/base/util/isEmptyObject",
12
- "sap/base/util/merge",
13
12
  "sap/base/util/ObjectPath",
14
- "sap/base/util/each",
15
13
  "sap/base/Log",
16
14
  "sap/ui/core/util/reflection/JsControlTreeModifier",
17
15
  "sap/ui/fl/apply/_internal/controlVariants/Utils",
@@ -26,9 +24,7 @@ sap.ui.define([
26
24
  _pick,
27
25
  includes,
28
26
  isEmptyObject,
29
- merge,
30
27
  ObjectPath,
31
- each,
32
28
  Log,
33
29
  JsControlTreeModifier,
34
30
  VariantsApplyUtil,
@@ -47,7 +43,7 @@ sap.ui.define([
47
43
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.VariantManagementState
48
44
  * @experimental Since 1.74
49
45
  * @since 1.74
50
- * @version 1.96.1
46
+ * @version 1.97.1
51
47
  * @private
52
48
  * @ui5-restricted
53
49
  */
@@ -151,6 +147,7 @@ sap.ui.define([
151
147
  * Resets variant management state
152
148
  *
153
149
  * @param {string} sReference - Component reference
150
+ * @param {string} sComponentId - Component instance ID
154
151
  *
155
152
  * @private
156
153
  * @ui5-restricted
@@ -168,6 +165,7 @@ sap.ui.define([
168
165
  * @param {String} mPropertyBag.vmReference - Variant management reference
169
166
  * @param {String} mPropertyBag.vReference - ID of the variant
170
167
  * @param {string} mPropertyBag.reference - Component reference
168
+ * @param {boolean} [mPropertyBag.includeDirtyChanges] - Whether dirty changes of the current session should be included, <code>true</code> by default
171
169
  * @param {boolean} [mPropertyBag.changeInstance] <code>true</code> if each change has to be an instance of <code>sap.ui.fl.Change</code>
172
170
  *
173
171
  * @returns {object[]|sap.ui.fl.Change[]} All changes of the variant
@@ -178,7 +176,12 @@ sap.ui.define([
178
176
  var aResult = [];
179
177
  var oVariant = VariantManagementState.getVariant(mPropertyBag);
180
178
  if (oVariant) {
181
- aResult = oVariant.controlChanges;
179
+ aResult = oVariant.controlChanges.filter(function(oChange) {
180
+ return (
181
+ mPropertyBag.includeDirtyChanges !== false
182
+ || oChange.getState() === Change.states.PERSISTED
183
+ );
184
+ });
182
185
  if (!mPropertyBag.changeInstance) {
183
186
  aResult = aResult.map(function(oChange) {
184
187
  return oChange.getDefinition();
@@ -431,15 +434,14 @@ sap.ui.define([
431
434
  || !mPropertyBag.vmReference
432
435
  ) {
433
436
  var sCurrentVReference = oVariantsMap[sVMReference].currentVariant ? "currentVariant" : "defaultVariant";
434
- var mArguments = {
437
+ var mArguments = Object.assign({}, mPropertyBag, {
435
438
  vmReference: sVMReference,
436
439
  vReference: oVariantsMap[sVMReference][sCurrentVReference],
437
- reference: mPropertyBag.reference,
438
- changeInstance: mPropertyBag.changeInstance
439
- };
440
+ includeDirtyChanges: false
441
+ });
440
442
 
441
443
  // Concatenate with the previous flex changes
442
- return aInitialChanges.concat(VariantManagementState.getControlChangesForVariant(Object.assign({}, mPropertyBag, mArguments)));
444
+ return aInitialChanges.concat(VariantManagementState.getControlChangesForVariant(mArguments));
443
445
  }
444
446
  return aInitialChanges;
445
447
  }, []);
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
@@ -337,7 +337,7 @@ sap.ui.define([
337
337
  /**
338
338
  * Prepares the variants map from the flex response for the passed flex state
339
339
  *
340
- * @param {object} mPropertyBag
340
+ * @param {object} mPropertyBag - Property bag
341
341
  * @param {object} mPropertyBag.storageResponse - Filtered flex response
342
342
  * @param {object} mPropertyBag.unfilteredStorageResponse - Unfiltered flex response
343
343
  * @param {string} mPropertyBag.componentId - Component id
@@ -1,16 +1,24 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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
 
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
9
- "sap/ui/fl/ControlPersonalizationAPI",
9
+ "sap/ui/core/Component",
10
+ "sap/ui/core/Core",
11
+ "sap/ui/core/Element",
12
+ "sap/ui/fl/apply/_internal/controlVariants/URLHandler",
13
+ "sap/ui/fl/variants/VariantManagement",
10
14
  "sap/ui/fl/Utils"
11
15
  ], function(
12
16
  Log,
13
- OldControlPersonalizationAPI,
17
+ Component,
18
+ Core,
19
+ Element,
20
+ URLHandler,
21
+ VariantManagement,
14
22
  Utils
15
23
  ) {
16
24
  "use strict";
@@ -21,7 +29,7 @@ sap.ui.define([
21
29
  * @namespace sap.ui.fl.apply.api.ControlVariantApplyAPI
22
30
  * @experimental Since 1.67
23
31
  * @since 1.67
24
- * @version 1.96.1
32
+ * @version 1.97.1
25
33
  * @public
26
34
  */
27
35
  var ControlVariantApplyAPI = /** @lends sap.ui.fl.apply.api.ControlVariantApplyAPI */{
@@ -38,7 +46,33 @@ sap.ui.define([
38
46
  * @public
39
47
  */
40
48
  clearVariantParameterInURL: function (mPropertyBag) {
41
- OldControlPersonalizationAPI.clearVariantParameterInURL(mPropertyBag.control);
49
+ var aUpdatedVariantParameters;
50
+ var oAppComponent = Utils.getAppComponentForControl(mPropertyBag.control);
51
+ var oVariantModel = oAppComponent && oAppComponent.getModel(Utils.VARIANT_MODEL_NAME);
52
+ if (!oVariantModel) {
53
+ //technical parameters are not updated, only URL hash is updated
54
+ Log.error("Variant model could not be found on the provided control");
55
+ return;
56
+ }
57
+
58
+ //check if variant for the passed variant management control is present
59
+ if (mPropertyBag.control instanceof VariantManagement) {
60
+ var sVariantManagementReference = oVariantModel.getLocalId(mPropertyBag.control.getId(), oAppComponent);
61
+ var mCleansedParametersWithIndex = URLHandler.removeURLParameterForVariantManagement({
62
+ model: oVariantModel,
63
+ vmReference: sVariantManagementReference
64
+ });
65
+ aUpdatedVariantParameters = mCleansedParametersWithIndex.parameters;
66
+ }
67
+
68
+ //both technical parameters and URL hash updated
69
+ URLHandler.update({
70
+ parameters: aUpdatedVariantParameters || [],
71
+ updateURL: true,
72
+ updateHashEntry: !!oVariantModel,
73
+ model: oVariantModel || {},
74
+ silent: !oVariantModel
75
+ });
42
76
  },
43
77
 
44
78
  /**
@@ -49,12 +83,58 @@ sap.ui.define([
49
83
  * @param {sap.ui.base.ManagedObject|string} mPropertyBag.element - Component or control (instance or ID) on which the <code>variantModel</code> is set
50
84
  * @param {string} mPropertyBag.variantReference - Reference to the variant that needs to be activated
51
85
  *
52
- * @returns {Promise} Promise that resolves after the variant is updated, or is rejected if an error occurs
86
+ * @returns {Promise} Resolves after the variant is activated or rejects if an error occurs
53
87
  *
54
88
  * @public
55
89
  */
56
90
  activateVariant: function(mPropertyBag) {
57
- return OldControlPersonalizationAPI.activateVariant(mPropertyBag.element, mPropertyBag.variantReference);
91
+ function logAndReject(oError) {
92
+ Log.error(oError);
93
+ return Promise.reject(oError);
94
+ }
95
+
96
+ var oElement;
97
+ if (typeof mPropertyBag.element === "string") {
98
+ oElement = Component.get(mPropertyBag.element);
99
+ if (!(oElement instanceof Component)) {
100
+ oElement = Core.byId(mPropertyBag.element);
101
+
102
+ if (!(oElement instanceof Element)) {
103
+ return logAndReject(Error("No valid component or control found for the provided ID"));
104
+ }
105
+ }
106
+ } else if (mPropertyBag.element instanceof Component || mPropertyBag.element instanceof Element) {
107
+ oElement = mPropertyBag.element;
108
+ }
109
+
110
+ var oAppComponent = Utils.getAppComponentForControl(oElement);
111
+ if (!oAppComponent) {
112
+ return logAndReject(Error("A valid variant management control or component (instance or ID) should be passed as parameter"));
113
+ }
114
+
115
+ var oVariantModel = oAppComponent.getModel(Utils.VARIANT_MODEL_NAME);
116
+ if (!oVariantModel) {
117
+ return logAndReject(Error("No variant management model found for the passed control or application component"));
118
+ }
119
+ var sVariantManagementReference = oVariantModel.getVariantManagementReference(mPropertyBag.variantReference).variantManagementReference;
120
+ if (!sVariantManagementReference) {
121
+ return logAndReject(Error("A valid control or component, and a valid variant/ID combination are required"));
122
+ }
123
+
124
+ // sap/fe is using this API very early during app start, sometimes before FlexState is initialized
125
+ return oVariantModel.waitForVMControlInit(sVariantManagementReference)
126
+
127
+ .then(function() {
128
+ return oVariantModel.updateCurrentVariant({
129
+ variantManagementReference: sVariantManagementReference,
130
+ newVariantReference: mPropertyBag.variantReference,
131
+ appComponent: oAppComponent
132
+ });
133
+ })
134
+ .catch(function(oError) {
135
+ Log.error(oError);
136
+ throw oError;
137
+ });
58
138
  },
59
139
 
60
140
  /**
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * ! OpenUI5
3
- * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
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