@openui5/sap.ui.fl 1.134.0 → 1.135.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 (172) hide show
  1. package/THIRDPARTY.txt +2 -2
  2. package/package.json +3 -3
  3. package/src/sap/ui/fl/.library +1 -1
  4. package/src/sap/ui/fl/ChangePersistence.js +2 -2
  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 +1 -1
  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 +1 -1
  13. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  14. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  15. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +16 -3
  16. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Applier.js +3 -41
  17. package/src/sap/ui/fl/apply/_internal/changes/descriptor/InlineApplier.js +47 -0
  18. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewDataSource.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewOutbound.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddTechnicalAttributes.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeOutbound.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetAch.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetDescription.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetCloudDevAdaptationStatus.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/ChangeModel.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/extensionPoint/Registry.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexObjects/AnnotationChange.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  51. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +11 -1
  55. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +38 -2
  56. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +5 -1
  57. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexObjects/VariantChange.js +78 -0
  59. package/src/sap/ui/fl/apply/_internal/flexObjects/VariantManagementChange.js +84 -0
  60. package/src/sap/ui/fl/apply/_internal/flexObjects/getVariantAuthor.js +1 -1
  61. package/src/sap/ui/fl/apply/_internal/flexState/FlexObjectState.js +1 -1
  62. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +17 -7
  63. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +37 -9
  64. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  65. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  66. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  67. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  68. package/src/sap/ui/fl/apply/_internal/flexState/changes/UIChangesState.js +1 -1
  69. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantManagementState.js +1 -1
  70. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  71. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  72. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +29 -4
  73. package/src/sap/ui/fl/apply/_internal/preprocessors/ComponentLifecycleHooks.js +3 -3
  74. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +27 -11
  75. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -1
  76. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
  77. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  78. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  79. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  80. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  81. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  82. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  83. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  84. package/src/sap/ui/fl/changeHandler/ChangeAnnotation.js +23 -4
  85. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  86. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  87. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  88. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  89. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  90. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  91. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  92. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  93. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  94. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChange.js +121 -0
  95. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +7 -95
  96. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  97. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  98. package/src/sap/ui/fl/initial/_internal/FlexConfiguration.js +1 -1
  99. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  100. package/src/sap/ui/fl/initial/_internal/StorageFeaturesMerger.js +1 -1
  101. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +13 -1
  102. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  103. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  104. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  105. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  106. package/src/sap/ui/fl/initial/api/InitialFlexAPI.js +1 -1
  107. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  108. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  109. package/src/sap/ui/fl/library.js +43 -43
  110. package/src/sap/ui/fl/messagebundle_sl.properties +1 -1
  111. package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +1 -1
  112. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
  113. package/src/sap/ui/fl/support/_internal/getFlexObjectInfos.js +1 -1
  114. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  115. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  116. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  117. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  118. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  119. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  120. package/src/sap/ui/fl/support/apps/contentbrowser/index.html +1 -1
  121. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  122. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  123. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  124. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  125. package/src/sap/ui/fl/util/IFrame.js +1 -1
  126. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  127. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  128. package/src/sap/ui/fl/variants/VariantManager.js +21 -21
  129. package/src/sap/ui/fl/variants/VariantModel.js +5 -5
  130. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  131. package/src/sap/ui/fl/write/_internal/Versions.js +1 -1
  132. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  133. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  134. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  135. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +24 -21
  136. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +7 -9
  137. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  138. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  139. package/src/sap/ui/fl/write/_internal/connectors/BtpServiceConnector.js +1 -1
  140. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  141. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
  142. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  143. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  144. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  145. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  146. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  147. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  148. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  149. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  150. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  151. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  152. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  153. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  154. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  155. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  156. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  157. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  158. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  159. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  160. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectManager.js +1 -1
  161. package/src/sap/ui/fl/write/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  162. package/src/sap/ui/fl/write/_internal/flexState/changes/UIChangeManager.js +1 -1
  163. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +1 -1
  164. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  166. package/src/sap/ui/fl/write/api/BusinessNetworkAPI.js +138 -0
  167. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +52 -62
  168. package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +8 -9
  169. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
  170. package/src/sap/ui/fl/write/api/LocalResetAPI.js +49 -29
  171. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +56 -62
  172. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +5 -6
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  * @namespace sap.ui.fl.support._internal.getFlexObjectInfos
28
28
  * @since 1.128
