@openui5/sap.ui.fl 1.110.0 → 1.111.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 (150) hide show
  1. package/package.json +3 -3
  2. package/src/sap/ui/fl/.library +1 -1
  3. package/src/sap/ui/fl/Cache.js +3 -1
  4. package/src/sap/ui/fl/ChangePersistence.js +24 -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 +1 -1
  16. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  17. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +4 -1
  36. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +3 -2
  46. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  51. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  52. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +2 -1
  53. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +18 -3
  55. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
  56. package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +1 -1
  57. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
  59. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  60. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +5 -3
  61. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  62. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  63. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  64. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  65. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  66. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  69. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  72. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  73. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  74. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  75. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  76. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  77. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  78. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  79. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  80. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  81. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  82. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  83. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  84. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -1
  85. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  86. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  87. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  88. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  89. package/src/sap/ui/fl/library.js +43 -43
  90. package/src/sap/ui/fl/registry/Settings.js +10 -1
  91. package/src/sap/ui/fl/support/_internal/extractChangeDependencies.js +6 -2
  92. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +53 -17
  93. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  94. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  95. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  96. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  97. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  98. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  99. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +3 -3
  100. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  101. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  102. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  103. package/src/sap/ui/fl/util/IFrame.js +1 -1
  104. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  105. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  106. package/src/sap/ui/fl/variants/VariantModel.js +1 -1
  107. package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +1 -1
  108. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  109. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +1 -1
  110. package/src/sap/ui/fl/write/_internal/Versions.js +6 -2
  111. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  112. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  113. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  114. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  115. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +3 -1
  116. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  117. package/src/sap/ui/fl/write/_internal/condenser/Utils.js +10 -8
  118. package/src/sap/ui/fl/write/_internal/condenser/classifications/Create.js +12 -9
  119. package/src/sap/ui/fl/write/_internal/condenser/classifications/Destroy.js +18 -12
  120. package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +20 -5
  121. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  122. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  123. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +2 -2
  124. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  125. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  126. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +3 -2
  127. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  128. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  129. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
  130. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +2 -2
  131. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  132. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  133. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  134. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  135. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  136. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  137. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  138. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  139. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  140. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  141. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  142. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  143. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +7 -5
  144. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +9 -1
  145. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  146. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  147. package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +25 -0
  148. package/src/sap/ui/fl/write/api/ContextSharingAPI.js +4 -0
  149. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
  150. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +16 -0
