@openui5/sap.ui.fl 1.138.0 → 1.140.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 (193) hide show
  1. package/README.md +1 -1
  2. package/REUSE.toml +8 -1
  3. package/THIRDPARTY.txt +72 -66
  4. package/package.json +4 -4
  5. package/src/sap/ui/fl/.library +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/LayerUtils.js +1 -1
  10. package/src/sap/ui/fl/Utils.js +1 -1
  11. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  12. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  13. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
  14. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +6 -6
  15. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  16. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  17. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewDataSource.js +1 -1
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewOutbound.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddTechnicalAttributes.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeOutbound.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetAch.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetDescription.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetCloudDevAdaptationStatus.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/ChangeModel.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +25 -24
  44. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +2 -2
  45. package/src/sap/ui/fl/apply/_internal/extensionPoint/Registry.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/flexObjects/AnnotationChange.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +13 -10
  49. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  51. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +2 -2
  52. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexObjects/VariantChange.js +1 -1
  56. package/src/sap/ui/fl/apply/_internal/flexObjects/VariantManagementChange.js +1 -1
  57. package/src/sap/ui/fl/apply/_internal/flexObjects/getVariantAuthor.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexState/DataSelector.js +3 -3
  59. package/src/sap/ui/fl/apply/_internal/flexState/FlexObjectState.js +12 -26
  60. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +58 -114
  61. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  62. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  63. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +3 -3
  64. package/src/sap/ui/fl/apply/_internal/flexState/changes/UIChangesState.js +1 -1
  65. package/src/sap/ui/fl/apply/_internal/flexState/communication/FLPAboutInfo.js +2 -2
  66. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantManagementState.js +290 -10
  67. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/applyChangesOnVariant.js +61 -0
  68. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  69. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +22 -9
  70. package/src/sap/ui/fl/apply/_internal/preprocessors/ComponentLifecycleHooks.js +5 -4
  71. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +2 -2
  72. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +3 -3
  73. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +2 -2
  74. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  75. package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +4 -4
  76. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +43 -44
  77. package/src/sap/ui/fl/apply/api/UI2PersonalizationApplyAPI.js +1 -1
  78. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  79. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  80. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  81. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  82. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  83. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  84. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  85. package/src/sap/ui/fl/changeHandler/ChangeAnnotation.js +1 -1
  86. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  87. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  88. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  89. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  90. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  91. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  92. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  93. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  94. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  95. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChange.js +3 -3
  96. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +3 -3
  97. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  98. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  99. package/src/sap/ui/fl/initial/_internal/FlexConfiguration.js +1 -1
  100. package/src/sap/ui/fl/{apply/_internal/flexState → initial/_internal}/Loader.js +12 -10
  101. package/src/sap/ui/fl/{apply/_internal/flexState → initial/_internal}/ManifestUtils.js +1 -1
  102. package/src/sap/ui/fl/initial/_internal/Settings.js +13 -1
  103. package/src/sap/ui/fl/initial/_internal/Storage.js +3 -2
  104. package/src/sap/ui/fl/initial/_internal/StorageFeaturesMerger.js +1 -1
  105. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +9 -7
  106. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  107. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  108. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  109. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  110. package/src/sap/ui/fl/initial/api/InitialFlexAPI.js +1 -1
  111. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  112. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  113. package/src/sap/ui/fl/library.js +43 -43
  114. package/src/sap/ui/fl/messagebundle_vi.properties +1 -1
  115. package/src/sap/ui/fl/support/_internal/extractChangeDependencies.js +6 -2
  116. package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +2 -2
  117. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +2 -2
  118. package/src/sap/ui/fl/support/_internal/getFlexObjectInfos.js +2 -2
  119. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  120. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  121. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  122. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  123. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  124. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  125. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  126. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  127. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  128. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  129. package/src/sap/ui/fl/util/IFrame.js +15 -5
  130. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  131. package/src/sap/ui/fl/variants/VariantManagement.js +39 -2
  132. package/src/sap/ui/fl/variants/VariantManager.js +9 -9
  133. package/src/sap/ui/fl/variants/VariantModel.js +59 -44
  134. package/src/sap/ui/fl/write/_internal/SaveAs.js +1 -1
  135. package/src/sap/ui/fl/write/_internal/Storage.js +14 -1
  136. package/src/sap/ui/fl/write/_internal/Versions.js +1 -1
  137. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +10 -1
  138. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +6 -1
  139. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  140. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  141. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +1 -1
  142. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +4 -2
  143. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  144. package/src/sap/ui/fl/write/_internal/connectors/BtpServiceConnector.js +27 -2
  145. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  146. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +4 -1
  147. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  148. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  149. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  150. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  151. package/src/sap/ui/fl/write/_internal/controlVariants/ControlVariantWriteUtils.js +2 -2
  152. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  153. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  154. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  155. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  156. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  157. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  158. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  159. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  160. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  161. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  162. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  163. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  164. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  166. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectManager.js +15 -54
  167. package/src/sap/ui/fl/write/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  168. package/src/sap/ui/fl/write/_internal/flexState/changes/UIChangeManager.js +1 -1
  169. package/src/sap/ui/fl/write/_internal/flexState/compVariants/{CompVariantState.js → CompVariantManager.js} +186 -302
  170. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +2 -2
  171. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  172. package/src/sap/ui/fl/write/api/AppVariantWriteAPI.js +2 -1
  173. package/src/sap/ui/fl/write/api/BusinessNetworkAPI.js +92 -6
  174. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +39 -17
  175. package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +17 -20
  176. package/src/sap/ui/fl/write/api/ContextSharingAPI.js +1 -1
  177. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
  178. package/src/sap/ui/fl/write/api/LocalResetAPI.js +1 -1
  179. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +25 -23
  180. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +5 -5
  181. package/src/sap/ui/fl/write/api/SACIntegrationUpdateVariant.js +6 -6
  182. package/src/sap/ui/fl/write/api/SmartBusinessWriteAPI.js +1 -1
  183. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +25 -22
  184. package/src/sap/ui/fl/write/api/TranslationAPI.js +1 -1
  185. package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +2 -2
  186. package/src/sap/ui/fl/write/api/VersionsAPI.js +2 -2
  187. package/src/sap/ui/fl/write/api/connectors/FileListBaseConnector.js +1 -1
  188. package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +2 -1
  189. package/src/sap/ui/fl/write/connectors/BaseConnector.js +13 -0
  190. package/ui5.yaml +0 -1
  191. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +0 -233
  192. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +0 -118
  193. package/src/sap/ui/fl/util/resolveBinding.js +0 -79
