@openui5/sap.ui.fl 1.108.2 → 1.110.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 (242) hide show
  1. package/.reuse/dep5 +16 -16
  2. package/THIRDPARTY.txt +2 -2
  3. package/package.json +3 -3
  4. package/src/sap/ui/fl/.library +2 -2
  5. package/src/sap/ui/fl/Cache.js +19 -6
  6. package/src/sap/ui/fl/ChangePersistence.js +47 -85
  7. package/src/sap/ui/fl/ChangePersistenceFactory.js +2 -2
  8. package/src/sap/ui/fl/FakeLrepConnector.js +1 -1
  9. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +2 -2
  10. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +2 -2
  11. package/src/sap/ui/fl/FakeLrepLocalStorage.js +2 -2
  12. package/src/sap/ui/fl/FlexController.js +27 -27
  13. package/src/sap/ui/fl/FlexControllerFactory.js +8 -7
  14. package/src/sap/ui/fl/Layer.js +2 -2
  15. package/src/sap/ui/fl/LayerUtils.js +4 -4
  16. package/src/sap/ui/fl/Scenario.js +1 -1
  17. package/src/sap/ui/fl/Utils.js +70 -297
  18. package/src/sap/ui/fl/apply/_internal/ChangesController.js +18 -3
  19. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +5 -5
  20. package/src/sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +35 -83
  22. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +49 -178
  23. package/src/sap/ui/fl/apply/_internal/changes/Reverter.js +10 -16
  24. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +11 -16
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Applier.js +11 -9
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ApplyStrategyFactory.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ApplyUtil.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +2 -2
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +2 -2
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +2 -2
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +2 -2
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +6 -5
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +2 -2
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +2 -2
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +2 -2
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +2 -2
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +2 -2
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +2 -2
  39. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +2 -2
  40. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +2 -2
  41. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +2 -2
  42. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +2 -2
  43. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +2 -2
  44. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +2 -2
  45. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +2 -2
  46. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageConnector.js +2 -2
  47. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +2 -2
  48. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +3 -2
  49. package/src/sap/ui/fl/apply/_internal/controlVariants/Utils.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +2 -2
  51. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +2 -3
  52. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +10 -12
  53. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariantRevertData.js +6 -3
  54. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +2 -2
  55. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +2 -3
  56. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +13 -13
  57. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +32 -13
  58. package/src/sap/ui/fl/apply/_internal/flexObjects/RevertData.js +3 -2
  59. package/src/sap/ui/fl/apply/_internal/flexObjects/States.js +20 -5
  60. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +462 -0
  61. package/src/sap/ui/fl/apply/_internal/flexObjects/UpdatableChange.js +18 -9
  62. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +3 -2
  63. package/src/sap/ui/fl/apply/_internal/flexState/DataSelector.js +235 -0
  64. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +157 -33
  65. package/src/sap/ui/fl/apply/_internal/flexState/InitialPrepareFunctions.js +72 -0
  66. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +28 -3
  67. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +67 -36
  68. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +2 -2
  69. package/src/sap/ui/fl/apply/_internal/flexState/appDescriptorChanges/prepareAppDescriptorMap.js +4 -4
  70. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +8 -8
  71. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +6 -4
  72. package/src/sap/ui/fl/apply/_internal/flexState/changes/prepareChangesMap.js +2 -13
  73. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +3 -3
  74. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/Utils.js +1 -1
  75. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +3 -3
  76. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +2 -2
  77. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +10 -12
  78. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/prepareVariantsMap.js +28 -8
  79. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +2 -2
  80. package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +2 -2
  81. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +2 -2
  82. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +2 -2
  83. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +18 -10
  84. package/src/sap/ui/fl/apply/api/DelegateMediatorAPI.js +1 -1
  85. package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +2 -2
  86. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +11 -47
  87. package/src/sap/ui/fl/apply/api/UI2PersonalizationApplyAPI.js +1 -1
  88. package/src/sap/ui/fl/changeHandler/AddIFrame.js +5 -5
  89. package/src/sap/ui/fl/changeHandler/AddXML.js +2 -2
  90. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +2 -2
  91. package/src/sap/ui/fl/changeHandler/Base.js +6 -5
  92. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +7 -7
  93. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +21 -19
  94. package/src/sap/ui/fl/changeHandler/BaseRename.js +7 -7
  95. package/src/sap/ui/fl/changeHandler/BaseTreeModifier.js +1 -1
  96. package/src/sap/ui/fl/changeHandler/HideControl.js +7 -7
  97. package/src/sap/ui/fl/changeHandler/MoveControls.js +6 -6
  98. package/src/sap/ui/fl/changeHandler/MoveElements.js +3 -3
  99. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +3 -3
  100. package/src/sap/ui/fl/changeHandler/PropertyChange.js +3 -3
  101. package/src/sap/ui/fl/changeHandler/StashControl.js +7 -7
  102. package/src/sap/ui/fl/changeHandler/UnhideControl.js +6 -6
  103. package/src/sap/ui/fl/changeHandler/UnstashControl.js +6 -6
  104. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +5 -5
  105. package/src/sap/ui/fl/changeHandler/common/ChangeCategories.js +1 -1
  106. package/src/sap/ui/fl/changeHandler/common/createIFrame.js +2 -2
  107. package/src/sap/ui/fl/changeHandler/common/getTargetAggregationIndex.js +2 -2
  108. package/src/sap/ui/fl/changeHandler/common/revertAddedControls.js +1 -1
  109. package/src/sap/ui/fl/changeHandler/condenser/Classification.js +1 -1
  110. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +5 -5
  111. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +4 -4
  112. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +2 -2
  113. package/src/sap/ui/fl/descriptorRelated/internal/Utils.js +1 -1
  114. package/src/sap/ui/fl/designtime/library.designtime.js +1 -1
  115. package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +1 -1
  116. package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +5 -3
  117. package/src/sap/ui/fl/initial/_internal/Storage.js +2 -2
  118. package/src/sap/ui/fl/initial/_internal/StorageResultMerger.js +1 -1
  119. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +4 -15
  120. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +2 -2
  121. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +3 -3
  122. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +2 -2
  123. package/src/sap/ui/fl/initial/_internal/connectors/BackendConnector.js +1 -1
  124. package/src/sap/ui/fl/initial/_internal/connectors/KeyUserConnector.js +1 -1
  125. package/src/sap/ui/fl/initial/_internal/connectors/LrepConnector.js +1 -2
  126. package/src/sap/ui/fl/initial/_internal/connectors/NeoLrepConnector.js +1 -1
  127. package/src/sap/ui/fl/initial/_internal/connectors/PersonalizationConnector.js +1 -1
  128. package/src/sap/ui/fl/initial/_internal/connectors/StaticFileConnector.js +1 -1
  129. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +6 -6
  130. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +4 -4
  131. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +4 -4
  132. package/src/sap/ui/fl/interfaces/Delegate.js +2 -2
  133. package/src/sap/ui/fl/library.js +47 -48
  134. package/src/sap/ui/fl/library.support.js +1 -1
  135. package/src/sap/ui/fl/registry/Settings.js +3 -13
  136. package/src/sap/ui/fl/requireAsync.js +1 -1
  137. package/src/sap/ui/fl/support/_internal/extractChangeDependencies.js +5 -3
  138. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +2 -2
  139. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +2 -2
  140. package/src/sap/ui/fl/support/api/SupportAPI.js +2 -2
  141. package/src/sap/ui/fl/support/apps/contentbrowser/Component.js +1 -1
  142. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +2 -2
  143. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +2 -2
  144. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +2 -2
  145. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +2 -2
  146. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +2 -2
  147. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +8 -8
  148. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +5 -5
  149. package/src/sap/ui/fl/themes/base/library.source.less +1 -3
  150. package/src/sap/ui/fl/themes/sap_hcb/library.source.less +1 -1
  151. package/src/sap/ui/fl/transport/TransportDialog.js +1 -1
  152. package/src/sap/ui/fl/transport/TransportSelection.js +2 -2
  153. package/src/sap/ui/fl/util/DescriptorChangeCheck.js +3 -3
  154. package/src/sap/ui/fl/util/IFrame.flexibility.js +1 -1
  155. package/src/sap/ui/fl/util/IFrame.js +2 -2
  156. package/src/sap/ui/fl/util/IFrameRenderer.js +1 -1
  157. package/src/sap/ui/fl/util/ManagedObjectModel.js +2 -2
  158. package/src/sap/ui/fl/util/changePropertyValueByPath.js +2 -2
  159. package/src/sap/ui/fl/util/getContainerUserInfo.js +1 -1
  160. package/src/sap/ui/fl/util/resolveBinding.js +2 -2
  161. package/src/sap/ui/fl/variants/VariantManagement.js +70 -10
  162. package/src/sap/ui/fl/variants/VariantModel.js +97 -48
  163. package/src/sap/ui/fl/variants/context/Component.js +1 -2
  164. package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/FlexInfoSession.js +1 -1
  166. package/src/sap/ui/fl/write/_internal/SaveAs.js +5 -3
  167. package/src/sap/ui/fl/write/_internal/Storage.js +21 -12
  168. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +3 -5
  169. package/src/sap/ui/fl/write/_internal/Versions.js +2 -2
  170. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +2 -2
  171. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +2 -2
  172. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +2 -2
  173. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +4 -4
  174. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +29 -27
  175. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +10 -5
  176. package/src/sap/ui/fl/write/_internal/condenser/Utils.js +1 -1
  177. package/src/sap/ui/fl/write/_internal/condenser/classifications/Create.js +1 -1
  178. package/src/sap/ui/fl/write/_internal/condenser/classifications/Destroy.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/condenser/classifications/LastOneWins.js +2 -2
  180. package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +1 -1
  181. package/src/sap/ui/fl/write/_internal/condenser/classifications/Reverse.js +3 -3
  182. package/src/sap/ui/fl/write/_internal/condenser/classifications/Update.js +2 -2
  183. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +2 -2
  184. package/src/sap/ui/fl/write/_internal/connectors/JsObjectConnector.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +5 -3
  186. package/src/sap/ui/fl/write/_internal/connectors/LocalStorageConnector.js +1 -1
  187. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +31 -19
  188. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +8 -2
  189. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +2 -2
  190. package/src/sap/ui/fl/write/_internal/connectors/ObjectStorageConnector.js +2 -2
  191. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +2 -2
  192. package/src/sap/ui/fl/write/_internal/connectors/SessionStorageConnector.js +1 -1
  193. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +5 -2
  194. package/src/sap/ui/fl/write/_internal/delegates/ODataV4ReadDelegate.js +1 -1
  195. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +2 -2
  196. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +2 -2
  197. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +2 -2
  198. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +2 -2
  199. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +2 -2
  200. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +2 -2
  201. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +2 -2
  202. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +3 -3
  203. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +2 -2
  204. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +2 -2
  205. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +2 -2
  206. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +2 -2
  207. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/getEditorConfig.js +1 -1
  208. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +2 -2
  209. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +2 -2
  210. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +2 -2
  211. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/validators/IsRequired.js +1 -1
  212. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +18 -17
  213. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +33 -37
  214. package/src/sap/ui/fl/write/_internal/transport/TransportDialog.js +1 -1
  215. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +19 -20
  216. package/src/sap/ui/fl/write/_internal/transport/Transports.js +2 -2
  217. package/src/sap/ui/fl/write/api/AppVariantWriteAPI.js +1 -1
  218. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +7 -7
  219. package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +81 -15
  220. package/src/sap/ui/fl/write/api/ContextSharingAPI.js +3 -3
  221. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +6 -4
  222. package/src/sap/ui/fl/write/api/ExtensionPointRegistryAPI.js +1 -1
  223. package/src/sap/ui/fl/write/api/FeaturesAPI.js +1 -1
  224. package/src/sap/ui/fl/write/api/FieldExtensibility.js +2 -2
  225. package/src/sap/ui/fl/write/api/LocalResetAPI.js +7 -7
  226. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +10 -10
  227. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +1 -1
  228. package/src/sap/ui/fl/write/api/SmartBusinessWriteAPI.js +5 -5
  229. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +2 -1
  230. package/src/sap/ui/fl/write/api/TranslationAPI.js +1 -1
  231. package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +1 -1
  232. package/src/sap/ui/fl/write/api/Version.js +1 -1
  233. package/src/sap/ui/fl/write/api/VersionsAPI.js +1 -1
  234. package/src/sap/ui/fl/write/api/connectors/FileListBaseConnector.js +2 -2
  235. package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +2 -2
  236. package/src/sap/ui/fl/write/connectors/BaseConnector.js +7 -1
  237. package/ui5.yaml +4 -2
  238. package/src/sap/ui/fl/Change.js +0 -1092
  239. package/src/sap/ui/fl/changeHandler/JsControlTreeModifier.js +0 -17
  240. package/src/sap/ui/fl/changeHandler/XmlTreeModifier.js +0 -17
  241. package/src/sap/ui/fl/codeExt/CodeExtManager.js +0 -122
  242. package/src/sap/ui/fl/themes/base/VariantManagement.less +0 -97
