@openui5/sap.ui.fl 1.140.0 → 1.141.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 (194) hide show
  1. package/.eslint-rules/import-check.js +71 -0
  2. package/THIRDPARTY.txt +2 -2
  3. package/package.json +3 -3
  4. package/src/sap/ui/fl/.library +1 -1
  5. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  6. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  7. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  8. package/src/sap/ui/fl/LayerUtils.js +1 -1
  9. package/src/sap/ui/fl/Utils.js +1 -1
  10. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +13 -3
  11. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +3 -2
  12. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  13. package/src/sap/ui/fl/apply/_internal/changes/Reverter.js +4 -1
  14. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
  15. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  16. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  17. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewDataSource.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewOutbound.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddTechnicalAttributes.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeOutbound.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetAch.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetDescription.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetCloudDevAdaptationStatus.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/ChangeModel.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/extensionPoint/Registry.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexObjects/AnnotationChange.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  51. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +2 -8
  54. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +2 -2
  56. package/src/sap/ui/fl/apply/_internal/flexObjects/VariantChange.js +1 -1
  57. package/src/sap/ui/fl/apply/_internal/flexObjects/VariantManagementChange.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexObjects/getVariantAuthor.js +6 -3
  59. package/src/sap/ui/fl/apply/_internal/flexState/DataSelector.js +2 -2
  60. package/src/sap/ui/fl/apply/_internal/flexState/FlexObjectState.js +1 -1
  61. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +53 -161
  62. package/src/sap/ui/fl/apply/_internal/flexState/InitialPrepareFunctions.js +0 -8
  63. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  64. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  65. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  66. package/src/sap/ui/fl/apply/_internal/flexState/changes/UIChangesState.js +1 -1
  67. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantManagementState.js +2 -5
  68. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +22 -5
  69. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +54 -12
  70. package/src/sap/ui/fl/apply/_internal/init.js +47 -0
  71. package/src/sap/ui/fl/apply/_internal/preprocessors/ComponentLifecycleHooks.js +14 -5
  72. package/src/sap/ui/fl/apply/api/AnnotationChangeHandlerAPI.js +2 -1
  73. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +190 -53
  74. package/src/sap/ui/fl/apply/api/DelegateMediatorAPI.js +17 -1
  75. package/src/sap/ui/fl/apply/api/ExtensionPointRegistryAPI.js +2 -1
  76. package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +2 -1
  77. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +2 -1
  78. package/src/sap/ui/fl/apply/api/UI2PersonalizationApplyAPI.js +2 -1
  79. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  80. package/src/sap/ui/fl/changeHandler/AddXML.js +2 -2
  81. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +4 -4
  82. package/src/sap/ui/fl/changeHandler/Base.js +3 -2
  83. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  84. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +21 -9
  85. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  86. package/src/sap/ui/fl/changeHandler/ChangeAnnotation.js +7 -2
  87. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  88. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  89. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  90. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  91. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  92. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  93. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  94. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  95. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  96. package/src/sap/ui/fl/changeHandler/common/createIFrame.js +1 -4
  97. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChange.js +3 -3
  98. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +3 -3
  99. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  100. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  101. package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +14 -12
  102. package/src/sap/ui/fl/initial/_internal/FlexConfiguration.js +1 -1
  103. package/src/sap/ui/fl/initial/_internal/Loader.js +243 -79
  104. package/src/sap/ui/fl/initial/_internal/ManifestUtils.js +1 -1
  105. package/src/sap/ui/fl/initial/_internal/Settings.js +1 -1
  106. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  107. package/src/sap/ui/fl/initial/_internal/StorageFeaturesMerger.js +1 -1
  108. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +67 -9
  109. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  110. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +12 -5
  111. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  112. package/src/sap/ui/fl/{apply → initial}/_internal/preprocessors/ControllerExtension.js +15 -4
  113. package/src/sap/ui/fl/{apply → initial}/_internal/preprocessors/RegistrationDelegator.js +7 -38
  114. package/src/sap/ui/fl/{apply → initial}/_internal/preprocessors/XmlPreprocessor.js +28 -20
  115. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  116. package/src/sap/ui/fl/initial/api/InitialFlexAPI.js +1 -1
  117. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  118. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  119. package/src/sap/ui/fl/library.js +44 -44
  120. package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +1 -1
  121. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
  122. package/src/sap/ui/fl/support/_internal/getFlexObjectInfos.js +1 -1
  123. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  124. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  125. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  126. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  127. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  128. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  129. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  130. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  131. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  132. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  133. package/src/sap/ui/fl/util/IFrame.js +3 -2
  134. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  135. package/src/sap/ui/fl/variants/VariantManagement.js +49 -36
  136. package/src/sap/ui/fl/variants/VariantManager.js +75 -15
  137. package/src/sap/ui/fl/variants/VariantModel.js +7 -165
  138. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  139. package/src/sap/ui/fl/write/_internal/Versions.js +9 -5
  140. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  141. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  142. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  143. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  144. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +1 -1
  145. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  146. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  147. package/src/sap/ui/fl/write/_internal/connectors/BtpServiceConnector.js +1 -1
  148. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  149. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
  150. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  151. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  152. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  153. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  154. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  155. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  156. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  157. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  158. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  159. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  160. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  161. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  162. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  163. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  164. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  166. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  167. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  168. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectManager.js +30 -21
  169. package/src/sap/ui/fl/write/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +3 -3
  170. package/src/sap/ui/fl/write/_internal/flexState/changes/UIChangeManager.js +1 -1
  171. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantManager.js +2 -19
  172. package/src/sap/ui/fl/write/_internal/init.js +27 -0
  173. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  174. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  175. package/src/sap/ui/fl/write/api/Adaptations.js +1 -1
  176. package/src/sap/ui/fl/write/api/AppVariantWriteAPI.js +2 -1
  177. package/src/sap/ui/fl/write/api/BusinessNetworkAPI.js +9 -8
  178. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +2 -1
  179. package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +2 -3
  180. package/src/sap/ui/fl/write/api/ContextSharingAPI.js +2 -1
  181. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +2 -1
  182. package/src/sap/ui/fl/write/api/FeaturesAPI.js +2 -1
  183. package/src/sap/ui/fl/write/api/FieldExtensibility.js +3 -2
  184. package/src/sap/ui/fl/write/api/LocalResetAPI.js +2 -1
  185. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +10 -3
  186. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +5 -2
  187. package/src/sap/ui/fl/write/api/SACIntegrationUpdateVariant.js +2 -1
  188. package/src/sap/ui/fl/write/api/SmartBusinessWriteAPI.js +2 -1
  189. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +2 -1
  190. package/src/sap/ui/fl/write/api/TranslationAPI.js +2 -1
  191. package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +2 -1
  192. package/src/sap/ui/fl/write/api/VersionsAPI.js +2 -1
  193. package/src/sap/ui/fl/write/api/connectors/FileListBaseConnector.js +2 -1
  194. package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +2 -1
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  *
42
42
  * @namespace sap.ui.fl.apply._internal.flexState.changes.ExtensionPointState