@@ -202,7 +202,7 @@ sap.ui.define([
202
202
  },
203
203
 
204
204
  isRemoveAllEnabled: function(aSelectedRoleIds) {
205
- return aSelectedRoleIds.length !== 0;
205
+ return aSelectedRoleIds && aSelectedRoleIds.length !== 0;
206
206
  },
207
207
 
208
208
  isMessageStripVisible: function(aSelectedRoles, bShowMessageStrip) {
@@ -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.110.0
25
+ * @version 1.111.1
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl
28
28
  */
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @namespace sap.ui.fl.write._internal.StorageFeaturesMerger
18
18
  * @since 1.70
19
- * @version 1.110.0
19
+ * @version 1.111.1
20
20
  * @private
21
21
  * @ui5-restricted sap.ui.fl.write._internal.Storage
22
22
  */
@@ -174,7 +174,7 @@ sap.ui.define([
174
174
  *
175
175
  * @namespace sap.ui.fl.write._internal.Versions
176
176
  * @since 1.74
177
- * @version 1.110.0
177
+ * @version 1.111.1
178
178
  * @private
179
179
  * @ui5-restricted sap.ui.fl
180
180
  */
@@ -249,6 +249,7 @@ sap.ui.define([
249
249
  * @param {object} mPropertyBag - Property Bag
250
250
  * @param {string} mPropertyBag.reference - ID of the application for which the versions are requested (this reference must not contain the ".Component" suffix)
251
251
  * @param {string} mPropertyBag.layer - Layer for which the versions should be retrieved
252
+ * @param {boolean} [mPropertyBag.contextBasedAdaptation] - Parameter that indicates whether or not a new backend draft was triggered via contextBasedAdaptationsAPI
252
253
  */
253
254
  Versions.onAllChangesSaved = function (mPropertyBag) {
254
255
  mPropertyBag.reference = Utils.normalizeReference(mPropertyBag.reference);
@@ -256,8 +257,11 @@ sap.ui.define([
256
257
  var bVersioningEnabled = oModel.getProperty("/versioningEnabled");
257
258
  var bDirtyChanges = oModel.getProperty("/dirtyChanges");
258
259
  oModel.setProperty("/dirtyChanges", true);
259
- oModel.setProperty("/backendDraft", bVersioningEnabled && bDirtyChanges);
260
+ oModel.setProperty("/backendDraft", bVersioningEnabled && bDirtyChanges || !!mPropertyBag.contextBasedAdaptation);
260
261
  oModel.updateDraftVersion();
262
+ // Save can happen without a reload and the model must be kept up-to-date
263
+ oModel.setProperty("/persistedVersion", Version.Number.Draft);
264
+ oModel.updateBindings(true);
261
265
  };
262
266
 
263
267
  /**
@@ -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.110.0
38
+ * @version 1.111.1
39
39
  * @private
40
40
  * @ui5-restricted sap.ui.rta, smart business
41
41
  */
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @namespace
35
35
  * @alias sap.ui.fl.write._internal.appVariant.AppVariantFactory
36
36
  * @author SAP SE
37
- * @version 1.110.0
37
+ * @version 1.111.1
38
38
  * @private
39
39
  * @ui5-restricted sap.ui.rta, smart business
40
40
  */
@@ -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.110.0
31
+ * @version 1.111.1
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.rta, smart business
34
34
  */
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @namespace
34
34
  * @alias sap.ui.fl.write._internal.appVariant.AppVariantInlineChangeFactory
35
35
  * @author SAP SE
36
- * @version 1.110.0
36
+ * @version 1.111.1
37
37
  * @private
38
38
  * @ui5-restricted sap.ui.rta, smart business
39
39
  */
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @namespace
52
52
  * @alias sap.ui.fl.write._internal.condenser.Condenser
53
53
  * @author SAP SE
54
- * @version 1.110.0
54
+ * @version 1.111.1
55
55
  */
56
56
  var Condenser = {};
57
57
 
@@ -129,6 +129,8 @@ sap.ui.define([
129
129
  oChange.condenserState = "delete";
130
130
  }
131
131
  mClassifications[sClassification][0].updateChange = oChange;
132
+ } else {
133
+ oChange.condenserState = "delete";
132
134
  }
133
135
 
134
136
  if (
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @namespace
30
30
  * @alias sap.ui.fl.write._internal.condenser.UIReconstruction
31
31
  * @author SAP SE
32
- * @version 1.110.0
32
+ * @version 1.111.1
33
33
  */
34
34
  var UIReconstruction = {};
35
35
 
@@ -63,18 +63,20 @@ sap.ui.define([
63
63
  * Retrieves the aggregation from the container instance and returns all the Ids of the controls
64
64
  *
65
65
  * @param {string} sContainerId - Container Id
66
- * @param {string} sAggregationName Name of the aggregation
66
+ * @param {string} sAggregationName - Name of the aggregation
67
+ * @param {object} [aCustomAggregation] - Custom Aggregation
68
+ * @param {string} [sAffectedControlIdProperty] - Property name of the ID used for the container element
67
69
  * @returns {Promise<string[]>} Array of Ids wrapped in Promise
68
70
  */
69
- Utils.getContainerElementIds = function(sContainerId, sAggregationName) {
71
+ Utils.getContainerElementIds = function(sContainerId, sAggregationName, aCustomAggregation, sAffectedControlIdProperty) {
70
72
  var oContainer = Core.byId(sContainerId);
71
- return Promise.resolve()
72
- .then(JsControlTreeModifier.getAggregation.bind(JsControlTreeModifier, oContainer, sAggregationName))
73
- .then(function (aContainerElements) {
74
- return aContainerElements.map(function(oElement) {
75
- return oElement.getId();
76
- });
73
+
74
+ return Promise.resolve(aCustomAggregation || JsControlTreeModifier.getAggregation(oContainer, sAggregationName))
75
+ .then(function(aContainerElements) {
76
+ return aContainerElements.map(function(oElement) {
77
+ return sAffectedControlIdProperty ? oElement.sAffectedControlIdProperty : oElement.getId();
77
78
  });
79
+ });
78
80
  };
79
81
 
80
82
  /**
@@ -24,15 +24,18 @@ sap.ui.define([
24
24
  addToReconstructionMap: function(mUIReconstructions, oCondenserInfo) {
25
25
  var oAffectedControl = Core.byId(oCondenserInfo.affectedControl);
26
26
  var sAggregationName = oCondenserInfo.targetAggregation || oAffectedControl && oAffectedControl.sParentAggregationName;
27
- return CondenserUtils.getContainerElementIds(oCondenserInfo.targetContainer, sAggregationName)
28
- .then(function (aTargetContainerElementIds) {
29
- var aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(mUIReconstructions, oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation, aTargetContainerElementIds);
30
- var iIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
31
- // if the index is -1 the element was already removed by a different add change
32
- if (iIndex > -1) {
33
- aContainerElementIds.splice(iIndex, 1);
34
- }
35
- });
27
+ return CondenserUtils.getContainerElementIds(
28
+ oCondenserInfo.targetContainer, sAggregationName,
29
+ oCondenserInfo.customAggregation, oCondenserInfo.affectedControlIdProperty
30
+ )
31
+ .then(function (aTargetContainerElementIds) {
32
+ var aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(mUIReconstructions, oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation, aTargetContainerElementIds);
33
+ var iIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
34
+ // if the index is -1 the element was already removed by a different add change
35
+ if (iIndex > -1) {
36
+ aContainerElementIds.splice(iIndex, 1);
37
+ }
38
+ });
36
39
  },
37
40
 
38
41
  /**
@@ -20,19 +20,25 @@ sap.ui.define([
20
20
  * @returns {Promise} resolves when a destroy change is added to UI Reconstruction Map
21
21
  */
22
22
  addToReconstructionMap: function(mUIReconstructions, oCondenserInfo) {
23
- return CondenserUtils.getContainerElementIds(oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation)
24
- .then(function (aTargetContainerElementIds) {
25
- var aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(mUIReconstructions, oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation, aTargetContainerElementIds);
26
- if (aContainerElementIds.length - 1 < oCondenserInfo.sourceIndex) {
27
- while (aContainerElementIds.length - 1 < oCondenserInfo.sourceIndex) {
28
- var iIndex = aContainerElementIds.length;
29
- aContainerElementIds.splice(aContainerElementIds.length, 0, CondenserUtils.PLACEHOLDER + iIndex);
30
- }
31
- aContainerElementIds[oCondenserInfo.sourceIndex] = oCondenserInfo.affectedControl;
32
- } else {
33
- aContainerElementIds.splice(oCondenserInfo.sourceIndex, 0, oCondenserInfo.affectedControl);
23
+ return CondenserUtils.getContainerElementIds(
24
+ oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation,
25
+ oCondenserInfo.customAggregation, oCondenserInfo.affectedControlIdProperty
26
+ )
27
+ .then(function (aTargetContainerElementIds) {
28
+ var aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
29
+ mUIReconstructions, oCondenserInfo.targetContainer,
30
+ oCondenserInfo.targetAggregation, aTargetContainerElementIds
31
+ );
32
+ if (aContainerElementIds.length - 1 < oCondenserInfo.sourceIndex) {
33
+ while (aContainerElementIds.length - 1 < oCondenserInfo.sourceIndex) {
34
+ var iIndex = aContainerElementIds.length;
35
+ aContainerElementIds.splice(aContainerElementIds.length, 0, CondenserUtils.PLACEHOLDER + iIndex);
34
36
  }
35
- });
37
+ aContainerElementIds[oCondenserInfo.sourceIndex] = oCondenserInfo.affectedControl;
38
+ } else {
39
+ aContainerElementIds.splice(oCondenserInfo.sourceIndex, 0, oCondenserInfo.affectedControl);
40
+ }
41
+ });
36
42
  },
37
43
 
38
44
  /**
@@ -21,8 +21,14 @@ sap.ui.define([
21
21
  */
22
22
  addToReconstructionMap: function(mUIReconstructions, oCondenserInfo) {
23
23
  return Promise.all([
24
- CondenserUtils.getContainerElementIds(oCondenserInfo.sourceContainer, oCondenserInfo.sourceAggregation),
25
- CondenserUtils.getContainerElementIds(oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation)
24
+ CondenserUtils.getContainerElementIds(
25
+ oCondenserInfo.sourceContainer, oCondenserInfo.sourceAggregation,
26
+ oCondenserInfo.customAggregation, oCondenserInfo.affectedControlIdProperty
27
+ ),
28
+ CondenserUtils.getContainerElementIds(
29
+ oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation,
30
+ oCondenserInfo.customAggregation, oCondenserInfo.affectedControlIdProperty
31
+ )
26
32
  ]).then(function (aSourceTargetElementIds) {
27
33
  var aSourceContainerElementIds = aSourceTargetElementIds[0];
28
34
  var aTargetContainerElementIds = aSourceTargetElementIds[1];
@@ -33,14 +39,23 @@ sap.ui.define([
33
39
  oCondenserInfo.targetContainer === oCondenserInfo.sourceContainer
34
40
  && oCondenserInfo.targetAggregation === oCondenserInfo.sourceAggregation
35
41
  ) {
36
- aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(mUIReconstructions, oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation, aTargetContainerElementIds);
42
+ aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
43
+ mUIReconstructions, oCondenserInfo.targetContainer,
44
+ oCondenserInfo.targetAggregation, aTargetContainerElementIds
45
+ );
37
46
  iTargetIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
38
47
  CondenserUtils.shiftElement(aContainerElementIds, iTargetIndex, oCondenserInfo.sourceIndex);
39
48
  } else {
40
- aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(mUIReconstructions, oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation, aTargetContainerElementIds);
49
+ aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
50
+ mUIReconstructions, oCondenserInfo.targetContainer,
51
+ oCondenserInfo.targetAggregation, aTargetContainerElementIds
52
+ );
41
53
  iTargetIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
42
54
  aContainerElementIds.splice(iTargetIndex, 1);
43
- aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(mUIReconstructions, oCondenserInfo.sourceContainer, oCondenserInfo.sourceAggregation, aSourceContainerElementIds);
55
+ aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
56
+ mUIReconstructions, oCondenserInfo.sourceContainer,
57
+ oCondenserInfo.sourceAggregation, aSourceContainerElementIds
58
+ );
44
59
  aContainerElementIds.splice(oCondenserInfo.sourceIndex, 0, oCondenserInfo.affectedControl);
45
60
  }
46
61
  });
@@ -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.110.0
77
+ * @version 1.111.1
78
78
  * @private
79
79
  * @ui5-restricted sap.ui.fl.write._internal.connectors
80
80
  */
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  *
33
33
  * @namespace sap.ui.fl.write._internal.connectors.KeyUserConnector
34
34
  * @since 1.70
35
- * @version 1.110.0
35
+ * @version 1.111.1
36
36
  * @private
37
37
  * @ui5-restricted sap.ui.fl.write._internal.Storage
38
38
  */
@@ -73,7 +73,7 @@ sap.ui.define([
73
73
  * @param {boolean} [mPropertyBag.isContextSharing] Indicator whether this is a request for context sharing
74
74
  * @param {boolean} [mPropertyBag.skipIam=false] - Indicates whether the default IAM item creation and registration is skipped. This is S4/Hana specific flag passed by only Smart Business
75
75
  * @param {boolean} [mPropertyBag.isCondensingEnabled] Indicator whether this is a request for condensing
76
- * @param {boolean} [mPropertyBag.isContextBasedAdaptationEnabled] Indicator whether this is an context-based adaptation
76
+ * @param {boolean} [mPropertyBag.isContextBasedAdaptationEnabled] Indicator whether this is a context-based adaptation
77
77
  * @param {boolean} [mPropertyBag.parentVersion] Indicates if changes should be written as a draft and on which version the changes should be based on
78
78
  * @private
79
79
  * @returns {Promise} Promise resolves as soon as the writing was completed
@@ -166,7 +166,7 @@ sap.ui.define([
166
166
  *
167
167
  * @namespace sap.ui.fl.write._internal.connectors.LrepConnector
168
168
  * @since 1.67
169
- * @version 1.110.0
169
+ * @version 1.111.1
170
170
  * @private
171
171
  * @ui5-restricted sap.ui.fl.write._internal.Storage
172
172
  */
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  *
26
26
  * @namespace sap.ui.fl.write._internal.connectors.NeoLrepConnector
27
27
  * @since 1.81
28
- * @version 1.110.0
28
+ * @version 1.111.1
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl.write._internal.Storage
31
31
  */
@@ -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.110.0
27
+ * @version 1.111.1
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.fl.write._internal.Storage
30
30
  */
@@ -19,7 +19,8 @@ sap.ui.define([
19
19
  var API_VERSION = "/v1";
20
20
 
21
21
  var FEATURES = {
22
- isProductiveSystem: true
22
+ isProductiveSystem: true,
23
+ hasPersoConnector: true
23
24
  };
24
25
 
25
26
  /**
@@ -27,7 +28,7 @@ sap.ui.define([
27
28
  *
28
29
  * @namespace sap.ui.fl.write._internal.connectors.PersonalizationConnector
29
30
  * @since 1.70
30
- * @version 1.110.0
31
+ * @version 1.111.1
31
32
  * @private
32
33
  * @ui5-restricted sap.ui.fl.write._internal.Storage
33
34
  */
@@ -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.110.0
19
+ * @version 1.111.1
20
20
  * @private
21
21
  * @ui5-restricted sap.ui.fl.write._internal.connectors, sap.ui.fl.write._internal.transport
22
22
  */
@@ -28,7 +28,7 @@ function(
28
28
  * @class
29
29
  * @constructor
30
30
  * @author SAP SE
31
- * @version 1.110.0
31
+ * @version 1.111.1
32
32
  */
33
33
  var Processor = {
34
34
  applyExtensionPoint: function(oExtensionPoint) {
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @alias sap.ui.fl.write._internal.extensionPoint.Registry
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.110.0
23
+ * @version 1.111.1
24
24
  *
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPAccess
45
45
  * @experimental Since 1.87.0
46
46
  * @author SAP SE
47
- * @version 1.110.0
47
+ * @version 1.111.1
48
48
  */
49
49
  var ABAPAccess = {};
50
50
 
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  return Promise.resolve(false);
69
69
  }
70
70
  return Settings.getInstance(sComponentName).then(function(oSettings) {
71
- return oSettings.isModelS();
71
+ return oSettings.isAtoEnabled();
72
72
  });
73
73
  };
74
74
 
@@ -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.110.0
20
+ * @version 1.111.1
21
21
  * @public
22
22
  * @param {sap.ui.base.ManagedObject} oControl - Control to add extensions
23
23
  */
@@ -117,7 +117,7 @@ sap.ui.define([
117
117
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPExtensibilityVariantFactory
118
118
  * @experimental Since 1.87.0
119
119
  * @author SAP SE
120
- * @version 1.110.0
120
+ * @version 1.111.1
121
121
  */
122
122
  var ABAPExtensibilityVariantFactory = {};
123
123
 
@@ -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.110.0
27
+ * @version 1.111.1
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
  * @experimental Since 1.87.0
21
21
  * @author SAP SE
22
- * @version 1.110.0
22
+ * @version 1.111.1
23
23
  */
24
24
  var ServiceValidation = {};
25
25
 
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  *
44
44
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.SingleTenantABAPExtensibilityVariant
45
45
  * @since 1.87
46
- * @version 1.110.0
46
+ * @version 1.111.1
47
47
  * @public
48
48
  */
49
49
 
@@ -134,7 +134,7 @@ sap.ui.define([
134
134
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.UriParser
135
135
  * @experimental Since 1.87.0
136
136
  * @author SAP SE
137
- * @version 1.110.0
137
+ * @version 1.111.1
138
138
  */
139
139
  var UriParser = {};
140
140
 
@@ -249,7 +249,7 @@ sap.ui.define([
249
249
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.Utils
250
250
  * @experimental Since 1.87.0
251
251
  * @author SAP SE
252
- * @version 1.110.0
252
+ * @version 1.111.1
253
253
  */
254
254
  var Utils = {};
255
255
 
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @experimental Since 1.93
23
23
  * @private
24
24
  * @author SAP SE
25
- * @version 1.110.0
25
+ * @version 1.111.1
26
26
  */
27
27
  var CAPAccess = {};
28
28
 
@@ -80,7 +80,7 @@ sap.ui.define([
80
80
  * @extends sap.ui.base.ManagedObject
81
81
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.dialog.CustomFieldCAPDialog
82
82
  * @author SAP SE
83
- * @version 1.110.0
83
+ * @version 1.111.1
84
84
  * @since 1.93
85
85
  * @experimental Since 1.93
86
86
  * @private
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.editor.propertyEditor.booleanEditor.BooleanEditor
19
19
  * @author SAP SE
20
20
  * @since 1.93
21
- * @version 1.110.0
21
+ * @version 1.111.1
22
22
  *
23
23
  * @private
24
24
  * @experimental 1.93
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.editor.propertyEditor.rangeEditor.RangeEditor
21
21
  * @author SAP SE
22
22
  * @since 1.93
23
- * @version 1.110.0
23
+ * @version 1.111.1
24
24
  *
25
25
  * @private
26
26
  * @experimental 1.93
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.editor.propertyEditor.timeEditor.TimeEditor
23
23
  * @author SAP SE
24
24
  * @since 1.93
25
- * @version 1.110.0
25
+ * @version 1.111.1
26
26
  *
27
27
  * @private
28
28
  * @experimental 1.93
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @namespace
38
38
  * @alias sap.ui.fl.write._internal.flexState.FlexObjectState
39
39
  * @since 1.83
40
- * @version 1.110.0
40
+ * @version 1.111.1
41
41
  * @private
42
42
  * @ui5-restricted sap.ui.fl
43
43
  */
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  var oDataToRestore = FlexState.getInitialNonFlCompVariantData(mPropertyBag.reference);
63
63
  if (oDataToRestore) {
64
64
  Object.keys(oDataToRestore).forEach(function(sPersistencyKey) {
65
- mCompEntities._initialize(sPersistencyKey, oDataToRestore[sPersistencyKey].variants);
65
+ mCompEntities._initialize(sPersistencyKey, oDataToRestore[sPersistencyKey].variants, oDataToRestore[sPersistencyKey].controlId);
66
66
  CompVariantMerger.merge(sPersistencyKey, mCompEntities[sPersistencyKey], oDataToRestore[sPersistencyKey].standardVariant);
67
67
  });
68
68
  }
@@ -172,9 +172,10 @@ sap.ui.define([
172
172
  *
173
173
  * @param {object} mPropertyBag - Object with parameters as properties
174
174
  * @param {sap.ui.fl.Selector} mPropertyBag.selector - Retrieves the associated flex persistence
175
- * @param {boolean} mPropertyBag.invalidateCache - Flag if the cache should be invalidated
176
- * @param {boolean} mPropertyBag.includeCtrlVariants - Flag if control variant changes should be included
177
- * @param {boolean} mPropertyBag.includeDirtyChanges - Flag if dirty UI changes should be included
175
+ * @param {boolean} [mPropertyBag.invalidateCache] - Flag if the cache should be invalidated
176
+ * @param {boolean} [mPropertyBag.includeCtrlVariants] - Flag if control variant changes should be included
177
+ * @param {boolean} [mPropertyBag.includeDirtyChanges] - Flag if dirty UI changes should be included
178
+ * @param {boolean} [mPropertyBag.version] - The version for which the objects are retrieved
178
179
  * @returns {Promise<sap.ui.fl.apply._internal.flexObjects.FlexObject[]>} Flex objects, containing changes, compVariants & changes as well as ctrl_variant and changes
179
180
  */
180
181
  FlexObjectState.getFlexObjects = function (mPropertyBag) {
@@ -238,6 +239,7 @@ sap.ui.define([
238
239
  * @param {string} [mPropertyBag.cacheKey] - Key to validate the cache entry stored on client side
239
240
  * @param {boolean} [mPropertyBag.invalidateCache] - Indicates whether the cache is to be invalidated
240
241
  * @param {boolean} [mPropertyBag.removeOtherLayerChanges=false] - Whether to remove changes on other layers before saving
242
+ * @param {boolean} [mPropertyBag.version] - Version for which the objects are saved
241
243
  * @returns {Promise<sap.ui.fl.apply._internal.flexObjects.FlexObject[]>} Flex objects, containing changes, compVariants & changes as well as ctrl_variant and changes
242
244
  */
243
245
  FlexObjectState.saveFlexObjects = function(mPropertyBag) {
@@ -259,12 +259,20 @@ sap.ui.define([
259
259
  *
260
260
  * @namespace sap.ui.fl.write._internal.flexState.compVariants.CompVariantState
261
261
  * @since 1.83
262
- * @version 1.110.0
262
+ * @version 1.111.1
263
263
  * @private
264
264
  * @ui5-restricted sap.ui.fl
265
265
  */
266
266
  var CompVariantState = {};
267
267
 
268
+ CompVariantState.checkSVMControlsForDirty = function(sReference) {
269
+ var mCompVariantsMap = FlexState.getCompVariantsMap(sReference);
270
+ return Object.values(mCompVariantsMap).some(function(mMap) {
271
+ var oControl = mMap.controlId && Core.byId(mMap.controlId);
272
+ return oControl && oControl.getModified();
273
+ });
274
+ };
275
+
268
276
  /**
269
277
  * Creates a change to set which variant should be selected at the application start-up.
270
278
  *
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @private
27
27
  * @alias sap.ui.fl.write._internal.transport.TransportSelection
28
28
  * @author SAP SE
29
- * @version 1.110.0
29
+ * @version 1.111.1
30
30
  * @since 1.74.0
31
31
  * Helper object to select an ABAP transport for an LREP object. This is not a generic utility to select a transport request, but part
32
32
  * of the SmartVariant control.
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * Entity that handles ABAP transport related information.
28
28
  * @alias sap.ui.fl.write._internal.transport.Transports
29
29
  * @author SAP SE
30
- * @version 1.110.0
30
+ * @version 1.111.1
31
31
  * @since 1.74.0
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.fl.write._internal.transport