@@ -1,14 +1,16 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 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/ui/base/ManagedObject",
8
9
  "sap/ui/fl/apply/_internal/flexState/ManifestUtils",
9
10
  "sap/ui/fl/initial/_internal/Storage",
10
11
  "sap/ui/fl/Utils"
11
12
  ], function(
13
+ ManagedObject,
12
14
  ManifestUtils,
13
15
  ApplyStorage,
14
16
  Utils
@@ -55,6 +57,26 @@ sap.ui.define([
55
57
  return mFlexData;
56
58
  }
57
59
 
60
+ function filterInvalidFileNames(mFlexData) {
61
+ [
62
+ "changes",
63
+ "variantChanges",
64
+ "variantDependentControlChanges",
65
+ "variantManagementChanges"
66
+ ].forEach(function(sKey) {
67
+ mFlexData[sKey] = mFlexData[sKey].filter(function(oFlexItem) {
68
+ try {
69
+ var oTemporaryInstance = new ManagedObject(oFlexItem.fileName);
70
+ } catch (error) {
71
+ return false;
72
+ }
73
+ oTemporaryInstance.destroy();
74
+ return true;
75
+ });
76
+ });
77
+ return mFlexData;
78
+ }
79
+
58
80
  function isMigrationNeeded(oManifest) {
59
81
  return oManifest && !!ManifestUtils.getOvpEntry(oManifest);
60
82
  }
@@ -73,7 +95,7 @@ sap.ui.define([
73
95
  * @namespace sap.ui.fl.apply._internal.flexState.Loader
74
96
  * @experimental
75
97
  * @since 1.74
76
- * @version 1.108.2
98
+ * @version 1.110.0
77
99
  * @private
78
100
  * @ui5-restricted sap.ui.fl.apply._internal.flexState
79
101
  */
@@ -119,7 +141,10 @@ sap.ui.define([
119
141
  appDescriptor: mPropertyBag.manifest.getRawJson ? mPropertyBag.manifest.getRawJson() : mPropertyBag.manifest,
120
142
  version: mPropertyBag.version,
121
143
  allContexts: mPropertyBag.allContexts
122
- }).then(migrateSelectorFlags.bind(undefined, isMigrationNeeded(mPropertyBag.manifest))).then(formatFlexData);
144
+ })
145
+ .then(filterInvalidFileNames.bind())
146
+ .then(migrateSelectorFlags.bind(undefined, isMigrationNeeded(mPropertyBag.manifest)))
147
+ .then(formatFlexData);
123
148
  }
124
149
  };
