@openui5/sap.ui.fl 1.121.1 → 1.122.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 (203) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +3 -3
  3. package/src/sap/ui/fl/.library +1 -1
  4. package/src/sap/ui/fl/ChangePersistence.js +1 -49
  5. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  6. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  7. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  8. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  9. package/src/sap/ui/fl/FlexController.js +23 -21
  10. package/src/sap/ui/fl/FlexControllerFactory.js +1 -1
  11. package/src/sap/ui/fl/LayerUtils.js +1 -1
  12. package/src/sap/ui/fl/Utils.js +2 -2
  13. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  14. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +224 -204
  15. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  16. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +2 -2
  17. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +16 -17
  39. package/src/sap/ui/fl/apply/_internal/extensionPoint/Registry.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/flexObjects/getVariantAuthor.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +61 -48
  50. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  51. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +2 -2
  55. package/src/sap/ui/fl/apply/_internal/flexState/changes/UIChangesState.js +35 -5
  56. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  57. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/Utils.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +11 -30
  59. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +6 -4
  60. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
  61. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -8
  62. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +38 -7
  63. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  64. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +0 -1
  65. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  66. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  69. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  72. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  73. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  74. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  75. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  76. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  77. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  78. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  79. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  80. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  81. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  82. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  83. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  84. package/src/sap/ui/fl/initial/_internal/FlexConfiguration.js +1 -1
  85. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  86. package/src/sap/ui/fl/initial/_internal/StorageFeaturesMerger.js +1 -1
  87. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  88. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  89. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  90. package/src/sap/ui/fl/initial/_internal/connectors/BtpServiceConnector.js +2 -2
  91. package/src/sap/ui/fl/initial/_internal/connectors/KeyUserConnector.js +2 -2
  92. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +18 -5
  93. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  94. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  95. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  96. package/src/sap/ui/fl/library.js +43 -43
  97. package/src/sap/ui/fl/messagebundle_ar.properties +2 -0
  98. package/src/sap/ui/fl/messagebundle_bg.properties +2 -0
  99. package/src/sap/ui/fl/messagebundle_ca.properties +2 -0
  100. package/src/sap/ui/fl/messagebundle_cnr.properties +2 -0
  101. package/src/sap/ui/fl/messagebundle_cs.properties +2 -0
  102. package/src/sap/ui/fl/messagebundle_cy.properties +2 -0
  103. package/src/sap/ui/fl/messagebundle_da.properties +2 -0
  104. package/src/sap/ui/fl/messagebundle_de.properties +2 -0
  105. package/src/sap/ui/fl/messagebundle_el.properties +2 -0
  106. package/src/sap/ui/fl/messagebundle_en.properties +2 -0
  107. package/src/sap/ui/fl/messagebundle_en_GB.properties +2 -0
  108. package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +2 -0
  109. package/src/sap/ui/fl/messagebundle_es.properties +2 -0
  110. package/src/sap/ui/fl/messagebundle_es_MX.properties +2 -0
  111. package/src/sap/ui/fl/messagebundle_et.properties +2 -0
  112. package/src/sap/ui/fl/messagebundle_fi.properties +2 -0
  113. package/src/sap/ui/fl/messagebundle_fr.properties +2 -0
  114. package/src/sap/ui/fl/messagebundle_fr_CA.properties +2 -0
  115. package/src/sap/ui/fl/messagebundle_hi.properties +2 -0
  116. package/src/sap/ui/fl/messagebundle_hr.properties +2 -0
  117. package/src/sap/ui/fl/messagebundle_hu.properties +2 -0
  118. package/src/sap/ui/fl/messagebundle_id.properties +2 -0
  119. package/src/sap/ui/fl/messagebundle_it.properties +2 -0
  120. package/src/sap/ui/fl/messagebundle_iw.properties +2 -0
  121. package/src/sap/ui/fl/messagebundle_ja.properties +2 -0
  122. package/src/sap/ui/fl/messagebundle_kk.properties +3 -1
  123. package/src/sap/ui/fl/messagebundle_ko.properties +2 -0
  124. package/src/sap/ui/fl/messagebundle_lt.properties +2 -0
  125. package/src/sap/ui/fl/messagebundle_lv.properties +2 -0
  126. package/src/sap/ui/fl/messagebundle_mk.properties +3 -1
  127. package/src/sap/ui/fl/messagebundle_ms.properties +2 -0
  128. package/src/sap/ui/fl/messagebundle_nl.properties +2 -0
  129. package/src/sap/ui/fl/messagebundle_no.properties +2 -0
  130. package/src/sap/ui/fl/messagebundle_pl.properties +2 -0
  131. package/src/sap/ui/fl/messagebundle_pt.properties +2 -0
  132. package/src/sap/ui/fl/messagebundle_pt_PT.properties +2 -0
  133. package/src/sap/ui/fl/messagebundle_ro.properties +2 -0
  134. package/src/sap/ui/fl/messagebundle_ru.properties +2 -0
  135. package/src/sap/ui/fl/messagebundle_sh.properties +2 -0
  136. package/src/sap/ui/fl/messagebundle_sk.properties +2 -0
  137. package/src/sap/ui/fl/messagebundle_sl.properties +2 -0
  138. package/src/sap/ui/fl/messagebundle_sr.properties +2 -0
  139. package/src/sap/ui/fl/messagebundle_sv.properties +2 -0
  140. package/src/sap/ui/fl/messagebundle_th.properties +2 -0
  141. package/src/sap/ui/fl/messagebundle_tr.properties +2 -0
  142. package/src/sap/ui/fl/messagebundle_uk.properties +3 -1
  143. package/src/sap/ui/fl/messagebundle_vi.properties +2 -0
  144. package/src/sap/ui/fl/messagebundle_zh_CN.properties +2 -0
  145. package/src/sap/ui/fl/messagebundle_zh_TW.properties +2 -0
  146. package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +1 -1
  147. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
  148. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  149. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  150. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  151. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  152. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  153. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  154. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  155. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  156. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  157. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  158. package/src/sap/ui/fl/util/IFrame.js +1 -1
  159. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  160. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  161. package/src/sap/ui/fl/variants/VariantModel.js +1 -1
  162. package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +3 -2
  163. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  164. package/src/sap/ui/fl/write/_internal/Versions.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  166. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  167. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  168. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  169. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +1 -1
  170. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  171. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  172. package/src/sap/ui/fl/write/_internal/connectors/BtpServiceConnector.js +9 -9
  173. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +19 -20
  174. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
  175. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  176. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  177. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  178. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  180. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  181. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  182. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  183. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  184. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  186. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  187. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  188. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  189. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  190. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  191. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  192. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  193. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +5 -18
  194. package/src/sap/ui/fl/write/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  195. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +5 -1
  196. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  197. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  198. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +6 -4
  199. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +8 -13
  200. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
  201. package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +0 -6
  202. package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +17 -2
  203. package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +0 -91
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * @namespace
49
49
  * @alias sap.ui.fl.apply._internal.changes.descriptor.ui5.AddLibrary