@@ -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.138.0
53
+ * @version 1.140.0
54
54
  * @private
55
55
  * @ui5-restricted sap.ui.fl, sap.ui.rta
56
56
  */
@@ -94,18 +94,18 @@ sap.ui.define([
94
94
  * Adds the passed function to the variant switch promise and returns the whole promise chain.
95
95
  *
96
96
  * @param {function():Promise} fnCallback - Callback function returning a promise
97
- * @param {sap.ui.fl.variants.VariantModel} oModel - Variant model
97
+ * @param {string} sFlexReference - Flex reference of the app
98
98
  * @param {string} sVMReference - Variant Management reference
99
- * @returns {Promise<undefined>} Resolves when the variant model is not busy anymore
99
+ * @returns {Promise} Resolves when the variant model is not busy anymore
100
100
  * @private
101
101
  */
102
- function executeAfterSwitch(fnCallback, oModel) {
102
+ function executeAfterSwitch(fnCallback, sFlexReference, sVMReference) {
103
103
  // if there are multiple switches triggered very quickly this makes sure that they are being executed one after another
104
- oModel._oVariantSwitchPromise = oModel._oVariantSwitchPromise
104
+ const oNewPromise = VariantManagementState.waitForVariantSwitch(sFlexReference, sVMReference)
105
105
  .catch(function() {})
106
106
  .then(fnCallback);
107
- VariantManagementState.setVariantSwitchPromise(oModel.sFlexReference, oModel._oVariantSwitchPromise);
108
- return oModel._oVariantSwitchPromise;
107
+ VariantManagementState.setVariantSwitchPromise(sFlexReference, sVMReference, oNewPromise);
108
+ return oNewPromise;
109
109
  }
110
110
 
111
111
  async function handleDirtyChanges(aDirtyChanges, sVariantManagementReference, oAppComponent, oVariantModel) {
@@ -189,7 +189,7 @@ sap.ui.define([
189
189
  if (!bVariantSwitch) {
190
190
  oModel.callVariantSwitchListeners(sVMReference, oModel.oData[sVMReference].currentVariant);
191
191
  }
192
- }.bind(null, oEvent.getParameters(), mPropertyBag), mPropertyBag.model);
192
+ }.bind(null, oEvent.getParameters(), mPropertyBag), mPropertyBag.model, mPropertyBag.vmReference);
193
193
  };
194
194
 
195
195
  VariantManager.handleManageEvent = async function(oEvent, oData, oVariantModel) {
@@ -338,7 +338,7 @@ sap.ui.define([
338
338
  oAppComponent,
339
339
  oVariantModel
340
340
  );
341
- }.bind(oVariantModel, sVMReference, oAppComponent, mParameters), oVariantModel);
341
+ }.bind(oVariantModel, sVMReference, oAppComponent, mParameters), oVariantModel, sVMReference);
342
342
  return aNewVariantDirtyChanges;