125
150
  });
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 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,24 +19,81 @@ function(
19
19
  return sComponentName;
20
20
  }
21
21
 
22
- function getFlAsyncHint(oAsyncHints) {
22
+ function getFlAsyncHintRequest(oAsyncHints, sReference) {
23
23
  if (oAsyncHints && oAsyncHints.requests && Array.isArray(oAsyncHints.requests)) {
24
24
  return oAsyncHints.requests.find(function(oAsyncHint) {
25
- return oAsyncHint.name === "sap.ui.fl.changes";
25
+ return oAsyncHint.name === "sap.ui.fl.changes" && (!sReference || oAsyncHint.reference === sReference);
26
26
  });
27
27
  }
28
28
  }
29
29
 
30
+ function getFlexReference(mPropertyBag) {
31
+ var oManifest = mPropertyBag.manifest;
32
+ var oComponentData = mPropertyBag.componentData || {};
33
+
34
+ // support of old app variants
35
+ if (oComponentData.startupParameters) {
36
+ if (Array.isArray(oComponentData.startupParameters["sap-app-id"])) {
37
+ return oComponentData.startupParameters["sap-app-id"][0];
38
+ }
39
+ }
40
+
41
+ var oSapUi5Entry = oManifest.getEntry ? oManifest.getEntry("sap.ui5") : oManifest["sap.ui5"];
42
+ if (oSapUi5Entry) {
43
+ if (oSapUi5Entry.appVariantId) {
44
+ return oSapUi5Entry.appVariantId;
45
+ }
46
+
47
+ if (oSapUi5Entry.componentName) {
48
+ return appendComponentToReference(oSapUi5Entry.componentName);
49
+ }
50
+ }
51
+
52
+ return appendComponentToReference(getAppIdFromManifest(oManifest));
53
+ }
54
+
55
+ function getAppIdFromManifest(oManifest) {
56
+ if (oManifest) {
57
+ var APP_ID_AT_DESIGN_TIME = "${pro" + "ject.art" + "ifactId}"; //avoid replaced by content of ${project.artifactId} placeholder at build steps
58
+ var oSapApp = (oManifest.getEntry) ? oManifest.getEntry("sap.app") : oManifest["sap.app"];
59
+ var sAppId = oSapApp && oSapApp.id;
60
+ if (sAppId === APP_ID_AT_DESIGN_TIME) {
61
+ if (oManifest.getComponentName) {
62
+ return oManifest.getComponentName();
63
+ }
64
+ if (oManifest.name) {
65
+ return oManifest.name;
66
+ }
67
+ }
68
+ return sAppId;
69
+ }
70
+
71
+ throw new Error("No Manifest received, descriptor changes are not possible");
72
+ }
73
+
30
74
  /**
31
75
  * Provides utility functions for handling manifests; All function work with Manifest Objects or raw manifests
32
76
  *
33
77
  * @namespace sap.ui.fl.apply._internal.flexState.ManifestUtils
34
78
  * @experimental
35
79
  * @since 1.74
36
- * @version 1.108.2
80
+ * @version 1.110.0
37
81
  * @private
38
82
  */
39
83
  var ManifestUtils = {
84
+ /**
85
+ * Returns the descriptor Id, which is always the reference for descriptor changes
86
+ *
87
+ * @param {object|sap.ui.core.Manifest} oManifest - Manifest of the component
88
+ * @returns {string} Version of application if it is available in the manifest, otherwise an empty string
89
+ *
90
+ * @private
91
+ * @ui5-restricted sap.ui.fl
92
+ */
93
+ getAppIdFromManifest: getAppIdFromManifest,
94
+
95
+ getFlexReference: getFlexReference,
96
+
40
97
  /** Determines the flex reference for a given control by
41
98
  * identifying the application component and analyzing the manifest of this component.
42
99
  *
@@ -45,50 +102,25 @@ function(
45
102
  */
46
103
  getFlexReferenceForControl: function (oControl) {
47
104
  var oAppComponent = Utils.getAppComponentForControl(oControl);
48
- return oAppComponent && ManifestUtils.getFlexReference({
105
+ return oAppComponent && getFlexReference({
49
106
  manifest: oAppComponent.getManifestObject(),
50
107
  componentData: oAppComponent.getComponentData()
51
108
  });
52
109
  },
53
110
 
54
- getFlexReference: function(mPropertyBag) {
55
- var oManifest = mPropertyBag.manifest;
56
- var oComponentData = mPropertyBag.componentData || {};
57
-
58
- // support of old app variants
59
- if (oComponentData.startupParameters) {
60
- if (Array.isArray(oComponentData.startupParameters["sap-app-id"])) {
61
- return oComponentData.startupParameters["sap-app-id"][0];
62
- }
63
- }
64
-
65
- var oSapUi5Entry = oManifest.getEntry ? oManifest.getEntry("sap.ui5") : oManifest["sap.ui5"];
66
- if (oSapUi5Entry) {
67
- if (oSapUi5Entry.appVariantId) {
68
- return oSapUi5Entry.appVariantId;
69
- }
70
-
71
- if (oSapUi5Entry.componentName) {
72
- return appendComponentToReference(oSapUi5Entry.componentName);
73
- }
74
- }
75
-
76
- return appendComponentToReference(Utils.getAppIdFromManifest(oManifest));
77
- },
78
-
79
111
  getOvpEntry: function (oManifest) {
80
112
  return oManifest.getEntry ? oManifest.getEntry("sap.ovp") : oManifest["sap.ovp"];
81
113
  },
82
114
 
83
115
  getCacheKeyFromAsyncHints: function(sReference, oAsyncHints) {
84
- var oFlAsyncHint = getFlAsyncHint(oAsyncHints);
85
- if (oFlAsyncHint && oFlAsyncHint.reference === sReference) {
116
+ var oFlAsyncHint = getFlAsyncHintRequest(oAsyncHints, sReference);
117
+ if (oFlAsyncHint) {
86
118
  return oFlAsyncHint.cachebusterToken || "<NO CHANGES>";
87
119
  }
88
120
  },
89
121
 
90
122
  getPreviewSectionFromAsyncHints: function(oAsyncHints) {
91
- var oFlAsyncHint = getFlAsyncHint(oAsyncHints);
123
+ var oFlAsyncHint = getFlAsyncHintRequest(oAsyncHints);
92
124
  if (oFlAsyncHint) {
93
125
  return oFlAsyncHint.preview;
94
126
  }
@@ -96,17 +128,16 @@ function(
96
128
 
97
129
  getChangeManifestFromAsyncHints: function(oAsyncHints) {
98
130
  // whenever there is a back end providing a fl async hint it is also not necessary to merge on client side
99
- var oFlAsyncHint = getFlAsyncHint(oAsyncHints);
131
+ var oFlAsyncHint = getFlAsyncHintRequest(oAsyncHints);
100
132
  if (oFlAsyncHint) {
101
133
  return false;
102
134
  }
103
-
104
135
  return true;
105
136
  },
106
137
 
107
138
  getBaseComponentNameFromManifest: function(oManifest) {
108
139
  var oSapUi5Entry = oManifest.getEntry ? oManifest.getEntry("sap.ui5") : oManifest["sap.ui5"];
109
- return oSapUi5Entry && oSapUi5Entry.componentName || Utils.getAppIdFromManifest(oManifest);
140
+ return oSapUi5Entry && oSapUi5Entry.componentName || getAppIdFromManifest(oManifest);
110
141
  },
111
142
 
112
143
  isFlexExtensionPointHandlingEnabled: function (oView) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 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.108.2
22
+ * @version 1.110.0
23
23
  * @private
24
24
  * @ui5-restricted
25
25
  */
@@ -1,13 +1,13 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 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/ui/fl/Change"
8
+ "sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory"
9
9
  ], function(
10
- Change
10
+ FlexObjectFactory
11
11
  ) {
12
12
  "use strict";
13
13
 
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  //TODO: add filtering for condensable changeTypes once necessary
32
32
 
33
33
  var aChanges = aChangeDefinitions.map(function(oChangeDefinition) {
34
- return new Change(oChangeDefinition);
34
+ return FlexObjectFactory.createFromFileContent(oChangeDefinition);
35
35
  });
36
36
  return {
37
37
  appDescriptorChanges: aChanges
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 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.108.2
26
+ * @version 1.110.0
27
27
  * @private
28
28
  * @ui5-restricted sap.ui.fl
29
29
  */
@@ -245,7 +245,7 @@ sap.ui.define([
245
245
  /**
246
246
  * Adds a change to the map and adds the dependencies to the changes map
247
247
  *
248
- * @param {sap.ui.fl.changeObject} oChange - Change instance
248
+ * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange - Change instance
249
249
  * @param {sap.ui.core.UIComponent} oAppComponent - Component instance to get the whole ID for the control
250
250
  * @param {object} mChangesMap - Map with changes and dependencies
251
251
  */
@@ -257,9 +257,9 @@ sap.ui.define([
257
257
  /**
258
258
  * Insert Change into changes map positioned right after the referenced change
259
259
  *
260
- * @param {sap.ui.fl.changeObject} oChange - Change instance
260
+ * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange - Change instance
261
261
  * @param {object} mChangesMap - Map with changes and dependencies
262
- * @param {sap.ui.fl.changeObject} oReferenceChange - Refernce change. New change is positioned right after this one in the changes map
262
+ * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oReferenceChange - Refernce change. New change is positioned right after this one in the changes map
263
263
  */
264
264
  DependencyHandler.insertChange = function(oChange, mChangesMap, oReferenceChange) {
265
265
  var iIndex = mChangesMap && mChangesMap.aChanges && mChangesMap.aChanges.indexOf(oReferenceChange);
@@ -271,7 +271,7 @@ sap.ui.define([
271
271
  /**
272
272
  * Adds a change to the map during runtime and adds the dependencies to the initial changes map
273
273
  *
274
- * @param {sap.ui.fl.changeObject} oChange - Change instance
274
+ * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange - Change instance
275
275
  * @param {sap.ui.core.UIComponent} oAppComponent - Component instance to get the whole ID for the control
276
276
  * @param {object} mChangesMap - Map with changes and dependencies
277
277
  * @param {object} mInitialChangesMap - Initial map with changes and dependencies
@@ -301,7 +301,7 @@ sap.ui.define([
301
301
  * Saves a function in the dependency that will be called as soon as the dependency is resolved.
302
302
  *
303
303
  * @param {object} mChangesMap - Changes map
304
- * @param {sap.ui.fl.Change} sChangeId - Change ID
304
+ * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} sChangeId - Change ID
305
305
  * @param {function} fnCallback - Function that will be saved in the dependency
306
306
  */
307
307
  DependencyHandler.addChangeApplyCallbackToDependency = function(mChangesMap, sChangeId, fnCallback) {
@@ -417,7 +417,7 @@ sap.ui.define([
417
417
  * @param {object} mChangesMap - Map with changes and dependencies
418
418
  * @param {object} sControlId - ID of the control
419
419
  * @param {sap.ui.core.Component} oAppComponent - Application component instance that is currently loading
420
- * @returns {sap.ui.fl.Change[]} Array of all open dependent changes for the control
420
+ * @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} Array of all open dependent changes for the control
421
421
  */
422
422
  DependencyHandler.getOpenDependentChangesForControl = function(mChangesMap, sControlId, oAppComponent) {
423
423
  var aDependentChanges = [];
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @namespace sap.ui.fl.apply._internal.flexState.changes.ExtensionPointState
29
29
  * @experimental Since 1.79
30
30
  * @since 1.79
31
- * @version 1.108.2
31
+ * @version 1.110.0
32
32
  * @private
33
33
  * @ui5-restricted
34
34
  */
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  if (bOriginalSelectorNeedsToBeAdjusted) {
68
68
  oChange.originalSelectorToBeAdjusted = mOriginalSelector;
69
69
  } else {
70
- oChange.setDependentSelector({originalSelector: mOriginalSelector});
70
+ oChange.setDependentSelectors({originalSelector: mOriginalSelector});
71
71
  }
72
72
  oChange.setContent({boundAggregation: oExtensionPoint.closestAggregationBinding});
73
73
  } else {
@@ -158,7 +158,9 @@ sap.ui.define([
158
158
  //Set correct selector from extension point targetControl's ID
159
159
  replaceChangeSelector(oRuntimeOnlyChange, mExtensionPointInfo, true);
160
160
  oRuntimeOnlyChange.setExtensionPointInfo(mExtensionPointInfo);
161
- oRuntimeOnlyChange.setModuleName(oChange.getModuleName());
161
+ var oFlexObjectMetadata = oRuntimeOnlyChange.getFlexObjectMetadata();
162
+ oFlexObjectMetadata.moduleName = oChange.getFlexObjectMetadata().moduleName;
163
+ oRuntimeOnlyChange.setFlexObjectMetadata(oFlexObjectMetadata);
162
164
  oRuntimeOnlyChange.setCreation(oChange.getCreation());
163
165
  oChangePersistence.addChangeAndUpdateDependencies(mPropertyBag.appComponent, oRuntimeOnlyChange, oChange);
164
166
  })
@@ -1,13 +1,11 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 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/ui/fl/Change"
9
8
  ], function(
10
- Change
11
9
  ) {
12
10
  "use strict";
13
11
 
@@ -23,16 +21,7 @@ sap.ui.define([
23
21
  *
24
22
  * @param {object} mPropertyBag - Contains additional data needed for preparing the map
25
23
  * @param {object} mPropertyBag.storageResponse - Storage response with the flex data
26
- * @returns {object} The prepared map for changes
27
24
  */
28
- return function(mPropertyBag) {
29
- var aChangeDefinitions = mPropertyBag.storageResponse.changes.changes;
30
- var aChanges = aChangeDefinitions.map(function(oChangeDefinition) {
31
- return new Change(oChangeDefinition);
32
- });
33
- // TODO create dependency map and return it
34
- return {
35
- changes: aChanges
36
- };
25
+ return function(/* mPropertyBag */) {
37
26
  };
38
27
  });
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -117,7 +117,7 @@ sap.ui.define([
117
117
  *
118
118
  * @namespace sap.ui.fl.apply._internal.flexState.compVariants.CompVariantMerger
119
119
  * @since 1.86
120
- * @version 1.108.2
120
+ * @version 1.110.0
121
121
  * @private
122
122
  * @ui5-restricted sap.ui.fl
123
123
  */
@@ -182,7 +182,7 @@ sap.ui.define([
182
182
  *
183
183
  * @function
184
184
  * @since 1.89
185
- * @version 1.108.2
185
+ * @version 1.110.0
186
186
  * @private
187
187
  * @ui5-restricted sap.ui.fl
188
188
  *
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 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-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -59,9 +59,9 @@ sap.ui.define([
59
59
  if (sSubSection === "variants") {
60
60
  oFlexObject = FlexObjectFactory.createCompVariant(oCompVariantChangeDefinition);
61
61
  } else {
62
- oFlexObject = new UpdatableChange(oCompVariantChangeDefinition);
62
+ oFlexObject = FlexObjectFactory.createFromFileContent(oCompVariantChangeDefinition, UpdatableChange);
63
63
  }
64
- oFlexObject.setState(States.PERSISTED); // prevent persisting these anew
64
+ oFlexObject.setState(States.LifecycleState.PERSISTED); // prevent persisting these anew
65
65
  return oFlexObject;
66
66
  });
67
67
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -91,7 +91,7 @@ sap.ui.define([
91
91
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.Switcher
92
92
  * @experimental Since 1.74
93
93
  * @since 1.74
94
- * @version 1.108.2
94
+ * @version 1.110.0
95
95
  * @private
96
96
  * @ui5-restricted
97
97
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -15,7 +15,6 @@ sap.ui.define([
15
15
  "sap/ui/fl/apply/_internal/controlVariants/Utils",
16
16
  "sap/ui/fl/apply/_internal/flexObjects/States",
17
17
  "sap/ui/fl/apply/_internal/flexState/FlexState",
18
- "sap/ui/fl/Change",
19
18
  "sap/ui/fl/LayerUtils",
20
19
  "sap/ui/fl/Utils"
21
20
  ], function(
@@ -29,7 +28,6 @@ sap.ui.define([
29
28
  VariantsApplyUtil,
30
29
  States,
31
30
  FlexState,
32
- Change,
33
31
  LayerUtils,
34
32
  Utils
35
33
  ) {
@@ -41,7 +39,7 @@ sap.ui.define([
41
39
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.VariantManagementState
42
40
  * @experimental Since 1.74
43
41
  * @since 1.74
44
- * @version 1.108.2
42
+ * @version 1.110.0
45
43
  * @private
46
44
  * @ui5-restricted
47
45
  */
@@ -172,7 +170,7 @@ sap.ui.define([
172
170
  * @param {string} mPropertyBag.reference - Component reference
173
171
  * @param {boolean} [mPropertyBag.includeDirtyChanges] - Whether dirty changes of the current session should be included, <code>true</code> by default
174
172
  *
175
- * @returns {object[]|sap.ui.fl.Change[]} All changes of the variant
173
+ * @returns {object[]|sap.ui.fl.apply._internal.flexObjects.FlexObject[]} All changes of the variant
176
174
  * @private
177
175
  * @ui5-restricted
178
176
  */
@@ -183,7 +181,7 @@ sap.ui.define([
183
181
  aResult = oVariant.controlChanges.filter(function(oChange) {
184
182
  return (
185
183
  mPropertyBag.includeDirtyChanges !== false
186
- || oChange.getState() === Change.states.PERSISTED
184
+ || oChange.getState() === States.LifecycleState.PERSISTED
187
185
  );
188
186
  });
189
187
  }
@@ -287,7 +285,7 @@ sap.ui.define([
287
285
  * Removes a variant from a variant management reference.
288
286
  *
289
287
  * @param {object} mPropertyBag - Object with the necessary properties
290
- * @param {sap.ui.fl.Variant} mPropertyBag.variant - Variant to be removed
288
+ * @param {sap.ui.fl.apply._internal.flexObjects.FlVariant} mPropertyBag.variant - Variant to be removed
291
289
  * @param {string} mPropertyBag.vmReference - Variant management reference
292
290
  * @param {string} mPropertyBag.reference - Component reference
293
291
  *
@@ -350,7 +348,7 @@ sap.ui.define([
350
348
  * Add a control change to a variant.
351
349
  *
352
350
  * @param {object} mPropertyBag - Object with the necessary properties
353
- * @param {sap.ui.fl.Change} mPropertyBag.change - Control change
351
+ * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} mPropertyBag.change - Control change
354
352
  * @param {string} mPropertyBag.vmReference - Variant management reference
355
353
  * @param {string} mPropertyBag.vReference - Variant reference
356
354
  * @param {string} mPropertyBag.reference - Component reference
@@ -377,7 +375,7 @@ sap.ui.define([
377
375
  * Removes a control change from a variant.
378
376
  *
379
377
  * @param {object} mPropertyBag - Object with the necessary properties
380
- * @param {sap.ui.fl.Change} mPropertyBag.change - Control change
378
+ * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} mPropertyBag.change - Control change
381
379
  * @param {string} mPropertyBag.vmReference - Variant management reference
382
380
  * @param {string} mPropertyBag.vReference - Variant reference
383
381
  * @param {string} mPropertyBag.reference - Component reference
@@ -533,7 +531,7 @@ sap.ui.define([
533
531
  * @param {object} mPropertyBag - Object with the necessary properties
534
532
  * @param {string} mPropertyBag.reference - Flex reference
535
533
  * @param {string} mPropertyBag.content - Variant section content
536
- * @param {sap.ui.fl.Change | sap.ui.fl.Variant} mPropertyBag.changeToBeAddedOrDeleted - Flex object to be added or deleted
534
+ * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject | sap.ui.fl.apply._internal.flexObjects.FlVariant} mPropertyBag.changeToBeAddedOrDeleted - Flex object to be added or deleted
537
535
  *
538
536
  * @private
539
537
  * @ui5-restricted
@@ -553,10 +551,10 @@ sap.ui.define([
553
551
 
554
552
  if (mPropertyBag.changeToBeAddedOrDeleted) {
555
553
  switch (mPropertyBag.changeToBeAddedOrDeleted.getState()) {
556
- case States.NEW:
554
+ case States.LifecycleState.NEW:
557
555
  addChange(mPropertyBag.changeToBeAddedOrDeleted.convertToFileContent(), oFlexObjects);
558
556
  break;
559
- case States.DELETE:
557
+ case States.LifecycleState.DELETE:
560
558
  deleteChange(mPropertyBag.changeToBeAddedOrDeleted.convertToFileContent(), oFlexObjects);
561
559
  break;
562
560
  default:
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 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,8 +14,9 @@ sap.ui.define([
14
14
  "sap/base/Log",
15
15
  "sap/ui/fl/apply/_internal/controlVariants/Utils",
16
16
  "sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory",
17
- "sap/ui/fl/Change",
18
- "sap/ui/fl/LayerUtils"
17
+ "sap/ui/fl/apply/_internal/flexObjects/States",
18
+ "sap/ui/fl/LayerUtils",
19
+ "sap/ui/fl/registry/Settings"
19
20
  ], function(
20
21
  each,
21
22
  includes,
@@ -26,8 +27,9 @@ sap.ui.define([
26
27
  Log,
27
28
  VariantsApplyUtil,
28
29
  FlexObjectFactory,
29
- Change,
30
- LayerUtils
30
+ States,
31
+ LayerUtils,
32
+ Settings
31
33
  ) {
32
34
  "use strict";
33
35
 
@@ -50,8 +52,8 @@ sap.ui.define([
50
52
  function addVariantDependentControlChanges(oVariantsMap, aVariantDependentChanges, sReference) {
51
53
  var oVariantsMapClone = merge({}, oVariantsMap);
52
54
  aVariantDependentChanges.forEach(function(oChange) {
53
- var oChangeInstance = new Change(oChange);
54
- oChangeInstance.setState(Change.states.PERSISTED);
55
+ var oChangeInstance = FlexObjectFactory.createFromFileContent(oChange);
56
+ oChangeInstance.setState(States.LifecycleState.PERSISTED);
55
57
  var oVariantEntry = oVariantsMapClone[oChange.variantReference];
56
58
  oVariantEntry = oVariantEntry || createStandardVariant(oChange.variantReference, sReference);
57
59
  oVariantEntry.controlChanges.push(oChangeInstance);
@@ -124,6 +126,23 @@ sap.ui.define([
124
126
  return oReferencedVariant;
125
127
  }
126
128
 
129
+ // add missing user id (for variants created on the same session)
130
+ function addMissingUser(oVariantsMap) {
131
+ var oVariantsMapClone = merge({}, oVariantsMap);
132
+ values(oVariantsMapClone).forEach(function(oVariantEntry) {
133
+ var mSupportInformation = oVariantEntry.instance.getSupportInformation();
134
+ if (!mSupportInformation.user) {
135
+ var sUserId = Settings.getInstanceOrUndef() && Settings.getInstanceOrUndef().getUserId();
136
+ if (sUserId) {
137
+ mSupportInformation.user = sUserId;
138
+ oVariantEntry.instance.setSupportInformation(mSupportInformation);
139
+ }
140
+ }
141
+ });
142
+
143
+ return oVariantsMapClone;
144
+ }
145
+
127
146
  // prepares initial map for variants
128
147
  function getVariantsMap(oStorageResponse, sReference) {
129
148
  var oVariantsMap = {};
@@ -133,6 +152,7 @@ sap.ui.define([
133
152
  oVariantsMap = addVariantChanges(oVariantsMap, oStorageResponse.variantChanges, sReference);
134
153
  oVariantsMap = filterInvisibleVariants(oVariantsMap);
135
154
  oVariantsMap = resolveReferences(oVariantsMap, sReference);
155
+ oVariantsMap = addMissingUser(oVariantsMap);
136
156
 
137
157
  return oVariantsMap;
138
158
  }
@@ -300,7 +320,7 @@ sap.ui.define([
300
320
 
301
321
  function getActiveChange(aChanges) {
302
322
  if (aChanges.length > 0) {
303
- return new Change(aChanges[aChanges.length - 1]);
323
+ return FlexObjectFactory.createFromFileContent(aChanges[aChanges.length - 1]);
304
324
  }
305
325
  return false;
306
326
  }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2023 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
  * @class
27
27
  * @constructor
28
28
  * @author SAP SE
29
- * @version 1.108.2
29
+ * @version 1.110.0
30
30
  * @experimental Since 1.27.0
31
31
  * @private
32
32
  * @ui5-restricted sap.ui.fl, sap.ui.core