50
50
  * @since 1.74
51
- * @version 1.121.1
51
+ * @version 1.122.0
52
52
  * @private
53
53
  * @ui5-restricted sap.ui.fl.apply._internal
54
54
  */
@@ -95,7 +95,7 @@ sap.ui.define([
95
95
  * @namespace
96
96
  * @alias sap.ui.fl.apply._internal.changes.descriptor.ui5.AddNewModel
97
97
  * @since 1.87
98
- * @version 1.121.1
98
+ * @version 1.122.0
99
99
  * @private
100
100
  * @ui5-restricted sap.ui.fl.apply._internal
101
101
  */
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  *
24
24
  * @namespace
25
25
  * @alias sap.ui.fl.apply._internal.changes.descriptor.ui5.AddNewModelEnhanceWith
26
- * @version 1.121.1
26
+ * @version 1.122.0
27
27
  * @private
28
28
  * @ui5-restricted sap.ui.fl.apply._internal
29
29
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace
22
22
  * @alias sap.ui.fl.apply._internal.changes.descriptor.ui5.SetFlexExtensionPointEnabled
23
- * @version 1.121.1
23
+ * @version 1.122.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @namespace
23
23
  * @alias sap.ui.fl.apply._internal.changes.descriptor.ui5.SetMinUI5Version
24
- * @version 1.121.1
24
+ * @version 1.122.0
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl.apply._internal
27
27
  */
@@ -12,7 +12,7 @@ sap.ui.define([], function() {
12
12
  *
13
13
  * @namespace sap.ui.fl.initial._internal.connectors.Utils
14
14
  * @since 1.70
15
- * @version 1.121.1
15
+ * @version 1.122.0
16
16
  * @private
17
17
  * @ui5-restricted sap.ui.fl.initial._internal, sap.ui.fl.write._internal
18
18
  */
@@ -6,26 +6,25 @@
6
6
 
7
7
  // Provides object sap.ui.fl.apply._internal.extensionPoint.Processor
8
8
  sap.ui.define([
9
+ "sap/base/util/merge",
10
+ "sap/ui/base/DesignTime",
11
+ "sap/ui/base/SyncPromise",
12
+ "sap/ui/core/util/reflection/JsControlTreeModifier",
9
13
  "sap/ui/fl/apply/_internal/changes/Applier",
10
14
  "sap/ui/fl/apply/_internal/extensionPoint/Registry",
11
- "sap/ui/fl/apply/_internal/flexState/FlexState",
12
15
  "sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState",
13
- "sap/ui/fl/Utils",
14
- "sap/ui/core/util/reflection/JsControlTreeModifier",
15
- "sap/ui/base/SyncPromise",
16
- "sap/base/util/merge",
17
- "sap/ui/base/DesignTime"
18
- ],
19
- function(
16
+ "sap/ui/fl/apply/_internal/flexState/ManifestUtils",
17
+ "sap/ui/fl/Utils"
18
+ ], function(
19
+ merge,
20
+ DesignTime,
21
+ SyncPromise,
22
+ JsControlTreeModifier,
20
23
  Applier,
21
24
  ExtensionPointRegistry,
22
- FlexState,
23
25
  ExtensionPointState,
24
- Utils,
25
- JsControlTreeModifier,
26
- SyncPromise,
27
- merge,
28
- DesignTime
26
+ ManifestUtils,
27
+ Utils
29
28
  ) {
30
29
  "use strict";
31
30
 
@@ -37,7 +36,7 @@ function(
37
36
  * @class
38
37
  * @constructor
39
38
  * @author SAP SE
40
- * @version 1.121.1
39
+ * @version 1.122.0
41
40
  */
42
41
  var Processor;
43
42
 
@@ -109,10 +108,10 @@ function(
109
108
  mPropertyBag.modifier = JsControlTreeModifier;
110
109
  mPropertyBag.viewId = oExtensionPoint.view.getId();
111
110
  mPropertyBag.componentId = oAppComponent.getId();
111
+ mPropertyBag.reference = ManifestUtils.getFlexReferenceForControl(oAppComponent);
112
112
 
113
113
  return Processor.registerExtensionPoint(mExtensionPointInfo)
114
- .then(FlexState.initialize.bind(FlexState, mPropertyBag))
115
- // enhance exiting extension point changes with mExtensionPointInfo
114
+ // enhance existing extension point changes with mExtensionPointInfo
116
115
  .then(ExtensionPointState.enhanceExtensionPointChanges.bind(ExtensionPointState, mPropertyBag, oExtensionPoint))
117
116
  .then(Processor.createDefaultContent.bind(this, oExtensionPoint, bSkipInsertContent, applyExtensionPoint))
118
117
  .then(Processor.addDefaultContentToExtensionPointInfo.bind(this, mExtensionPointInfo, bSkipInsertContent));
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @alias sap.ui.fl.apply._internal.extensionPoint.Registry
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.121.1
21
+ * @version 1.122.0
22
22
  *
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @extends sap.ui.fl.apply._internal.flexObjects.FlexObject
19
19
  * @alias sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange
20
20
  * @since 1.105
21
- * @version 1.121.1
21
+ * @version 1.122.0
22
22
  * @private
23
23
  * @ui5-restricted
24
24
  */
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.fl.apply._internal.flexObjects.Variant
33
33
  * @alias sap.ui.fl.apply._internal.flexObjects.CompVariant
34
34
  * @since 1.103
35
- * @version 1.121.1
35
+ * @version 1.122.0
36
36
  * @private
37
37
  * @ui5-restricted sap.ui.fl, sap.ui.comp
38
38
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @extends sap.ui.fl.apply._internal.flexObjects.FlexObject
21
21
  * @alias sap.ui.fl.apply._internal.flexObjects.ControllerExtensionChange
22
22
  * @since 1.105
23
- * @version 1.121.1
23
+ * @version 1.122.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl
26
26
  */
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.fl.apply._internal.flexObjects.Variant
23
23
  * @alias sap.ui.fl.apply._internal.flexObjects.FlVariant
24
24
  * @since 1.104
25
- * @version 1.121.1
25
+ * @version 1.122.0
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl
28
28
  */
@@ -69,7 +69,7 @@ sap.ui.define([
69
69
  * @extends sap.ui.base.ManagedObject
70
70
  * @alias sap.ui.fl.apply._internal.flexObjects.FlexObject
71
71
  * @since 1.100
72
- * @version 1.121.1
72
+ * @version 1.122.0
73
73
  * @private
74
74
  * @ui5-restricted sap.ui.fl
75
75
  */
@@ -97,7 +97,7 @@ sap.ui.define([
97
97
  *
98
98
  * @namespace sap.ui.fl.apply._internal.flexObjects.FlexObjectFactory
99
99
  * @since 1.100
100
- * @version 1.121.1
100
+ * @version 1.122.0
101
101
  * @private
102
102
  * @ui5-restricted sap.ui.fl
103
103
  */
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.fl.apply._internal.flexObjects.FlexObject
27
27
  * @alias sap.ui.fl.apply._internal.flexObjects.UIChange
28
28
  * @since 1.109
29
- * @version 1.121.1
29
+ * @version 1.122.0
30
30
  * @private
31
31
  * @ui5-restricted
32
32
  */
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * @extends sap.ui.fl.apply._internal.flexObjects.FlexObject
18
18
  * @alias sap.ui.fl.apply._internal.flexObjects.Variant
19
19
  * @since 1.103
20
- * @version 1.121.1
20
+ * @version 1.122.0
21
21
  * @private
22
22
  * @ui5-restricted sap.ui.fl
23
23
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @function
23
23
  * @since 1.121
24
- * @version 1.121.1
24
+ * @version 1.122.0
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl
27
27
  * @alias module:sap/ui/fl/apply/_internal/flexState/compVariants/getVariantAuthor
@@ -20,6 +20,7 @@ sap.ui.define([
20
20
  "sap/ui/fl/apply/_internal/flexState/Loader",
21
21
  "sap/ui/fl/apply/_internal/flexState/ManifestUtils",
22
22
  "sap/ui/fl/initial/_internal/FlexInfoSession",
23
+ "sap/ui/fl/initial/_internal/StorageUtils",
23
24
  "sap/ui/fl/LayerUtils",
24
25
  "sap/ui/fl/requireAsync"
25
26
  ], function(
@@ -38,6 +39,7 @@ sap.ui.define([
38
39
  Loader,
39
40
  ManifestUtils,
40
41
  FlexInfoSession,
42
+ StorageUtils,
41
43
  LayerUtils,
42
44
  requireAsync
43
45
  ) {
@@ -76,6 +78,7 @@ sap.ui.define([
76
78
  * liveDependencyMap: {...}
77
79
  * }
78
80
  * }
81
+ * emptyState: <boolean>,
79
82
  * partialFlexState: <boolean>,
80
83
  * componentId: "<componentId>",
81
84
  * componentData: {...}
@@ -83,7 +86,7 @@ sap.ui.define([
83
86
  *
84
87
  * @namespace sap.ui.fl.apply._internal.flexState.FlexState
85
88
  * @since 1.73
86
- * @version 1.121.1
89
+ * @version 1.122.0
87
90
  * @private
88
91
  * @ui5-restricted sap.ui.fl.apply._internal
89
92
  */
@@ -205,7 +208,7 @@ sap.ui.define([
205
208
 
206
209
  function getInstanceEntryOrThrowError(sReference, sMapName) {
207
210
  if (!_mInstances[sReference]) {
208
- throw new Error("State is not yet initialized");
211
+ initializeEmptyState(sReference);
209
212
  }
210
213
 
211
214
  if (!_mInstances[sReference].preparedMaps[sMapName]) {
@@ -306,7 +309,7 @@ sap.ui.define([
306
309
  function initializeNewInstance(mPropertyBag) {
307
310
  var sReference = mPropertyBag.reference;
308
311
  var bDataUpdated = false;
309
- if (!_mInstances[sReference].componentData) {
312
+ if (!_mInstances[sReference].componentData && mPropertyBag.componentId) {
310
313
  var oComponent = Component.getComponentById(mPropertyBag.componentId);
311
314
  _mInstances[sReference].componentData = oComponent ? oComponent.getComponentData() : mPropertyBag.componentData;
312
315
  bDataUpdated = true;
@@ -356,8 +359,6 @@ sap.ui.define([
356
359
  _mInitPromises[mPropertyBag.reference] = Loader.loadFlexData(mPropertyBag)
357
360
  .then(async (mResponse) => {
358
361
  mResponse.authors = await Loader.loadVariantsAuthors(mPropertyBag.reference);
359
- return mResponse;
360
- }).then((mResponse) => {
361
362
  // The following line is used by the Flex Support Tool to set breakpoints - please adjust the tool if you change it!
362
363
  _mInstances[mPropertyBag.reference] = merge({}, {
363
364
  unfilteredStorageResponse: mResponse,
@@ -394,7 +395,6 @@ sap.ui.define([
394
395
  mInitProperties.partialFlexData = merge({}, oFlexInstance.unfilteredStorageResponse.changes);
395
396
  mInitProperties.reInitialize = true;
396
397
  }
397
- return mInitProperties;
398
398
  }
399
399
 
400
400
  function checkComponentId(mInitProperties) {
@@ -403,7 +403,6 @@ sap.ui.define([
403
403
  if (!mInitProperties.reInitialize && sFlexInstanceComponentId !== mInitProperties.componentId) {
404
404
  mInitProperties.reInitialize = true;
405
405
  }
406
- return mInitProperties;
407
406
  }
408
407
 
409
408
  // TODO: get rid of the following module dependencies as soon as the change state
@@ -417,9 +416,25 @@ sap.ui.define([
417
416
  });
418
417
  }
419
418
 
420
- // TODO: the additional safeguard for the runtimePersistence will not be necessary after the FlexState.initialize rework
419
+ function initializeEmptyState(sReference) {
420
+ _mInstances[sReference] = {
421
+ unfilteredStorageResponse: { changes: StorageUtils.getEmptyFlexDataResponse() },
422
+ storageResponse: { changes: StorageUtils.getEmptyFlexDataResponse() },
423
+ preparedMaps: {},
424
+ emptyState: true,
425
+ // this makes sure that a proper initialize will still work as expected
426
+ reInitialize: true,
427
+ componentId: ""
428
+ };
429
+ _mInitPromises[sReference] = Promise.resolve();
430
+ initializeNewInstance({ reference: sReference });
431
+ }
432
+
421
433
  FlexState.getRuntimeOnlyData = function(sReference) {
422
- return _mInstances[sReference]?.runtimePersistence?.runtimeOnlyData || {};
434
+ if (!_mInstances[sReference]) {
435
+ initializeEmptyState(sReference);
436
+ }
437
+ return _mInstances[sReference].runtimePersistence.runtimeOnlyData;
423
438
  };
424
439
 
425
440
  /**
@@ -438,30 +453,24 @@ sap.ui.define([
438
453
  * @param {boolean} [mPropertyBag.partialFlexState=false] - if true state is initialized partially and does not include flex bundles
439
454
  * @returns {Promise<undefined>} Resolves a promise as soon as FlexState is initialized
440
455
  */
441
- FlexState.initialize = function(mPropertyBag) {
442
- return Promise.all([
443
- lazyLoadModules()
444
- ])
445
- .then(function() {
446
- enhancePropertyBag(mPropertyBag);
447
- var sFlexReference = mPropertyBag.reference;
448
-
449
- if (_mInitPromises[sFlexReference]) {
450
- return _mInitPromises[sFlexReference]
451
- .then(checkPartialFlexState.bind(null, mPropertyBag))
452
- .then(checkComponentId)
453
- .then(function(mEvaluatedProperties) {
454
- return mEvaluatedProperties.reInitialize
455
- ? loadFlexData(mEvaluatedProperties)
456
- : _mInstances[sFlexReference].unfilteredStorageResponse;
457
- });
456
+ FlexState.initialize = async function(mPropertyBag) {
457
+ await lazyLoadModules();
458
+ const mProperties = merge({}, mPropertyBag);
459
+ enhancePropertyBag(mProperties);
460
+ var sFlexReference = mProperties.reference;
461
+
462
+ if (_mInitPromises[sFlexReference]) {
463
+ await _mInitPromises[sFlexReference];
464
+ checkPartialFlexState(mProperties);
465
+ checkComponentId(mProperties);
466
+ if (mProperties.reInitialize) {
467
+ await loadFlexData(mProperties);
458
468
  }
469
+ } else {
470
+ await loadFlexData(mProperties);
471
+ }
459
472
 
460
- return loadFlexData(mPropertyBag);
461
- })
462
- .then(function(mPropertyBag) {
463
- initializeNewInstance(mPropertyBag);
464
- }.bind(null, mPropertyBag));
473
+ initializeNewInstance(mProperties);
465
474
  };
466
475
 
467
476
  /**
@@ -507,7 +516,7 @@ sap.ui.define([
507
516
  * @param {string} [mPropertyBag.adaptationId] - Context-based adaptation for which the state should be updated
508
517
  * @returns {Promise<undefined>} Resolves when the data is loaded and the runtime persistence is updated
509
518
  */
510
- FlexState.update = function(mPropertyBag) {
519
+ FlexState.update = async function(mPropertyBag) {
511
520
  enhancePropertyBag(mPropertyBag);
512
521
  var sReference = mPropertyBag.reference;
513
522
  var oCurrentRuntimePersistence = _mInstances[sReference].runtimePersistence;
@@ -521,19 +530,17 @@ sap.ui.define([
521
530
  _oChangePersistenceFactory._instanceCache[sReference].removeDirtyChanges();
522
531
  }
523
532
 
524
- return (_mInitPromises[sReference] || Promise.resolve())
525
- .then(loadFlexData.bind(this, mPropertyBag))
526
- .then(function() {
527
- _mInstances[sReference].storageResponse = filterByMaxLayer(sReference, _mInstances[sReference].unfilteredStorageResponse);
528
- var bUpdated = updateRuntimePersistence(
529
- sReference,
530
- _mInstances[sReference].storageResponse,
531
- oCurrentRuntimePersistence
532
- );
533
- if (bUpdated) {
534
- oFlexObjectsDataSelector.checkUpdate({ reference: sReference });
535
- }
536
- });
533
+ await _mInitPromises[sReference];
534
+ await loadFlexData(mPropertyBag);
535
+ _mInstances[sReference].storageResponse = filterByMaxLayer(sReference, _mInstances[sReference].unfilteredStorageResponse);
536
+ var bUpdated = updateRuntimePersistence(
537
+ sReference,
538
+ _mInstances[sReference].storageResponse,
539
+ oCurrentRuntimePersistence
540
+ );
541
+ if (bUpdated) {
542
+ oFlexObjectsDataSelector.checkUpdate({ reference: sReference });
543
+ }
537
544
  };
538
545
 
539
546
  function getChangeCategory(oChangeDefinition) {
@@ -619,9 +626,6 @@ sap.ui.define([
619
626
 
620
627
  FlexState.clearState = function(sReference) {
621
628
  if (sReference) {
622
- delete _mInstances[sReference];
623
- delete _mInitPromises[sReference];
624
- oFlexObjectsDataSelector.clearCachedResult({ reference: sReference });
625
629
  // TODO: get rid of the following deletes as soon as the change state
626
630
  // is migrated from changePersistenceFactory to the FlexState
627
631
  if (
@@ -630,6 +634,9 @@ sap.ui.define([
630
634
  ) {
631
635
  _oChangePersistenceFactory._instanceCache[sReference].removeDirtyChanges();
632
636
  }
637
+ delete _mInstances[sReference];
638
+ delete _mInitPromises[sReference];
639
+ oFlexObjectsDataSelector.clearCachedResult({ reference: sReference });
633
640
  } else {
634
641
  _mInstances = {};
635
642
  _mInitPromises = {};
@@ -715,6 +722,9 @@ sap.ui.define([
715
722
  * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oFlexObject - Flexibility object
716
723
  */
717
724
  FlexState.addDirtyFlexObject = function(sReference, oFlexObject) {
725
+ if (!_mInstances[sReference]) {
726
+ initializeEmptyState(sReference);
727
+ }
718
728
  const sAdaptationLayer = FlexInfoSession.getByReference(sReference)?.adaptationLayer;
719
729
  const bFlexObjectsOverAdaptationLayer = !!sAdaptationLayer
720
730
  && LayerUtils.isOverLayer(oFlexObject.getLayer(), sAdaptationLayer);
@@ -738,6 +748,9 @@ sap.ui.define([
738
748
  * @param {array.<sap.ui.fl.apply._internal.flexObjects.FlexObject>} aFlexObjects - Flexibility objects
739
749
  */
740
750
  FlexState.addDirtyFlexObjects = function(sReference, aFlexObjects) {
751
+ if (!_mInstances[sReference]) {
752
+ initializeEmptyState(sReference);
753
+ }
741
754
  const sAdaptationLayer = FlexInfoSession.getByReference(sReference)?.adaptationLayer;
742
755
  aFlexObjects = !sAdaptationLayer ? aFlexObjects : aFlexObjects
743
756
  .filter((oFlexObject) => !LayerUtils.isOverLayer(oFlexObject.getLayer(), sAdaptationLayer));
@@ -102,7 +102,7 @@ sap.ui.define([
102
102
  *
103
103
  * @namespace sap.ui.fl.apply._internal.flexState.Loader
104
104
  * @since 1.74
105
- * @version 1.121.1
105
+ * @version 1.122.0
106
106
  * @private
107
107
  * @ui5-restricted sap.ui.fl.apply._internal.flexState
108
108
  */
@@ -78,7 +78,7 @@ function(
78
78
  *
79
79
  * @namespace sap.ui.fl.apply._internal.flexState.ManifestUtils
80
80
  * @since 1.74
81
- * @version 1.121.1
81
+ * @version 1.122.0
82
82
  * @private
83
83
  */
84
84
  var ManifestUtils = {
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @namespace sap.ui.fl.apply._internal.flexState.UI2Personalization.UI2PersonalizationState
18
18
  * @since 1.75
19
- * @version 1.121.1
19
+ * @version 1.122.0
20
20
  * @private
21
21
  * @ui5-restricted
22
22
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.flexState.changes.DependencyHandler
22
22
  * @since 1.74
23
- * @version 1.121.1
23
+ * @version 1.122.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl
26
26
  */
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  *
40
40
  * @namespace sap.ui.fl.apply._internal.flexState.changes.ExtensionPointState
41
41
  * @since 1.79
42
- * @version 1.121.1
42
+ * @version 1.122.0
43
43
  * @private
44
44
  * @ui5-restricted
45
45
  */
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  if (oChange.getSelector().name !== mPropertyBag.extensionPointName) {
50
50
  return false;
51
51
  }
52
- return ChangesUtils.filterChangeByView(mPropertyBag, oChange);
52
+ return ChangesUtils.isChangeInView(mPropertyBag, oChange);
53
53
  }
54
54
 
55
55
  function isValidForRuntimeOnlyChanges(oChange, mExtensionPointInfo) {
@@ -5,7 +5,6 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/base/util/includes",
9
8
  "sap/base/util/merge",
10
9
  "sap/ui/core/util/reflection/JsControlTreeModifier",
11
10
  "sap/ui/fl/apply/_internal/changes/Utils",
@@ -15,7 +14,6 @@ sap.ui.define([
15
14
  "sap/ui/fl/apply/_internal/flexState/FlexState",
16
15
  "sap/ui/fl/apply/_internal/flexState/ManifestUtils"
17
16
  ], (
18
- includes,
19
17
  merge,
20
18
  JsControlTreeModifier,
21
19
  Utils,
@@ -36,7 +34,7 @@ sap.ui.define([
36
34
  * @namespace
37
35
  * @alias sap.ui.fl.apply._internal.flexState.changes.UIChangesState
38
36
  * @since 1.121
39
- * @version 1.121.1
37
+ * @version 1.122.0
40
38
  * @private
41
39
  * @ui5-restricted
42
40
  */
@@ -57,7 +55,7 @@ sap.ui.define([
57
55
  const sControlId = JsControlTreeModifier.getControlIdBySelector(oDependentControlSelector, oAppComponent);
58
56
  aNewValidControlDependencies.push(oDependentControlSelector);
59
57
  oDependencyMap.mControlsWithDependencies[sControlId] ||= [];
60
- if (!includes(oDependencyMap.mControlsWithDependencies[sControlId], oChange.getId())) {
58
+ if (!oDependencyMap.mControlsWithDependencies[sControlId].includes(oChange.getId())) {
61
59
  oDependencyMap.mControlsWithDependencies[sControlId].push(oChange.getId());
62
60
  }
63
61
  }
@@ -90,7 +88,7 @@ sap.ui.define([
90
88
  parentDataSelector: oAllUIChangesDataSelector,
91
89
  executeFunction(aFlexObjects) {
92
90
  return aFlexObjects.filter((oFlexObject) => {
93
- return !oFlexObject.getVariantReference();
91
+ return !oFlexObject.getVariantReference() && !oFlexObject.getSelector().persistencyKey;
94
92
  });
95
93
  },
96
94
  checkInvalidation(mParameters, oUpdateInfo) {
@@ -143,6 +141,21 @@ sap.ui.define([
143
141
  return oCombinedDepMap;
144
142
  };
145
143
 
144
+ /**
145
+ * Fetches all UIChanges that can be applied. This includes the UIChanges of any current FlVariant.
146
+ * This excludes update changes for CompVariants
147
+ *
148
+ * @param {string} sReference - Flex Reference
149
+ * @returns {sap.ui.fl.apply._internal.flexObjects.UIChange[]} Returns all applicable UIChanges
150
+ */
151
+ UIChangesState.getAllApplicableUIChanges = function(sReference) {
152
+ const aVMIndependentUIChanges = oVMIndependentUIChangesDataSelector.get({reference: sReference});
153
+ return aVMIndependentUIChanges.concat(VariantManagementState.getInitialChanges({
154
+ reference: sReference,
155
+ includeDirtyChanges: true
156
+ }));
157
+ };
158
+
146
159
  /**
147
160
  * Fetches the current dependency map from the Flex State.
148
161
  * This map is continuously being modified as changes are getting applied.
@@ -181,6 +194,23 @@ sap.ui.define([
181
194
  }
182
195
  };
183
196
 
197
+ /**
198
+ * Checks the current dependencies map for any open (unresolved) dependencies belonging to the given control
199
+ * and returns the open dependent changes.
200
+ *
201
+ * @param {object} oSelector - Selector of the control
202
+ * @param {sap.ui.core.UIComponent} oAppComponent - Application component instance that is currently loading
203
+ * @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} Array of all open dependent changes for the control
204
+ */
205
+ UIChangesState.getOpenDependentChangesForControl = function(oSelector, oAppComponent) {
206
+ const sReference = ManifestUtils.getFlexReferenceForControl(oAppComponent);
207
+ return DependencyHandler.getOpenDependentChangesForControl(
208
+ UIChangesState.getLiveDependencyMap(sReference),
209
+ JsControlTreeModifier.getControlIdBySelector(oSelector, oAppComponent),
210
+ oAppComponent
211
+ );
212
+ };
213
+
184
214
  /**
185
215
  * Returns all UI Changes.
186
216
  *
@@ -123,7 +123,7 @@ sap.ui.define([
123
123
  *
124
124
  * @namespace sap.ui.fl.apply._internal.flexState.compVariants.CompVariantMerger
125
125
  * @since 1.86
126
- * @version 1.121.1
126
+ * @version 1.122.0
127
127
  * @private
128
128
  * @ui5-restricted sap.ui.fl
129
129
  */
@@ -208,7 +208,7 @@ sap.ui.define([
208
208
  *
209
209
  * @function
210
210
  * @since 1.89
211
- * @version 1.121.1
211
+ * @version 1.122.0
212
212
  * @private
213
213
  * @ui5-restricted sap.ui.fl
214
214
  *
@@ -29,7 +29,7 @@ sap.ui.define([], function() {
29
29
  */
30
30
  Utils.getDefaultVariantId = (mCompVariantsMap) => {
31
31
  const aDefaultVariantChanges = mCompVariantsMap.defaultVariants;
32
- const oChange = aDefaultVariantChanges.toReversed().find((oChange) => {
32
+ const oChange = [...aDefaultVariantChanges].reverse().find((oChange) => {
33
33
  return mCompVariantsMap.variants.some((oVariant) => {
34
34
  return oChange?.getContent().defaultVariantName === oVariant.getId();
35
35
  });