29
- * @version 1.134.0
29
+ * @version 1.135.0
30
30
  * @private
31
31
  * @ui5-restricted sap.ui.fl.support.api.SupportAPI
32
32
  */
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  *
35
35
  * @namespace sap.ui.fl.support._internal.getFlexSettings
36
36
  * @since 1.99
37
- * @version 1.134.0
37
+ * @version 1.135.0
38
38
  * @param {sap.ui.core.UIComponent} oAppComponent - Application Component
39
39
  * @private
40
40
  * @ui5-restricted sap.ui.fl.support.api.SupportAPI
@@ -66,7 +66,7 @@ sap.ui.define([
66
66
  *
67
67
  * @namespace sap.ui.fl.support.api.SupportAPI
68
68
  * @since 1.98
69
- * @version 1.134.0
69
+ * @version 1.135.0
70
70
  * @private
71
71
  * @ui5-restricted ui5 support tools
72
72
  */
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @constructor
43
43
  * @alias sap.ui.fl.support.apps.contentbrowser.controller.ContentDetails
44
44
  * @author SAP SE
45
- * @version 1.134.0
45
+ * @version 1.135.0
46
46
  * @since 1.45
47
47
  * @private
48
48
  */
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @constructor
41
41
  * @alias sap.ui.fl.support.apps.contentbrowser.controller.ContentDetailsEdit
42
42
  * @author SAP SE
43
- * @version 1.134.0
43
+ * @version 1.135.0
44
44
  * @since 1.45
45
45
  * @private
46
46
  */
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @constructor
28
28
  * @alias sap.ui.fl.support.apps.contentbrowser.controller.LayerContentMaster
29
29
  * @author SAP SE
30
- * @version 1.134.0
30
+ * @version 1.135.0
31
31
  * @since 1.45
32
32
  * @private
33
33
  */
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * @constructor
18
18
  * @alias sap.ui.fl.support.apps.contentbrowser.controller.Layers
19
19
  * @author SAP SE
20
- * @version 1.134.0
20
+ * @version 1.135.0
21
21
  * @since 1.45
22
22
  * @private
23
23
  */
@@ -7,7 +7,7 @@
7
7
  <script src="../../../../../../../resources/sap-ui-core.js"
8
8
  id="sap-ui-bootstrap"
9
9
  data-sap-ui-libs="sap.m,sap.ui.fl,sap.ui.layout"
10
- data-sap-ui-theme="sap_bluecrystal"
10
+ data-sap-ui-theme="sap_horizon"
11
11
  data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"
12
12
  data-sap-ui-flexibilityServices=""
13
13
  data-sap-ui-xx-bindingSyntax="complex">
@@ -13,7 +13,7 @@ sap.ui.define(["sap/ui/fl/Utils", "sap/ui/thirdparty/jquery"], function(Utils, j
13
13
  * @constructor
14
14
  * @alias sap.ui.fl.support.apps.contentbrowser.lrepConnector.LRepConnector
15
15
  * @author SAP SE
16
- * @version 1.134.0
16
+ * @version 1.135.0
17
17
  * @since 1.45
18
18
  * @private
19
19
  */
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @constructor
26
26
  * @alias sap.ui.fl.support.apps.contentbrowser.utils.DataUtils
27
27
  * @author SAP SE
28
- * @version 1.134.0
28
+ * @version 1.135.0
29
29
  * @since 1.45
30
30
  * @private
31
31
  */
@@ -17,7 +17,7 @@ function(MessageItem, MessagePopover, JSONModel) {
17
17
  * @constructor
18
18
  * @alias sap.ui.fl.support.apps.contentbrowser.utils.ErrorUtils
19
19
  * @author SAP SE
20
- * @version 1.134.0
20
+ * @version 1.135.0
21
21
  * @since 1.45
22
22
  * @private
23
23
  */
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * @alias sap.ui.fl.transport.TransportSelection
18
18
  * @constructor
19
19
  * @author SAP SE
20
- * @version 1.134.0
20
+ * @version 1.135.0
21
21
  * @since 1.38.0
22
22
  * Helper object to select an ABAP transport for an LREP object. This is not a generic utility to select a transport request, but part
23
23
  * of the SmartVariant control.
@@ -50,7 +50,7 @@ sap.ui.define([
50
50
  * @extends sap.ui.core.Control
51
51
  *
52
52
  * @author SAP SE
53
- * @version 1.134.0
53
+ * @version 1.135.0
54
54
  *
55
55
  * @constructor
56
56
  * @private
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.core.Element
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.134.0
28
+ * @version 1.135.0
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  *
35
35
  * @function
36
36
  * @author SAP SE
37
- * @version 1.134.0
37
+ * @version 1.135.0
38
38
  * @alias sap.ui.fl.util.resolveBinding
39
39
  * @since 1.91
40
40
  * @private
@@ -50,7 +50,7 @@ sap.ui.define([
50
50
  *
51
51
  * @namespace sap.ui.fl.variants.VariantManager
52
52
  * @since 1.132
53
- * @version 1.134.0
53
+ * @version 1.135.0
54
54
  * @private
55
55
  * @ui5-restricted sap.ui.fl, sap.ui.rta
56
56
  */
@@ -240,9 +240,16 @@ sap.ui.define([
240
240
  ..._difference(aNewVariantChanges, aVariantDeletionChanges),
241
241
  ...aVariantDeletionChanges.filter((oChange) => oChange.getState() !== States.LifecycleState.NEW)
242
242
  ];
243
- // Always pass the pre-defined changes here to avoid that UI changes that are part of the FlexState
244
- // are also persisted during variant manage save
245
- oVariantModel.oChangePersistence.saveDirtyChanges(oVariantModel.oAppComponent, false, aChanges);
243
+ // From the lowest to the highest layer, save the changes separately to ensure that the condense route is used.
244
+ const aLayers = Object.values(Layer).reverse();
245
+ for (const sCurrentLayer of aLayers) {
246
+ const aChangesOnLayer = aChanges.filter((oChange) => oChange.getLayer() === sCurrentLayer);
247
+ if (aChangesOnLayer.length > 0) {
248
+ // Always pass the pre-defined changes here to avoid that UI changes that are part of the FlexState
249
+ // are also persisted during variant manage save
250
+ await oVariantModel.oChangePersistence.saveDirtyChanges(oVariantModel.oAppComponent, false, aChangesOnLayer);
251
+ }
252
+ }
246
253
  };
247
254
 
248
255
  VariantManager.handleSaveEvent = async function(oVariantManagementControl, mParameters, oVariantModel) {
@@ -289,7 +296,8 @@ sap.ui.define([
289
296
  newVariantReference: sNewVariantReference,
290
297
  generator: mParameters.generator,
291
298
  additionalVariantChanges: [],
292
- adaptationId: getAdaptationId(sVariantChangeLayer, oAppComponent, oVariantModel.sFlexReference)
299
+ adaptationId: getAdaptationId(sVariantChangeLayer, oAppComponent, oVariantModel.sFlexReference),
300
+ executeOnSelection: mParameters.execute
293
301
  };
294
302
 
295
303
  var oBaseChangeProperties = {
@@ -309,18 +317,7 @@ sap.ui.define([
309
317
  fileType: "ctrl_variant_management_change",
310
318
  selector: JsControlTreeModifier.getSelector(sVariantManagementReference, mPropertyBag.appComponent)
311
319
  }, oBaseChangeProperties);
312
- mPropertyBag.additionalVariantChanges.push(FlexObjectFactory.createUIChange(mPropertyBagSetDefault));
313
- }
314
- if (mParameters.execute) {
315
- var mPropertyBagSetExecute = merge({
316
- changeType: "setExecuteOnSelect",
317
- content: {
318
- executeOnSelect: true
319
- },
320
- fileType: "ctrl_variant_change",
321
- selector: JsControlTreeModifier.getSelector(mPropertyBag.newVariantReference, mPropertyBag.appComponent)
322
- }, oBaseChangeProperties);
323
- mPropertyBag.additionalVariantChanges.push(FlexObjectFactory.createUIChange(mPropertyBagSetExecute));
320
+ mPropertyBag.additionalVariantChanges.push(FlexObjectFactory.createVariantManagementChange(mPropertyBagSetDefault));
324
321
  }
325
322
 
326
323
  const aCopiedVariantDirtyChanges = await VariantManager.copyVariant(mPropertyBag);
@@ -414,6 +411,7 @@ sap.ui.define([
414
411
  * @param {string} mPropertyBag.sourceVariantReference - <code>variantReference</code> of the source variant
415
412
  * @param {string} mPropertyBag.generator - Information about who created the change
416
413
  * @param {object} mPropertyBag.contexts - Context structure containing roles and countries
414
+ * @param {boolean} mPropertyBag.executeOnSelection - Apply automatically the content of the variant
417
415
  * @param {sap.ui.core.Control} oControl - Control instance to fetch the variant model
418
416
  * @returns {Promise<sap.ui.fl.apply._internal.flexObjects.FlexObject[]>} Resolves with dirty changes created during variant copy
419
417
  * @private
@@ -439,7 +437,7 @@ sap.ui.define([
439
437
  if (mPropertyBag.layer === Layer.PUBLIC) {
440
438
  oDuplicateVariantData.instance.setFavorite(false);
441
439
  var oChangeProperties = {
442
- selector: JsControlTreeModifier.getSelector(mPropertyBag.newVariantReference, mPropertyBag.appComponent),
440
+ variantId: mPropertyBag.newVariantReference,
443
441
  changeType: "setFavorite",
444
442
  fileType: "ctrl_variant_change",
445
443
  generator: mPropertyBag.generator,
@@ -447,7 +445,7 @@ sap.ui.define([
447
445
  reference: oVariantModel.sFlexReference,
448
446
  content: {favorite: true}
449
447
  };
450
- aChanges.push(FlexObjectFactory.createUIChange(oChangeProperties));
448
+ aChanges.push(FlexObjectFactory.createVariantChange(oChangeProperties));
451
449
  }
452
450
 
453
451
  // sets copied variant and associated changes as dirty
@@ -560,15 +558,17 @@ sap.ui.define([
560
558
  mNewChangeData.adaptationId = getAdaptationId(mPropertyBag.layer, mPropertyBag.appComponent, oVariantModel.sFlexReference);
561
559
  }
562
560
 
561
+ let oChange;
563
562
  if (mPropertyBag.changeType === "setDefault") {
564
563
  mNewChangeData.fileType = "ctrl_variant_management_change";
565
564
  mNewChangeData.selector = JsControlTreeModifier.getSelector(sVariantManagementReference, mPropertyBag.appComponent);
565
+ oChange = FlexObjectFactory.createVariantManagementChange(mNewChangeData);
566
566
  } else {
567
567
  mNewChangeData.fileType = "ctrl_variant_change";
568
- mNewChangeData.selector = JsControlTreeModifier.getSelector(mPropertyBag.variantReference, mPropertyBag.appComponent);
568
+ mNewChangeData.variantId = mPropertyBag.variantReference;
569
+ oChange = FlexObjectFactory.createVariantChange(mNewChangeData);
569
570
  }
570
571
 
571
- var oChange = FlexObjectFactory.createUIChange(mNewChangeData);
572
572
  // update change with additional content
573
573
  oChange.setContent(mAdditionalChangeContent);
574
574
  if (mPropertyBag.changeType === "setTitle") {
@@ -199,7 +199,7 @@ sap.ui.define([
199
199
  * @class Variant model implementation for JSON format.
200
200
  * @extends sap.ui.model.json.JSONModel
201
201
  * @author SAP SE
202
- * @version 1.134.0
202
+ * @version 1.135.0
203
203
  * @param {object} oData - Either the URL where to load the JSON from or a JS object
204
204
  * @param {object} mPropertyBag - Map of properties required for the constructor
205
205
  * @param {sap.ui.fl.FlexController} mPropertyBag.flexController - <code>FlexController</code> instance for the component which uses the variant model
@@ -489,7 +489,8 @@ sap.ui.define([
489
489
  adaptationId: mPropertyBag.adaptationId,
490
490
  reference: oSourceVariant.getFlexObjectMetadata().reference,
491
491
  generator: mPropertyBag.generator,
492
- variantManagementReference: mPropertyBag.variantManagementReference
492
+ variantManagementReference: mPropertyBag.variantManagementReference,
493
+ executeOnSelection: mPropertyBag.executeOnSelection
493
494
  };
494
495
  if (mPropertyBag.layer === Layer.VENDOR) {
495
496
  mProperties.user = "SAP";
@@ -918,10 +919,9 @@ sap.ui.define([
918
919
  changeType: "setTitle",
919
920
  layer: oVariant.layer,
920
921
  fileType: "ctrl_variant_change",
921
- selector: JsControlTreeModifier.getSelector(oVariant.key, this.oAppComponent)
922
-
922
+ variantId: oVariant.key
923
923
  };
924
- const oSetTitleChange = FlexObjectFactory.createUIChange(mChangeProperties);
924
+ const oSetTitleChange = FlexObjectFactory.createVariantChange(mChangeProperties);
925
925
  oSetTitleChange.setText("title", sResolvedTitle, "XFLD");
926
926
  oVariant.instance.setName(sResolvedTitle, true);
927
927
  // The change cannot be added as a dirty change but must survive a state invalidation
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @namespace sap.ui.fl.write._internal.Storage
24
24
  * @since 1.67
25
- * @version 1.134.0
25
+ * @version 1.135.0
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl
28
28
  */
@@ -159,7 +159,7 @@ sap.ui.define([
159
159
  *
160
160
  * @namespace sap.ui.fl.write._internal.Versions
161
161
  * @since 1.74
162
- * @version 1.134.0
162
+ * @version 1.135.0
163
163
  * @private
164
164
  * @ui5-restricted sap.ui.fl
165
165
  */
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @constructor
36
36
  * @alias sap.ui.fl.write._internal.appVariant.AppVariant
37
37
  * @author SAP SE
38
- * @version 1.134.0
38
+ * @version 1.135.0
39
39
  * @private
40
40
  * @ui5-restricted sap.ui.rta, smart business
41
41
  */
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @namespace
33
33
  * @alias sap.ui.fl.write._internal.appVariant.AppVariantFactory
34
34
  * @author SAP SE
35
- * @version 1.134.0
35
+ * @version 1.135.0
36
36
  * @private
37
37
  * @ui5-restricted sap.ui.rta, smart business
38
38
  */
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @constructor
29
29
  * @alias sap.ui.fl.write._internal.appVariant.AppVariantInlineChange
30
30
  * @author SAP SE
31
- * @version 1.134.0
31
+ * @version 1.135.0
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.rta, smart business
34
34
  */
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @namespace
36
36
  * @alias sap.ui.fl.write._internal.appVariant.AppVariantInlineChangeFactory
37
37
  * @author SAP SE
38
- * @version 1.134.0
38
+ * @version 1.135.0
39
39
  * @private
40
40
  * @ui5-restricted sap.ui.rta, smart business
41
41
  */
@@ -75,6 +75,9 @@ sap.ui.define([
75
75
  AppVariantInlineChangeFactory.createDescriptorInlineChange = function(mPropertyBag) {
76
76
  var fnTriggerChangeTypeMethod = mPropertyBag.changeType.replace("appdescr", "create");
77
77
  // This will call the right changeType method and will be validated properly
78
+ if (!this[fnTriggerChangeTypeMethod]) {
79
+ throw new Error(`Change type '${mPropertyBag.changeType}' is not supported`);
80
+ }
78
81
  return this[fnTriggerChangeTypeMethod](mPropertyBag);
79
82
  };
80
83
 
@@ -994,32 +997,32 @@ sap.ui.define([
994
997
  * Creates an inline change of change type <code>appdescr_fe_addNewPage</code>.
995
998
  *
996
999
  * @param {object} mPropertyBag Parameters of the change type
997
- * @param {string} mPropertyBag.changeType Inline change type of an app variant
998
- * @param {object} mPropertyBag.sourcePage Source page details
999
- * @param {string} mPropertyBag.sourcePage.id ID of the source page
1000
- * @param {string} mPropertyBag.sourcePage.navigationSource Navigation source of the source page
1001
- * @param {object} mPropertyBag.targetPage Target page details
1002
- * @param {string} mPropertyBag.targetPage.id ID of the target page
1003
- * @param {string} mPropertyBag.targetPage.type Type of the target page
1004
- * @param {string} mPropertyBag.targetPage.name Name of the target page component
1005
- * @param {string} mPropertyBag.targetPage.routePattern Route pattern for navigation
1006
- * @param {object} mPropertyBag.targetPage.settings Additional settings for the target page
1000
+ * @param {string} mPropertyBag.content.changeType Inline change type of an app variant
1001
+ * @param {object} mPropertyBag.content.sourcePage Source page details
1002
+ * @param {string} mPropertyBag.content.sourcePage.id ID of the source page
1003
+ * @param {string} mPropertyBag.content.sourcePage.navigationSource Navigation source of the source page
1004
+ * @param {object} mPropertyBag.content.targetPage Target page details
1005
+ * @param {string} mPropertyBag.content.targetPage.id ID of the target page
1006
+ * @param {string} mPropertyBag.content.targetPage.type Type of the target page
1007
+ * @param {string} mPropertyBag.content.targetPage.name Name of the target page component
1008
+ * @param {string} mPropertyBag.content.targetPage.routePattern Route pattern for navigation
1009
+ * @param {object} mPropertyBag.content.targetPage.settings Additional settings for the target page
1007
1010
  *
1008
1011
  * @return {Promise} Resolving when creating the app variant inline change was successful (without back end access)
1009
1012
  *
1010
1013
  * @private
1011
1014
  */
1012
1015
  AppVariantInlineChangeFactory.create_fe_addNewPage = function(mPropertyBag) {
1013
- Utils.checkParameterAndType(mPropertyBag.sourcePage, "id", "string");
1014
- Utils.checkParameterAndType(mPropertyBag.sourcePage, "navigationSource", "string");
1015
- Utils.checkParameterAndType(mPropertyBag.targetPage, "id", "string");
1016
- Utils.checkParameterAndType(mPropertyBag.targetPage, "type", "string");
1017
- Utils.checkParameterAndType(mPropertyBag.targetPage, "name", "string");
1018
- Utils.checkParameterAndType(mPropertyBag.targetPage, "routePattern", "string");
1019
- Utils.checkParameterAndType(mPropertyBag.targetPage, "settings", "object");
1020
- Utils.checkParameterAndType(mPropertyBag.targetPage.settings, "contextPath", "string");
1021
- Utils.checkParameterAndType(mPropertyBag.targetPage.settings, "pageLayout", "string");
1022
- Utils.checkParameterAndType(mPropertyBag.targetPage.settings, "controlConfiguration", "object");
1016
+ Utils.checkParameterAndType(mPropertyBag.content.sourcePage, "id", "string");
1017
+ Utils.checkParameterAndType(mPropertyBag.content.sourcePage, "navigationSource", "string");
1018
+ Utils.checkParameterAndType(mPropertyBag.content.targetPage, "id", "string");
1019
+ Utils.checkParameterAndType(mPropertyBag.content.targetPage, "type", "string");
1020
+ Utils.checkParameterAndType(mPropertyBag.content.targetPage, "name", "string");
1021
+ Utils.checkParameterAndType(mPropertyBag.content.targetPage, "routePattern", "string");
1022
+ Utils.checkParameterAndType(mPropertyBag.content.targetPage, "settings", "object");
1023
+ Utils.checkParameterAndType(mPropertyBag.content.targetPage.settings, "contextPath", "string");
1024
+ Utils.checkParameterAndType(mPropertyBag.content.targetPage.settings, "pageLayout", "string");
1025
+ Utils.checkParameterAndType(mPropertyBag.content.targetPage.settings, "controlConfiguration", "object");
1023
1026
  return _createAppVariantInlineChange(mPropertyBag);
1024
1027
  };
1025
1028
 
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @namespace
54
54
  * @alias sap.ui.fl.write._internal.condenser.Condenser
55
55
  * @author SAP SE
56
- * @version 1.134.0
56
+ * @version 1.135.0
57
57
  */
58
58
  const Condenser = {};
59
59
 
@@ -215,18 +215,17 @@ sap.ui.define([
215
215
  async function getCondenserInfoFromChangeHandler(oAppComponent, oFlexObject) {
216
216
  let oChangeHandler;
217
217
  let bTemplateAffected = false;
218
- let mPropertyBag = {};
218
+ const mPropertyBag = {
219
+ modifier: JsControlTreeModifier,
220
+ appComponent: oAppComponent
221
+ };
219
222
  try {
220
223
  // UI changes require template handling
221
224
  if (oFlexObject instanceof UIChange) {
222
225
  const sControlId = JsControlTreeModifier.getControlIdBySelector(oFlexObject.getSelector(), oAppComponent);
223
226
  const oControl = Element.getElementById(sControlId);
224
227
  if (oControl) {
225
- mPropertyBag = {
226
- modifier: JsControlTreeModifier,
227
- appComponent: oAppComponent,
228
- view: FlUtils.getViewForControl(oControl)
229
- };
228
+ mPropertyBag.view = FlUtils.getViewForControl(oControl);
230
229
  const mControl = ChangesUtils.getControlIfTemplateAffected(oFlexObject, oControl, mPropertyBag);
231
230
  bTemplateAffected = mControl.bTemplateAffected;
232
231
  oChangeHandler = await ChangesUtils.getChangeHandler({
@@ -592,8 +591,7 @@ sap.ui.define([
592
591
  aChanges.slice(0).reverse().forEach((oChange) => {
593
592
  if (oChange.getState() === States.LifecycleState.DELETED) {
594
593
  oChange.condenserState = "delete";
595
- }
596
- if (oChange.canBeCondensed()) {
594
+ } else if (oChange.canBeCondensed()) {
597
595
  aCondensableChanges.push(oChange);
598
596
  } else {
599
597
  aNotCondensableChanges.push(oChange);
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @namespace
32
32
  * @alias sap.ui.fl.write._internal.condenser.UIReconstruction
33
33
  * @author SAP SE
34
- * @version 1.134.0
34
+ * @version 1.135.0
35
35
  */
36
36
  const UIReconstruction = {};
37
37
 
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  *
75
75
  * @namespace sap.ui.fl.write._internal.connectors.BackendConnector
76
76
  * @since 1.72
77
- * @version 1.134.0
77
+ * @version 1.135.0
78
78
  * @private
79
79
  * @ui5-restricted sap.ui.fl.write._internal.connectors
80
80
  */
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * Connector for saving and deleting data from SAPUI5 Flexibility KeyUser service - including personalization.
26
26
  *
27
27
  * @namespace sap.ui.fl.write._internal.connectors.BtpServiceConnector
28
- * @version 1.134.0
28
+ * @version 1.135.0
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl.write._internal.Storage
31
31
  */
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  *
41
41
  * @namespace sap.ui.fl.write._internal.connectors.KeyUserConnector
42
42
  * @since 1.70
43
- * @version 1.134.0
43
+ * @version 1.135.0
44
44
  * @private
45
45
  * @ui5-restricted sap.ui.fl.write._internal.Storage
46
46
  */
@@ -168,7 +168,7 @@ sap.ui.define([
168
168
  *
169
169
  * @namespace sap.ui.fl.write._internal.connectors.LrepConnector
170
170
  * @since 1.67
171
- * @version 1.134.0
171
+ * @version 1.135.0
172
172
  * @private
173
173
  * @ui5-restricted sap.ui.fl.write._internal.Storage
174
174
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.write._internal.connectors.NeoLrepConnector
22
22
  * @since 1.81
23
- * @version 1.134.0
23
+ * @version 1.135.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.write._internal.Storage
26
26
  */
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace sap.ui.fl.write._internal.connectors.ObjectPathConnector
26
26
  * @since 1.73
27
- * @version 1.134.0
27
+ * @version 1.135.0
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.fl.write._internal.Storage
30
30
  */
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  *
24
24
  * @namespace sap.ui.fl.write._internal.connectors.PersonalizationConnector
25
25
  * @since 1.70
26
- * @version 1.134.0
26
+ * @version 1.135.0
27
27
  * @private
28
28
  * @ui5-restricted sap.ui.fl.write._internal.Storage
29
29
  */
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @namespace sap.ui.fl.write._internal.connectors.Utils
18
18
  * @since 1.70
19
- * @version 1.134.0
19
+ * @version 1.135.0
20
20
  * @private
21
21
  * @ui5-restricted sap.ui.fl.write._internal.connectors, sap.ui.fl.write._internal.transport
22
22
  */
@@ -35,7 +35,7 @@ function(
35
35
  * @class
36
36
  * @constructor
37
37
  * @author SAP SE
38
- * @version 1.134.0
38
+ * @version 1.135.0
39
39
  */
40
40
  var Processor = {
41
41
  applyExtensionPoint(oExtensionPoint) {
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPAccess
41
41
  * @since 1.87.0
42
42
  * @author SAP SE
43
- * @version 1.134.0
43
+ * @version 1.135.0
44
44
  * @private
45
45
  */
46
46
  var ABAPAccess = {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * @class
18
18
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPExtensibilityVariant
19
19
  * @since 1.87
20
- * @version 1.134.0
20
+ * @version 1.135.0
21
21
  * @public
22
22
  * @param {sap.ui.base.ManagedObject} oControl - Control to add extensions
23
23
  */
@@ -115,7 +115,7 @@ sap.ui.define([
115
115
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPExtensibilityVariantFactory
116
116
  * @since 1.87.0
117
117
  * @author SAP SE
118
- * @version 1.134.0
118
+ * @version 1.135.0
119
119
  * @private
120
120
  */
121
121
  var ABAPExtensibilityVariantFactory = {};
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.MultiTenantABAPExtensibilityVariant
26
26
  * @since 1.87
27
- * @version 1.134.0
27
+ * @version 1.135.0
28
28
  * @public
29
29
  */
30
30
 
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ServiceValidation
20
20
  * @since 1.87.0
21
21
  * @author SAP SE
22
- * @version 1.134.0
22
+ * @version 1.135.0
23
23
  * @private
24
24
  */
25
25
  var ServiceValidation = {};
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  *
50
50
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.SingleTenantABAPExtensibilityVariant
51
51
  * @since 1.87
52
- * @version 1.134.0
52
+ * @version 1.135.0
53
53
  * @public
54
54
  */
55
55
  const SingleTenantABAPExtensibilityVariant = ABAPExtensibilityVariant.extend(sNamespace, {
@@ -134,7 +134,7 @@ sap.ui.define([
134
134
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.UriParser
135
135
  * @since 1.87.0
136
136
  * @author SAP SE
137
- * @version 1.134.0
137
+ * @version 1.135.0
138
138
  * @private
139
139
  */
140
140
  var UriParser = {};
@@ -245,7 +245,7 @@ sap.ui.define([
245
245
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.Utils
246
246
  * @since 1.87.0
247
247
  * @author SAP SE
248
- * @version 1.134.0
248
+ * @version 1.135.0
249
249
  * @private
250
250
  */
251
251
  var Utils = {};