@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
@@ -10,7 +10,7 @@ sap.ui.define([
10
10
  "sap/ui/core/util/reflection/JsControlTreeModifier",
11
11
  "sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes",
12
12
  "sap/ui/fl/apply/_internal/changes/FlexCustomData",
13
- "sap/ui/fl/apply/_internal/flexObjects/AnnotationChange",
13
+ "sap/ui/fl/apply/_internal/flexObjects/UIChange",
14
14
  "sap/ui/fl/apply/_internal/flexState/FlexState",
15
15
  "sap/ui/fl/apply/_internal/flexState/ManifestUtils",
16
16
  "sap/ui/fl/initial/_internal/FlexInfoSession",
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  JsControlTreeModifier,
30
30
  DescriptorChangeTypes,
31
31
  FlexCustomData,
32
- AnnotationChange,
32
+ UIChange,
33
33
  FlexState,
34
34
  ManifestUtils,
35
35
  FlexInfoSession,
@@ -144,33 +144,26 @@ sap.ui.define([
144
144
  * @private
145
145
  * @ui5-restricted sap.ui.fl, sap.ui.rta
146
146
  */
147
- PersistenceWriteAPI.save = function(mPropertyBag) {
147
+ PersistenceWriteAPI.save = async function(mPropertyBag) {
148
148
  // when save or activate a version in rta no reload is triggered but flex/data request is send
149
149
  // and will delete version and maxLayer without saveChangeKeepSession
150
150
  // after the request saveChangeKeepSession needs to be delete again
151
- var sReference = ManifestUtils.getFlexReferenceForControl(mPropertyBag.selector);
152
- var oFlexInfoSession = FlexInfoSession.getByReference(sReference);
151
+ const sReference = ManifestUtils.getFlexReferenceForControl(mPropertyBag.selector);
152
+ let oFlexInfoSession = FlexInfoSession.getByReference(sReference);
153
153
  oFlexInfoSession.saveChangeKeepSession = true;
154
154
  FlexInfoSession.setByReference(oFlexInfoSession, sReference);
155
- return FlexObjectManager.saveFlexObjects(mPropertyBag).then(function(aFlexObjects) {
156
- if (aFlexObjects?.length > 0) {
157
- return PersistenceWriteAPI.getResetAndPublishInfo(mPropertyBag).then(function(oResult) {
158
- // other attributes like adaptationId, isEndUserAdaptation, init needs to be taken from flex info session if available
159
- oFlexInfoSession = FlexInfoSession.getByReference(sReference);
160
- delete oFlexInfoSession.saveChangeKeepSession;
161
- FlexInfoSession.setByReference({ ...oFlexInfoSession, ...oResult }, sReference);
162
- return aFlexObjects;
163
- });
164
- }
165
- oFlexInfoSession = FlexInfoSession.getByReference(sReference);
166
- delete oFlexInfoSession.saveChangeKeepSession;
167
- FlexInfoSession.setByReference(oFlexInfoSession, sReference);
168
- return aFlexObjects;
169
- });
155
+ const aFlexObjects = await FlexObjectManager.saveFlexObjects(mPropertyBag);
156
+ if (aFlexObjects?.length > 0) {
157
+ await PersistenceWriteAPI.updateResetAndPublishInfo(mPropertyBag);
158
+ }
159
+ oFlexInfoSession = FlexInfoSession.getByReference(sReference);
160
+ delete oFlexInfoSession.saveChangeKeepSession;
161
+ FlexInfoSession.setByReference(oFlexInfoSession, sReference);
162
+ return aFlexObjects;
170
163
  };
171
164
 
172
165
  /**
173
- * Provides information if content from backend and persistence in an application can be published/reset.
166
+ * Updates information in Flex Info Session from backend and persistence in an application if it can be published/reset.
174
167
  *
175
168
  * @param {object} mPropertyBag Contains additional data needed for checking flex/info
176
169
  * @param {sap.ui.fl.Selector} mPropertyBag.selector Selector
@@ -180,42 +173,43 @@ sap.ui.define([
180
173
  * @private
181
174
  * @ui5-restricted sap.ui.fl, sap.ui.rta
182
175
  */
183
- PersistenceWriteAPI.getResetAndPublishInfo = function(mPropertyBag) {
184
- return Promise.all([
176
+ PersistenceWriteAPI.updateResetAndPublishInfo = async function(mPropertyBag) {
177
+ const [bHasChanges, bIsPublishAvailable] = await Promise.all([
185
178
  hasChanges(mPropertyBag),
186
179
  FeaturesAPI.isPublishAvailable()
187
- ]).then(function(aResetPublishInfo) {
188
- var bHasChanges = aResetPublishInfo[0];
189
- var bIsPublishAvailable = aResetPublishInfo[1];
190
- var bIsLayerTransportable = mPropertyBag.layer !== Layer.USER && mPropertyBag.layer !== Layer.PUBLIC;
191
- // By default:
192
- // Reset is enabled if there is change
193
- // Publish is by default disabled
194
- // All contexts provided is true to not trigger a reload and add additional parameter to flex/data request
195
- var oFlexInfo = {
196
- isResetEnabled: bHasChanges,
197
- isPublishEnabled: false,
198
- allContextsProvided: true
199
- };
200
- // If there is change and the layer is transportable , the request to back end is always necessary
201
- // because of control variant reset logic through setVisible change and app descriptor changes
202
- if (bIsLayerTransportable) {
203
- return Storage.getFlexInfo(mPropertyBag)
204
- .then(function(oResponse) {
205
- oFlexInfo.allContextsProvided = oResponse.allContextsProvided === undefined || oResponse.allContextsProvided;
206
- oFlexInfo.isResetEnabled = oResponse.isResetEnabled;
207
- // Together with publish info from back end,
208
- // system setting info for publish availability also need to be checked
209
- oFlexInfo.isPublishEnabled = bIsPublishAvailable && oResponse.isPublishEnabled;
210
- return oFlexInfo;
211
- })
212
- .catch(function(oError) {
213
- Log.error(`Sending request to flex/info route failed: ${oError.message}`);
214
- return oFlexInfo;
215
- });
180
+ ]);
181
+
182
+ // Default flex info object
183
+ const oFlexInfo = {
184
+ isResetEnabled: bHasChanges,
185
+ isPublishEnabled: false,
186
+ allContextsProvided: true
187
+ };
188
+ const bIsLayerTransportable = mPropertyBag.layer !== Layer.USER && mPropertyBag.layer !== Layer.PUBLIC;
189
+
190
+ // If the layer is transportable, fetch additional information from the backend
191
+ if (bIsLayerTransportable) {
192
+ try {
193
+ const oResponse = await Storage.getFlexInfo(mPropertyBag);
194
+ // default is true, so only set to false if explicitly set to false
195
+ oFlexInfo.allContextsProvided = oResponse.allContextsProvided !== false;
196
+ oFlexInfo.isResetEnabled = oResponse.isResetEnabled;
197
+ oFlexInfo.isPublishEnabled = bIsPublishAvailable && oResponse.isPublishEnabled;
198
+ } catch (oError) {
199
+ Log.error(`Sending request to flex/info route failed: ${oError.message}`);
216
200
  }
217
- return oFlexInfo;
218
- });
201
+ }
202
+
203
+ // Update the Flex Info Session
204
+ const sReference = ManifestUtils.getFlexReferenceForControl(mPropertyBag.selector);
205
+ const oOldFlexInfoSession = FlexInfoSession.getByReference(sReference);
206
+ const oNewFlexInfoSession = {
207
+ ...oOldFlexInfoSession,
208
+ ...oFlexInfo
209
+ };
210
+
211
+ FlexInfoSession.setByReference(oNewFlexInfoSession, sReference);
212
+ FlexState.setAllContextsProvided(sReference, oNewFlexInfoSession.allContextsProvided);
219
213
  };
220
214
 
221
215
  /**
@@ -277,10 +271,10 @@ sap.ui.define([
277
271
  if (isDescriptorChange(oFlexObject)) {
278
272
  return oFlexObject.store();
279
273
  }
280
- if (oFlexObject instanceof AnnotationChange) {
281
- return FlexObjectManager.addDirtyFlexObjects(sFlexReference, [oFlexObject])?.[0];
274
+ if (oFlexObject instanceof UIChange) {
275
+ return UIChangeManager.addDirtyChanges(sFlexReference, [oFlexObject], oAppComponent)?.[0];
282
276
  }
283
- return UIChangeManager.addDirtyChanges(sFlexReference, [oFlexObject], oAppComponent)?.[0];
277
+ return FlexObjectManager.addDirtyFlexObjects(sFlexReference, [oFlexObject])?.[0];
284
278
  }
285
279
 
286
280
  if (mPropertyBag.change && mPropertyBag.flexObjects) {
@@ -301,17 +295,17 @@ sap.ui.define([
301
295
  }
302
296
 
303
297
  const aUIChanges = [];
304
- const aAnnotationChanges = [];
298
+ const aFlexObjects = [];
305
299
 
306
300
  mPropertyBag.flexObjects.forEach((oFlexObject) => {
307
- if (oFlexObject instanceof AnnotationChange) {
308
- aAnnotationChanges.push(oFlexObject);
309
- } else {
301
+ if (oFlexObject instanceof UIChange) {
310
302
  aUIChanges.push(oFlexObject);
303
+ } else {
304
+ aFlexObjects.push(oFlexObject);
311
305
  }
312
306
  });
313
307
 
314
- const aAddedFlexObjects = FlexObjectManager.addDirtyFlexObjects(sFlexReference, aAnnotationChanges);
308
+ const aAddedFlexObjects = FlexObjectManager.addDirtyFlexObjects(sFlexReference, aFlexObjects);
315
309
  const aAddedUIChanges = UIChangeManager.addDirtyChanges(sFlexReference, aUIChanges, oAppComponent);
316
310
 
317
311
  // Ensure that the added changes are returned in the same order as they were passed
@@ -96,15 +96,14 @@ sap.ui.define([
96
96
  selector: oReloadInfo.selector,
97
97
  layer: oReloadInfo.layer
98
98
  };
99
- const oFlexInfo = await PersistenceWriteAPI.getResetAndPublishInfo(mPropertyBag);
100
- oFlexInfoSession = {...oFlexInfoSession, ...oFlexInfo };
101
- oFlexInfoSession.initialAllContexts =
102
- oFlexInfoSession.allContextsProvided === false || oFlexInfoSession.allContextsProvided === undefined;
99
+ await PersistenceWriteAPI.updateResetAndPublishInfo(mPropertyBag);
100
+ // Refresh oFlexInfoSession with updated backend data updated in updateResetAndPublishInfo
101
+ oFlexInfoSession = FlexInfoSession.getByReference(sReference);
103
102
  } else {
104
- oFlexInfoSession.initialAllContexts = !oFlexInfoSession.allContextsProvided;
103
+ FlexState.setAllContextsProvided(sReference, oFlexInfoSession.allContextsProvided);
105
104
  }
105
+ oFlexInfoSession.initialAllContexts = !oFlexInfoSession.allContextsProvided;
106
106
  FlexInfoSession.setByReference(oFlexInfoSession, sReference);
107
- FlexState.setAllContextsProvided(sReference, oFlexInfoSession.allContextsProvided);
108
107
  return !oFlexInfoSession.allContextsProvided;
109
108
  }
110
109