43
43
  * @since 1.79
44
- * @version 1.140.0
44
+ * @version 1.141.1
45
45
  * @private
46
46
  * @ui5-restricted
47
47
  */
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @namespace
25
25
  * @alias sap.ui.fl.apply._internal.flexState.changes.UIChangesState
26
26
  * @since 1.121
27
- * @version 1.140.0
27
+ * @version 1.141.1
28
28
  * @private
29
29
  * @ui5-restricted
30
30
  */
@@ -7,7 +7,6 @@
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
9
9
  "sap/ui/fl/apply/_internal/flexState/FlexState",
10
- "sap/ui/fl/apply/_internal/flexState/changes/UIChangesState",
11
10
  "sap/ui/fl/apply/_internal/flexState/DataSelector",
12
11
  "sap/ui/fl/apply/_internal/flexState/compVariants/applyChangesOnVariant",
13
12
  "sap/ui/fl/apply/_internal/flexObjects/CompVariant",
@@ -16,7 +15,6 @@ sap.ui.define([
16
15
  ], function(
17
16
  Log,
18
17
  FlexState,
19
- UIChangesState,
20
18
  DataSelector,
21
19
  applyChangesOnVariant,
22
20
  CompVariant,
@@ -30,7 +28,7 @@ sap.ui.define([
30
28
  *
31
29
  * @namespace sap.ui.fl.apply._internal.flexState.compVariants.CompVariantManagementState
32
30
  * @since 1.129
33
- * @version 1.140.0
31
+ * @version 1.141.1
34
32
  * @private
35
33
  * @ui5-restricted
36
34
  */
@@ -160,7 +158,6 @@ sap.ui.define([
160
158
 
161
159
  function createVariant(mPropertyBag) {
162
160
  const oVariantInput = mPropertyBag.variantInput || {};
163
- const mAuthors = mPropertyBag.authors || {};
164
161
  const oVariantData = {
165
162
  fileName: oVariantInput.fileName,
166
163
  fileType: "variant",
@@ -181,7 +178,7 @@ sap.ui.define([
181
178
  }
182
179
  };
183
180
 
184
- return FlexObjectFactory.createCompVariant(oVariantData, mAuthors);
181
+ return FlexObjectFactory.createCompVariant(oVariantData);
185
182
  }
186
183
 
187
184
  function escapeSpecialIdCharacters(sId) {
@@ -8,12 +8,16 @@ sap.ui.define([
8
8
  "sap/base/util/restricted/_pick",
9
9
  "sap/ui/fl/apply/_internal/changes/Applier",
10
10
  "sap/ui/fl/apply/_internal/changes/Reverter",
11
- "sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState"
11
+ "sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler",
12
+ "sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
13
+ "sap/ui/fl/apply/_internal/flexState/FlexObjectState"
12
14
  ], function(
13
15
  _pick,
14
16
  Applier,
15
17
  Reverter,
16
- VariantManagementState
18
+ DependencyHandler,
19
+ VariantManagementState,
20
+ FlexObjectState
17
21
  ) {
18
22
  "use strict";
19
23
 
@@ -75,7 +79,7 @@ sap.ui.define([
75
79
  *
76
80
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.Switcher
77
81
  * @since 1.74
78
- * @version 1.140.0
82
+ * @version 1.141.1
79
83
  * @private
80
84
  * @ui5-restricted
81
85
  */
@@ -97,8 +101,21 @@ sap.ui.define([
97
101
  async switchVariant(mPropertyBag) {
98
102
  var mChangesToBeSwitched = getControlChangesForVariantSwitch(mPropertyBag);
99
103
 
100
- await Reverter.revertMultipleChanges(mChangesToBeSwitched.changesToBeReverted, mPropertyBag);
101
- await Applier.applyMultipleChanges(mChangesToBeSwitched.changesToBeApplied, mPropertyBag);
104
+ const oLiveDependencyMap = FlexObjectState.getLiveDependencyMap(mPropertyBag.reference);
105
+
106
+ // Early setting the changes as queued for revert/apply prevents potential timing issues
107
+ // when e.g. evaluating the App State after the switch
108
+ mChangesToBeSwitched.changesToBeReverted.forEach((oChange) => oChange.setQueuedForRevert());
109
+ mChangesToBeSwitched.changesToBeApplied.forEach((oChange) => {
110
+ if (!oChange.isApplyProcessFinished()) {
111
+ oChange.setQueuedForApply();
112
+ // Add change to the dependency map in advance so that any dependent changes are aware of the change
113
+ DependencyHandler.addRuntimeChangeToMap(oChange, mPropertyBag.appComponent, oLiveDependencyMap);
114
+ }
115
+ });
116
+
117
+ await Reverter.revertMultipleChanges(mChangesToBeSwitched.changesToBeReverted, {...mPropertyBag, skipSetQueued: true});
118
+ await Applier.applyMultipleChanges(mChangesToBeSwitched.changesToBeApplied, {...mPropertyBag, skipSetQueued: true});
102
119
  VariantManagementState.setCurrentVariant(mPropertyBag);
103
120
  }
104
121
 
@@ -14,7 +14,6 @@ sap.ui.define([
14
14
  "sap/ui/fl/apply/_internal/flexState/DataSelector",
15
15
  "sap/ui/fl/apply/_internal/flexState/FlexState",
16
16
  "sap/ui/fl/changeHandler/condenser/Classification",
17
- "sap/ui/fl/initial/_internal/Storage",
18
17
  "sap/ui/fl/LayerUtils"
19
18
  ], function(
20
19
  _omit,
@@ -26,7 +25,6 @@ sap.ui.define([
26
25
  DataSelector,
27
26
  FlexState,
28
27
  Classification,
29
- Storage,
30
28
  LayerUtils
31
29
  ) {
32
30
  "use strict";
@@ -55,7 +53,7 @@ sap.ui.define([
55
53
  *
56
54
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.VariantManagementState
57
55
  * @since 1.74
58
- * @version 1.140.0
56
+ * @version 1.141.1
59
57
  * @private
60
58
  * @ui5-restricted
61
59
  */
@@ -346,8 +344,8 @@ sap.ui.define([
346
344
  return true;
347
345
  }
348
346
 
349
- const aRelevantFlexObjectTypes = ["addFlexObject", "updateFlexObject", "removeFlexObject"];
350
- const bRelevantType = aRelevantFlexObjectTypes.includes(oUpdateInfo.type);
347
+ const aRelevantFlexObjectUpdateTypes = ["addFlexObject", "updateFlexObject", "removeFlexObject"];
348
+ const bRelevantType = aRelevantFlexObjectUpdateTypes.includes(oUpdateInfo.type);
351
349
  const aRelevantVariantFileTypes = ["ctrl_variant", "ctrl_variant_change", "ctrl_variant_management_change"];
352
350
  const bRelevantVariantType = aRelevantVariantFileTypes.includes(oUpdateInfo.updatedObject?.getFileType?.());
353
351
  const bHasVariantReference = oUpdateInfo.updatedObject?.getVariantReference?.();
@@ -495,14 +493,10 @@ sap.ui.define([
495
493
  * @param {string} mPropertyBag.variantReference - Variant reference to be loaded
496
494
  */
497
495
  VariantManagementState.loadVariant = async function(mPropertyBag) {
498
- const oStorageResponse = await Storage.loadFlVariant({
496
+ await FlexState.lazyLoadFlVariant({
499
497
  variantReference: mPropertyBag.variantReference,
500
498
  reference: mPropertyBag.reference
501
499
  });
502
- FlexState.updateWithDataProvided({
503
- reference: mPropertyBag.reference,
504
- newData: oStorageResponse
505
- });
506
500
  };
507
501
 
508
502
  /**
@@ -576,20 +570,43 @@ sap.ui.define([
576
570
  });
577
571
  };
578
572
 
573
+ VariantManagementState.updateVariant = function(mPropertyBag) {
574
+ oVariantManagementMapDataSelector.checkUpdate(
575
+ { reference: mPropertyBag.reference },
576
+ [{ type: "updateFlexObject", updatedObject: mPropertyBag.variant }]
577
+ );
578
+ };
579
+
579
580
  /**
580
581
  * Returns the current variant reference for a given variant management reference.
581
582
  *
582
583
  * @param {object} mPropertyBag - Object with the necessary properties
583
584
  * @param {string} mPropertyBag.vmReference - Variant management reference
584
585
  * @param {string} mPropertyBag.reference - Component reference
585
- * @returns {string} Reference of the current variant
586
+ * @returns {string | undefined} Reference of the current variant or undefined if VM does not exist
586
587
  */
587
588
  VariantManagementState.getCurrentVariantReference = function(mPropertyBag) {
588
589
  var oVariantManagementSection = oVariantManagementsDataSelector.get({
589
590
  variantManagementReference: mPropertyBag.vmReference,
590
591
  reference: mPropertyBag.reference
591
592
  });
592
- return oVariantManagementSection.currentVariant;
593
+ return oVariantManagementSection?.currentVariant;
594
+ };
595
+
596
+ /**
597
+ * Returns the default variant reference for a given variant management reference.
598
+ *
599
+ * @param {object} mPropertyBag - Object with the necessary properties
600
+ * @param {string} mPropertyBag.vmReference - Variant management reference
601
+ * @param {string} mPropertyBag.reference - Component reference
602
+ * @returns {string | undefined} Reference of the default variant or undefined if VM does not exist
603
+ */
604
+ VariantManagementState.getDefaultVariantReference = function(mPropertyBag) {
605
+ const oVariantManagement = oVariantManagementsDataSelector.get({
606
+ variantManagementReference: mPropertyBag.vmReference,
607
+ reference: mPropertyBag.reference
608
+ });
609
+ return oVariantManagement?.defaultVariant;
593
610
  };
594
611
 
595
612
  /**
@@ -625,6 +642,24 @@ sap.ui.define([
625
642
  return Object.keys(oVariantsMap);
626
643
  };
627
644
 
645
+ /**
646
+ * Returns the variant management reference for a given variant reference.
647
+ *
648
+ * @param {string} sReference - Flex reference of the current app
649
+ * @param {string} sVariantReference - Variant reference to search for
650
+ * @returns {string | undefined} Variant management reference if found, otherwise undefined
651
+ */
652
+ VariantManagementState.getVariantManagementReferenceForVariant = function(sReference, sVariantReference) {
653
+ const oVariantsMap = oVariantManagementMapDataSelector.get({
654
+ reference: sReference
655
+ });
656
+ return Object.entries(oVariantsMap).find(([, oVM]) => {
657
+ return oVM.variants.some((oVariant) => {
658
+ return oVariant.key === sVariantReference;
659
+ });
660
+ })?.[0];
661
+ };
662
+
628
663
  /**
629
664
  * Returns all variants saved in the FlexState.
630
665
  *
@@ -823,5 +858,12 @@ sap.ui.define([
823
858
  return Promise.all(Object.values(mVariantSwitchPromises[sReference] || {}));
824
859
  };
825
860
 
861
+ VariantManagementState.getVariantsForVariantManagement = function(mPropertyBag) {
862
+ const oVariantManagement = oVariantManagementsDataSelector.get({
863
+ variantManagementReference: mPropertyBag.vmReference,
864
+ reference: mPropertyBag.reference
865
+ });
866
+ return oVariantManagement?.variants || [];
867
+ };
826
868
  return VariantManagementState;
827
869
  });
@@ -0,0 +1,47 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ "sap/ui/fl/apply/_internal/DelegateMediator",
9
+ "sap/ui/fl/changeHandler/ChangeAnnotation",
10
+ "sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration"
11
+ ], function(
12
+ DelegateMediator,
13
+ ChangeAnnotation,
14
+ ChangeHandlerRegistration
15
+ ) {
16
+ "use strict";
17
+
18
+ /**
19
+ * Initialization of the apply bundle - takes care of registering change handlers
20
+ * This module must be loaded by every publicly used module of the apply bundle.
21
+ *
22
+ * @name sap.ui.fl.apply._internal.init
23
+ * @author SAP SE
24
+ * @version 1.141.1
25
+ * @since 1.141.0
26
+ * @private
27
+ */
28
+ ChangeHandlerRegistration.registerPredefinedChangeHandlers();
29
+ ChangeHandlerRegistration.getChangeHandlersOfLoadedLibsAndRegisterOnNewLoadedLibs();
30
+ ChangeHandlerRegistration.registerAnnotationChangeHandler({
31
+ changeHandler: ChangeAnnotation,
32
+ isDefaultChangeHandler: true
33
+ });
34
+
35
+ DelegateMediator.registerReadDelegate({
36
+ modelType: "sap.ui.model.odata.v4.ODataModel",
37
+ delegate: "sap/ui/fl/write/_internal/delegates/ODataV4ReadDelegate"
38
+ });
39
+ DelegateMediator.registerReadDelegate({
40
+ modelType: "sap.ui.model.odata.v2.ODataModel",
41
+ delegate: "sap/ui/fl/write/_internal/delegates/ODataV2ReadDelegate"
42
+ });
43
+ DelegateMediator.registerReadDelegate({
44
+ modelType: "sap.ui.model.odata.ODataModel",
45
+ delegate: "sap/ui/fl/write/_internal/delegates/ODataV2ReadDelegate"
46
+ });
47
+ });
@@ -241,6 +241,10 @@ sap.ui.define([
241
241
  // the functionality still works without component Id, but the FlexState will be initialized again
242
242
  // once the component Id is set. This will happen in the instanceCreated hook.
243
243
  // This can only be improved once the generated component instance Id is available in the factory config
244
+ if (!oPropertyBag.factoryConfig) {
245
+ Log.error("Could not fetch Annotation changes. This can be caused by creating a component in an unsupported way");
246
+ return [];
247
+ }
244
248
  const sAppComponentId = oPropertyBag.owner?.id || oPropertyBag.factoryConfig.id || oPropertyBag.factoryConfig.settings?.id;
245
249
 
246
250
  const oComponentData = oOwnerComponent?.getComponentData()
@@ -265,11 +269,16 @@ sap.ui.define([
265
269
 
266
270
  const aReturn = [];
267
271
  for (const oAnnotationChange of aRelevantAnnotationChanges) {
268
- const oChangeHandler = await ChangeHandlerRegistration.getAnnotationChangeHandler({
269
- changeType: oAnnotationChange.getChangeType()
270
- });
271
- aReturn.push(await oChangeHandler.applyChange(oAnnotationChange));
272
- oAnnotationChange._appliedOnModel = true;
272
+ try {
273
+ const oChangeHandler = await ChangeHandlerRegistration.getAnnotationChangeHandler({
274
+ changeType: oAnnotationChange.getChangeType()
275
+ });
276
+ aReturn.push(await oChangeHandler.applyChange(oAnnotationChange));
277
+ oAnnotationChange._appliedOnModel = true;
278
+ } catch (oError) {
279
+ // Continue with next change
280
+ Log.error(`Annotation change with id ${oAnnotationChange.getId()} could not be applied to the model`, oError);
281
+ }
273
282
  }
274
283
  return aReturn;
275
284
  } catch (oError) {
@@ -5,7 +5,8 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration"
8
+ "sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration",
9
+ "sap/ui/fl/apply/_internal/init"
9
10
  ], function(
10
11
  ChangeHandlerRegistration
11
12
  ) {