343
343
  };
344
344
 
@@ -8,7 +8,6 @@ sap.ui.define([
8
8
  "sap/base/util/restricted/_difference",
9
9
  "sap/base/util/restricted/_isEqual",
10
10
  "sap/base/util/restricted/_omit",
11
- "sap/base/util/each",
12
11
  "sap/base/util/isEmptyObject",
13
12
  "sap/base/util/merge",
14
13
  "sap/base/Log",
@@ -23,7 +22,7 @@ sap.ui.define([
23
22
  "sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher",
24
23
  "sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
25
24
  "sap/ui/fl/apply/_internal/flexState/FlexObjectState",
26
- "sap/ui/fl/apply/_internal/flexState/ManifestUtils",
25
+ "sap/ui/fl/initial/_internal/ManifestUtils",
27
26
  "sap/ui/fl/initial/_internal/Settings",
28
27
  "sap/ui/fl/Layer",
29
28
  "sap/ui/fl/LayerUtils",
@@ -35,7 +34,6 @@ sap.ui.define([
35
34
  _difference,
36
35
  _isEqual,
37
36
  _omit,
38
- each,
39
37
  isEmptyObject,
40
38
  merge,
41
39
  Log,
@@ -63,22 +61,23 @@ sap.ui.define([
63
61
 
64
62
  var _mUShellServices = {};
65
63
  const { SharingMode } = mobileLibrary;
64
+
66
65
  /**
67
66
  * Adds the passed function to the variant switch promise and returns the whole promise chain.
68
67
  *
69
68
  * @param {function():Promise} fnCallback - Callback function returning a promise
70
- * @param {sap.ui.fl.variants.VariantModel} oModel - Variant model
69
+ * @param {string} sFlexReference - Flex reference of the app
71
70
  * @param {string} sVMReference - Variant Management reference
72
71
  * @returns {Promise} Resolves when the variant model is not busy anymore
73
72
  * @private
74
73
  */
75
- function executeAfterSwitch(fnCallback, oModel) {
74
+ function executeAfterSwitch(fnCallback, sFlexReference, sVMReference) {
76
75
  // if there are multiple switches triggered very quickly this makes sure that they are being executed one after another
77
- oModel._oVariantSwitchPromise = oModel._oVariantSwitchPromise
76
+ const oNewPromise = VariantManagementState.waitForVariantSwitch(sFlexReference, sVMReference)
78
77
  .catch(function() {})
79
78
  .then(fnCallback);
80
- VariantManagementState.setVariantSwitchPromise(oModel.sFlexReference, oModel._oVariantSwitchPromise);
81
- return oModel._oVariantSwitchPromise;
79
+ VariantManagementState.setVariantSwitchPromise(sFlexReference, sVMReference, oNewPromise);
80
+ return oNewPromise;
82
81
  }
83
82
 
84
83
  /**
@@ -121,7 +120,9 @@ sap.ui.define([
121
120
  var oSettings = Settings.getInstanceOrUndef();
122
121
  var bUserIsAuthorized = oSettings &&
123
122
  (oSettings.getIsKeyUser() || !oSettings.getUserId() ||
124
- (oSettings.getIsPublicFlVariantEnabled() && oSettings.getUserId().toUpperCase() === oVariant.instance.getSupportInformation().user.toUpperCase()));
123
+ (oSettings.getIsPublicFlVariantEnabled() &&
124
+ oSettings.getUserId().toUpperCase() === oVariant.instance.getSupportInformation().user.toUpperCase()
125
+ ));
125
126
  oVariant.remove = bUserIsAuthorized;
126
127
  oVariant.rename = bUserIsAuthorized;
127
128
  oVariant.change = bUserIsAuthorized;
@@ -194,12 +195,22 @@ sap.ui.define([
194
195
  return aSelectors.length ? FlexObjectState.waitForFlexObjectsToBeApplied(aSelectors) : Promise.resolve();
195
196
  }
196
197
 
198
+ function getVariantManagementControl(sVariantManagementReference, oAppComponent) {
199
+ let sVMControlId;
200
+ if (oAppComponent.byId(sVariantManagementReference)) {
201
+ sVMControlId = oAppComponent.createId(sVariantManagementReference);
202
+ } else {
203
+ sVMControlId = sVariantManagementReference;
204
+ }
205
+ return Element.getElementById(sVMControlId);
206
+ }
207
+
197
208
  /**
198
209
  * Constructor for a new sap.ui.fl.variants.VariantModel model.
199
210
  * @class Variant model implementation for JSON format.
200
211
  * @extends sap.ui.model.json.JSONModel
201
212
  * @author SAP SE
202
- * @version 1.138.0
213
+ * @version 1.140.0
203
214
  * @param {object} oData - Either the URL where to load the JSON from or a JS object
204
215
  * @param {object} mPropertyBag - Map of properties required for the constructor
205
216
  * @param {sap.ui.core.Component} mPropertyBag.appComponent - Application component instance that is currently loading
@@ -224,8 +235,6 @@ sap.ui.define([
224
235
  this.sFlexReference = ManifestUtils.getFlexReferenceForControl(mPropertyBag.appComponent);
225
236
  this.oAppComponent = mPropertyBag.appComponent;
226
237
  this._oResourceBundle = Lib.getResourceBundleFor("sap.ui.fl");
227
- this._oVariantSwitchPromise = Promise.resolve();
228
- this._oVariantAppliedListeners = {};
229
238
 
230
239
  // set variant model data
231
240
  this.fnUpdateListener = this.updateData.bind(this);
@@ -313,7 +322,11 @@ sap.ui.define([
313
322
  if (mPropertyBag.internallyCalled) {
314
323
  return switchVariantAndUpdateModel.call(this, mProperties, mPropertyBag.scenario);
315
324
  }
316
- return executeAfterSwitch(switchVariantAndUpdateModel.bind(this, mProperties, mPropertyBag.scenario), this);
325
+ return executeAfterSwitch(
326
+ switchVariantAndUpdateModel.bind(this, mProperties, mPropertyBag.scenario),
327
+ this.sFlexReference,
328
+ mPropertyBag.variantManagementReference
329
+ );
317
330
  };
318
331
 
319
332
  /**
@@ -337,6 +350,7 @@ sap.ui.define([
337
350
  iIndex = index;
338
351
  return true;
339
352
  }
353
+ return false;
340
354
  });
341
355
  }.bind(this));
342
356
  return {
@@ -402,8 +416,6 @@ sap.ui.define([
402
416
  var sVMReference = this.getVariantManagementReferenceForControl(oVariantManagementControl);
403
417
 
404
418
  return this.waitForVMControlInit(sVMReference).then(function(sVMReference, mPropertyBag) {
405
- this._oVariantAppliedListeners[sVMReference] ||= {};
406
-
407
419
  var bInitialLoad = handleInitialLoadScenario.call(this, sVMReference, oVariantManagementControl);
408
420
 
409
421
  // if the parameter callAfterInitialVariant or initialLoad is true call the function without check
@@ -430,7 +442,7 @@ sap.ui.define([
430
442
  ) {
431
443
  this.oData[sVMReference].showExecuteOnSelection = true;
432
444
  this.checkUpdate(true);
433
- this._oVariantAppliedListeners[sVMReference][mPropertyBag.control.getId()] = mPropertyBag.callback;
445
+ oVariantManagementControl._addVariantAppliedListener(mPropertyBag.control, mPropertyBag.callback);
434
446
  } else {
435
447
  Log.error("Error in attachVariantApplied: The passed VariantManagement ID does not match the "
436
448
  + "responsible VariantManagement control");
@@ -440,27 +452,22 @@ sap.ui.define([
440
452
  };
441
453
 
442
454
  VariantModel.prototype.callVariantSwitchListeners = function(sVMReference, sNewVariantReference, fnCallback, sScenario) {
443
- if (this._oVariantAppliedListeners[sVMReference]) {
444
- var oVariant = getVariant(this.oData[sVMReference].variants, sNewVariantReference);
445
- if (sScenario) {
446
- oVariant.createScenario = sScenario;
447
- }
455
+ const oVMControl = getVariantManagementControl(sVMReference, this.oAppComponent);
456
+ const oVariant = getVariant(this.oData[sVMReference].variants, sNewVariantReference);
457
+ if (sScenario) {
458
+ oVariant.createScenario = sScenario;
459
+ }
448
460
 
449
- if (fnCallback) {
450
- fnCallback(oVariant);
451
- } else {
452
- each(this._oVariantAppliedListeners[sVMReference], function(sControlId, fnCallback) {
453
- fnCallback(oVariant);
454
- });
455
- }
461
+ if (fnCallback) {
462
+ fnCallback(oVariant);
463
+ } else {
464
+ oVMControl._executeAllVariantAppliedListeners(oVariant);
456
465
  }
457
466
  };
458
467
 
459
- VariantModel.prototype.detachVariantApplied = function(sVMControlId, sControlId) {
460
- var sVMReference = this.getVariantManagementReferenceForControl(Element.getElementById(sVMControlId));
461
- if (this._oVariantAppliedListeners[sVMReference]) {
462
- delete this._oVariantAppliedListeners[sVMReference][sControlId];
463
- }
468
+ VariantModel.prototype.detachVariantApplied = function(sVMControlId, oControl) {
469
+ const oVMControl = Element.getElementById(sVMControlId);
470
+ oVMControl._removeVariantAppliedListener(oControl);
464
471
  };
465
472
 
466
473
  VariantModel.prototype._getVariantTitleCount = function(sNewText, sVariantManagementReference) {
@@ -519,7 +526,10 @@ sap.ui.define([
519
526
  return oVariantChange.convertToFileContent();
520
527
  });
521
528
 
522
- mPropertyBag.currentVariantComparison = LayerUtils.compareAgainstCurrentLayer(oSourceVariant.instance.getLayer(), mPropertyBag.layer);
529
+ mPropertyBag.currentVariantComparison = LayerUtils.compareAgainstCurrentLayer(
530
+ oSourceVariant.instance.getLayer(),
531
+ mPropertyBag.layer
532
+ );
523
533
  if (mPropertyBag.currentVariantComparison === 1) {
524
534
  mPropertyBag.sourceVariantSource = this.getVariant(oSourceVariant.instance.getVariantReference());
525
535
  }
@@ -693,7 +703,8 @@ sap.ui.define([
693
703
  break;
694
704
  case "setVisible":
695
705
  mAdditionalChangeContent.visible = mPropertyBag.visible;
696
- mAdditionalChangeContent.createdByReset = false; // 'createdByReset' is used by the backend to distinguish between setVisible change created via reset and delete
706
+ // 'createdByReset' is used by the backend to distinguish between setVisible change created via reset and delete
707
+ mAdditionalChangeContent.createdByReset = false;
697
708
  oVariantInstance.setVisible(mPropertyBag.visible);
698
709
  break;
699
710
  case "setContexts":
@@ -709,7 +720,7 @@ sap.ui.define([
709
720
  oData[sVariantManagementReference].defaultVariant !== oData[sVariantManagementReference].currentVariant
710
721
  && aHashParameters.indexOf(oData[sVariantManagementReference].currentVariant) === -1
711
722
  ) {
712
- // if default variant is changed from the current variant, then add the current variant id as a variant URI parameter
723
+ // if default variant is changed from the current variant, add the current variant id as a variant URI parameter
713
724
  URLHandler.update({
714
725
  parameters: aHashParameters.concat(oData[sVariantManagementReference].currentVariant),
715
726
  updateURL: !this._bDesignTimeMode,
@@ -973,13 +984,6 @@ sap.ui.define([
973
984
  });
974
985
  }
975
986
 
976
- if (this.oData[sVariantManagementReference].initPromise) {
977
- this.oData[sVariantManagementReference].initPromise.resolveFunction();
978
- delete this.oData[sVariantManagementReference].initPromise;
979
- }
980
-
981
- this.oData[sVariantManagementReference].init = true;
982
-
983
987
  // the initial changes are not applied via a variant switch
984
988
  // to enable early variant switches to work properly they need to wait for the initial changes
985
989
  // so the initial changes are set as a variant switch
@@ -988,7 +992,18 @@ sap.ui.define([
988
992
  reference: this.sFlexReference,
989
993
  vmReference: sVariantManagementReference
990
994
  };
991
- this._oVariantSwitchPromise = this._oVariantSwitchPromise.then(waitForInitialVariantChanges.bind(undefined, mParameters));
995
+ VariantManagementState.setVariantSwitchPromise(
996
+ this.sFlexReference,
997
+ sVariantManagementReference,
998
+ waitForInitialVariantChanges(mParameters)
999
+ );
1000
+
1001
+ if (this.oData[sVariantManagementReference].initPromise) {
1002
+ this.oData[sVariantManagementReference].initPromise.resolveFunction();
1003
+ delete this.oData[sVariantManagementReference].initPromise;
1004
+ }
1005
+
1006
+ this.oData[sVariantManagementReference].init = true;
992
1007
  };
993
1008
 
994
1009
  VariantModel.prototype.waitForVMControlInit = function(sVMReference) {
@@ -10,7 +10,7 @@ sap.ui.define([
10
10
  "sap/base/Log",
11
11
  "sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes",
12
12
  "sap/ui/fl/apply/_internal/flexState/FlexObjectState",
13
- "sap/ui/fl/apply/_internal/flexState/ManifestUtils",
13
+ "sap/ui/fl/initial/_internal/ManifestUtils",
14
14
  "sap/ui/fl/apply/api/FlexRuntimeInfoAPI",
15
15
  "sap/ui/fl/initial/_internal/Settings",
16
16
  "sap/ui/fl/write/_internal/appVariant/AppVariantFactory",
@@ -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.138.0
25
+ * @version 1.140.0
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl
28
28
  */
@@ -340,6 +340,19 @@ sap.ui.define([
340
340
  return _executeActionByName("setSeenFeatureIds", mPropertyBag);
341
341
  };
342
342
 
343
+ /**
344
+ * Deletes all user variants for the given variant management references.
345
+ *
346
+ * @param {object} mPropertyBag - Property bag
347
+ * @param {string} mPropertyBag.flexReference - Flex reference of the app the VM controls belong to
348
+ * @param {string[]} mPropertyBag.variantManagementReferences - Array of variant management references
349
+ * @param {sap.ui.fl.Layer} mPropertyBag.layer - Layer
350
+ * @returns {Promise<undefined>} Promise that resolves as soon as the deletion was completed
351
+ */
352
+ Storage.deleteUserVariantsForVM = function(mPropertyBag) {
353
+ return _executeActionByName("deleteUserVariantsForVM", mPropertyBag);
354
+ };
355
+
343
356
  /**
344
357
  * Gets the variant management context information.
345
358
  * The context information is a JSON object that has boolean property 'lastHitReached'
@@ -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.138.0
162
+ * @version 1.140.0
163
163
  * @private
164
164
  * @ui5-restricted sap.ui.fl
165
165
  */
@@ -26,6 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  * @param {object} mPropertyBag Parameters
28
28
  * @param {string} mPropertyBag.id ID of the app variant to be provided for a new app variant and for deleting an app variant
29
+ * @param {object} [mPropertyBag.oParsedHash] - Parsed Hash containing semantic object, action and parameters for inbound
29
30
  * @param {string} [mPropertyBag.reference] Proposed referenced descriptor or app variant ID (might be overwritten by the back end) to be provided when creating a new app variant
30
31
  * @param {string} [mPropertyBag.transport] Transport with which the app variant should be transported
31
32
  * @param {string} [mPropertyBag.package] Package of the app variant
@@ -35,7 +36,7 @@ sap.ui.define([
35
36
  * @constructor
36
37
  * @alias sap.ui.fl.write._internal.appVariant.AppVariant
37
38
  * @author SAP SE
38
- * @version 1.138.0
39
+ * @version 1.140.0
39
40
  * @private
40
41
  * @ui5-restricted sap.ui.rta, smart business
41
42
  */
@@ -164,6 +165,10 @@ sap.ui.define([
164
165
  return this._oDefinition.id;
165
166
  };
166
167
 
168
+ AppVariant.prototype.getParsedHash = function() {
169
+ return this._oDefinition.parsedHash;
170
+ };
171
+
167
172
  AppVariant.prototype.getNamespace = function() {
168
173
  return this._oDefinition.namespace || Utils.getNameAndNameSpace(this._oDefinition.id, this._oDefinition.reference).namespace;
169
174
  };
@@ -306,6 +311,10 @@ sap.ui.define([
306
311
  mPropertyBag.parentVersion = this._oDefinition.parentVersion;
307
312
  }
308
313
 
314
+ if (this._oDefinition.parsedHash) {
315
+ mPropertyBag.parsedHash = this._oDefinition.parsedHash;
316
+ }
317
+
309
318
  if (mMap.layer) {
310
319
  mPropertyBag.layer = mMap.layer;
311
320
  }
@@ -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.138.0
35
+ * @version 1.140.0
36
36
  * @private
37
37
  * @ui5-restricted sap.ui.rta, smart business
38
38
  */
@@ -80,6 +80,7 @@ sap.ui.define([
80
80
  * @param {object} mPropertyBag Parameters
81
81
  * @param {string} mPropertyBag.id Id of the app variant
82
82
  * @param {string} mPropertyBag.reference Proposed referenced descriptor or app variant ID (might be overwritten by the back end)
83
+ * @param {object} [mPropertyBag.oParsedHash] - Parsed Hash containing semantic object, action and parameters for inbound
83
84
  * @param {string} [mPropertyBag.transport] Transport with which the app variant should be transported
84
85
  * @param {string} [mPropertyBag.package] Package of the app variant
85
86
  * @param {string} [mPropertyBag.version] Version of the app variant
@@ -96,6 +97,10 @@ sap.ui.define([
96
97
  Utils.checkParameterAndType(mPropertyBag, "reference", "string");
97
98
  Utils.checkParameterAndType(mPropertyBag, "id", "string");
98
99
 
100
+ if (mPropertyBag.parsedHash) {
101
+ Utils.checkParameterAndType(mPropertyBag, "parsedHash", "object");
102
+ }
103
+
99
104
  if (mPropertyBag.version) {
100
105
  Utils.checkParameterAndType(mPropertyBag, "version", "string");
101
106
  }
@@ -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.138.0
31
+ * @version 1.140.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.138.0
38
+ * @version 1.140.0
39
39
  * @private
40
40
  * @ui5-restricted sap.ui.rta, smart business
41
41
  */
@@ -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.138.0
56
+ * @version 1.140.0
57
57
  */
58
58
  const Condenser = {};
59
59
 
@@ -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.138.0
34
+ * @version 1.140.0
35
35
  */
36
36
  const UIReconstruction = {};
37
37
 
@@ -120,7 +120,9 @@ sap.ui.define([
120
120
  * @returns {int} Target index of the index-related change
121
121
  */
122
122
  function getTargetIndex(oCondenserInfo) {
123
- return oCondenserInfo.getTargetIndex(oCondenserInfo.change);
123
+ // Destroy does not have a target index. But it can be sorted to the front of the array to first
124
+ // reduce the number of changes in the container to the same as the target UI
125
+ return oCondenserInfo.classification === "destroy" ? -1 : oCondenserInfo.getTargetIndex(oCondenserInfo.change);
124
126
  }
125
127
 
126
128
  /**
@@ -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.138.0
77
+ * @version 1.140.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.138.0
28
+ * @version 1.140.0
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl.write._internal.Storage
31
31
  */
@@ -52,7 +52,8 @@ sap.ui.define([
52
52
  GET_SOURCELANGUAGE: `${InitialConnector.ROOT}/translation/sourcelanguages`
53
53
  },
54
54
  CONTEXTS: `${InitialConnector.ROOT}/contexts`,
55
- SEEN_FEATURES: `${InitialConnector.ROOT}/seenFeatures`
55
+ SEEN_FEATURES: `${InitialConnector.ROOT}/seenFeatures`,
56
+ DELETE_USER_VARIANTS: `${InitialConnector.ROOT}/variantdata/delete`
56
57
  },
57
58
 
58
59
  async getSeenFeatureIds(mPropertyBag) {
@@ -103,6 +104,30 @@ sap.ui.define([
103
104
  );
104
105
 
105
106
  return WriteUtils.sendRequest(sUrl, "POST", oRequestOption);
107
+ },
108
+
109
+ /**
110
+ * Deletes all user variants for the given variant management references.
111
+ *
112
+ * @param {object} mPropertyBag - Property bag
113
+ * @param {string} mPropertyBag.flexReference - Flex reference of the app the variant management controls belong to
114
+ * @param {string[]} mPropertyBag.variantManagementReferences - Array of variant management references
115
+ * @param {string} mPropertyBag.url - Configured url for the connector
116
+ * @returns {Promise<undefined>} Promise that resolves as soon as the deletion was completed
117
+ */
118
+ deleteUserVariantsForVM(mPropertyBag) {
119
+ const mPayload = {
120
+ flexReference: mPropertyBag.flexReference,
121
+ variantManagementReferences: mPropertyBag.variantManagementReferences
122
+ };
123
+ const sUrl = InitialUtils.getUrl(this.ROUTES.DELETE_USER_VARIANTS, mPropertyBag);
124
+ return WriteUtils.sendRequest(sUrl, "POST", {
125
+ tokenUrl: this.ROUTES.TOKEN,
126
+ initialConnector: InitialConnector,
127
+ payload: JSON.stringify(mPayload),
128
+ dataType: "json",
129
+ contentType: "application/json; charset=utf-8"
130
+ });
106
131
  }
107
132
  });
108
133
 
@@ -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.138.0
43
+ * @version 1.140.0
44
44
  * @private
45
45
  * @ui5-restricted sap.ui.fl.write._internal.Storage
46
46
  */
@@ -104,6 +104,9 @@ sap.ui.define([
104
104
  if (mPropertyBag.parentVersion) {
105
105
  mParameters.parentVersion = mPropertyBag.parentVersion;
106
106
  }
107
+ if (mPropertyBag.parsedHash) {
108
+ mParameters.parsedHash = JSON.stringify(mPropertyBag.parsedHash);
109
+ }
107
110
  InitialUtils.addSAPLogonLanguageInfo(mParameters);
108
111
  InitialConnector._addClientInfo(mParameters);
109
112
  // single update --> fileName needs to be in the url
@@ -168,7 +171,7 @@ sap.ui.define([
168
171
  *
169
172
  * @namespace sap.ui.fl.write._internal.connectors.LrepConnector
170
173
  * @since 1.67
171
- * @version 1.138.0
174
+ * @version 1.140.0
172
175
  * @private
173
176
  * @ui5-restricted sap.ui.fl.write._internal.Storage
174
177
  */
@@ -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.138.0
23
+ * @version 1.140.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.138.0
27
+ * @version 1.140.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.138.0
26
+ * @version 1.140.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.138.0
19
+ * @version 1.140.0
20
20
  * @private
21
21
  * @ui5-restricted sap.ui.fl.write._internal.connectors, sap.ui.fl.write._internal.transport
22
22
  */
@@ -18,8 +18,8 @@ sap.ui.define([
18
18
  const ControlVariantWriteUtils = {};
19
19
 
20
20
  /**
21
- * Deletes a control variant and its associated changes. This is only possible for USER layer variants
22
- * and CUSTOMER layer variants which are part of a draft (not activated).
21
+ * Deletes a control variant and its associated changes. This is only possible in the Business Network scenario
22
+ * or for USER layer variants or CUSTOMER layer variants which are part of a draft (not activated).
23
23
  *
24
24
  * @param {string} sReference - Flex reference
25
25
  * @param {string} sVMReference - Variant management reference
@@ -35,7 +35,7 @@ function(
35
35
  * @class
36
36
  * @constructor
37
37
  * @author SAP SE
38
- * @version 1.138.0
38
+ * @version 1.140.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.138.0
43
+ * @version 1.140.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.138.0
20
+ * @version 1.140.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.138.0
118
+ * @version 1.140.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.138.0
27
+ * @version 1.140.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.138.0
22
+ * @version 1.140.0
23
23
  * @private
24
24
  */
25
25
  var ServiceValidation = {};