@openui5/sap.ui.fl 1.141.2 → 1.143.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 (211) hide show
  1. package/.eslintrc.json +3 -2
  2. package/README.md +2 -2
  3. package/REUSE.toml +39 -1
  4. package/THIRDPARTY.txt +36 -3
  5. package/package.json +3 -3
  6. package/src/sap/ui/fl/.library +1 -1
  7. package/src/sap/ui/fl/FakeLrepConnector.js +3 -3
  8. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  9. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  10. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  11. package/src/sap/ui/fl/LayerUtils.js +1 -1
  12. package/src/sap/ui/fl/Utils.js +1 -2
  13. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  14. package/src/sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes.js +1 -0
  15. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +16 -10
  16. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  17. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Applier.js +31 -22
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RawApplier.js +48 -0
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +2 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewDataSource.js +10 -2
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +9 -2
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewOutbound.js +9 -2
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddTechnicalAttributes.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeOutbound.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetAch.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetDescription.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetInbounds.js +73 -0
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetCloudDevAdaptationStatus.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +2 -2
  45. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/ChangeModel.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +2 -2
  48. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +21 -10
  50. package/src/sap/ui/fl/apply/_internal/controlVariants/Utils.js +14 -0
  51. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +2 -2
  52. package/src/sap/ui/fl/apply/_internal/extensionPoint/Registry.js +2 -2
  53. package/src/sap/ui/fl/apply/_internal/flexObjects/AnnotationChange.js +1 -2
  54. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -2
  56. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariantRevertData.js +1 -1
  57. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -2
  59. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -2
  60. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +13 -4
  61. package/src/sap/ui/fl/apply/_internal/flexObjects/RevertData.js +2 -2
  62. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -2
  63. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -2
  64. package/src/sap/ui/fl/apply/_internal/flexObjects/VariantChange.js +1 -2
  65. package/src/sap/ui/fl/apply/_internal/flexObjects/VariantManagementChange.js +1 -2
  66. package/src/sap/ui/fl/apply/_internal/flexObjects/getVariantAuthor.js +1 -1
  67. package/src/sap/ui/fl/apply/_internal/flexState/DataSelector.js +0 -1
  68. package/src/sap/ui/fl/apply/_internal/flexState/FlexObjectState.js +4 -4
  69. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +28 -27
  70. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  71. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  72. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +3 -3
  73. package/src/sap/ui/fl/apply/_internal/flexState/changes/UIChangesState.js +4 -4
  74. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantManagementState.js +3 -3
  75. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +3 -3
  76. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +8 -7
  77. package/src/sap/ui/fl/apply/_internal/init.js +1 -1
  78. package/src/sap/ui/fl/apply/_internal/preprocessors/ComponentLifecycleHooks.js +196 -100
  79. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +11 -14
  80. package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +1 -1
  81. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  82. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  83. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  84. package/src/sap/ui/fl/changeHandler/Base.js +2 -2
  85. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  86. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +2 -2
  87. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  88. package/src/sap/ui/fl/changeHandler/ChangeAnnotation.js +1 -1
  89. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  90. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  91. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  92. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  93. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  94. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  95. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  96. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  97. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  98. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChange.js +14 -13
  99. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  100. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  101. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  102. package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +1 -1
  103. package/src/sap/ui/fl/initial/_internal/FlexConfiguration.js +1 -1
  104. package/src/sap/ui/fl/initial/_internal/Loader.js +62 -29
  105. package/src/sap/ui/fl/initial/_internal/ManifestUtils.js +1 -1
  106. package/src/sap/ui/fl/initial/_internal/Settings.js +99 -2
  107. package/src/sap/ui/fl/initial/_internal/Storage.js +2 -2
  108. package/src/sap/ui/fl/initial/_internal/StorageFeaturesMerger.js +1 -1
  109. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +2 -2
  110. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  111. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  112. package/src/sap/ui/fl/initial/_internal/connectors/BackendConnector.js +3 -3
  113. package/src/sap/ui/fl/initial/_internal/connectors/BtpServiceConnector.js +1 -1
  114. package/src/sap/ui/fl/initial/_internal/connectors/LrepConnector.js +2 -2
  115. package/src/sap/ui/fl/initial/_internal/connectors/NeoLrepConnector.js +1 -1
  116. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +7 -2
  117. package/src/sap/ui/fl/initial/_internal/preprocessors/ControllerExtension.js +19 -5
  118. package/src/sap/ui/fl/initial/_internal/preprocessors/RegistrationDelegator.js +2 -4
  119. package/src/sap/ui/fl/initial/_internal/preprocessors/XmlPreprocessor.js +1 -1
  120. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  121. package/src/sap/ui/fl/initial/api/InitialFlexAPI.js +1 -1
  122. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  123. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  124. package/src/sap/ui/fl/library.js +46 -43
  125. package/src/sap/ui/fl/library.support.js +1 -1
  126. package/src/sap/ui/fl/messagebundle.properties +0 -21
  127. package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +0 -14
  128. package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +7 -13
  129. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +7 -13
  130. package/src/sap/ui/fl/support/_internal/getFlexObjectInfos.js +7 -13
  131. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +7 -12
  132. package/src/sap/ui/fl/support/api/SupportAPI.js +72 -21
  133. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +5 -5
  134. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +5 -5
  135. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +3 -3
  136. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +2 -2
  137. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  138. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  139. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  140. package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +29 -0
  141. package/src/sap/ui/fl/support/diagnostics/Flexibility.view.xml +29 -0
  142. package/src/sap/ui/fl/support/diagnostics/FlexibilityDataExtractor.js +110 -0
  143. package/src/sap/ui/fl/support/diagnostics/FlexibilityPlugin.js +153 -0
  144. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  145. package/src/sap/ui/fl/util/DescriptorChangeCheck.js +53 -13
  146. package/src/sap/ui/fl/util/IFrame.js +26 -65
  147. package/src/sap/ui/fl/util/IFrameRenderer.js +15 -9
  148. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -2
  149. package/src/sap/ui/fl/variants/VariantManagement.js +18 -7
  150. package/src/sap/ui/fl/variants/VariantManager.js +132 -59
  151. package/src/sap/ui/fl/variants/VariantModel.js +57 -155
  152. package/src/sap/ui/fl/variants/context/Component.js +1 -1
  153. package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +4 -4
  154. package/src/sap/ui/fl/write/_internal/SaveAs.js +5 -3
  155. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  156. package/src/sap/ui/fl/write/_internal/Versions.js +2 -2
  157. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -2
  158. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  159. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -2
  160. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  161. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +1 -1
  162. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  163. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  164. package/src/sap/ui/fl/write/_internal/connectors/BtpServiceConnector.js +2 -2
  165. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +4 -4
  166. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +11 -11
  167. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  168. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  169. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  170. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +2 -2
  171. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +2 -2
  172. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  173. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -2
  174. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  175. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  176. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  177. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  178. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  180. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectManager.js +11 -10
  181. package/src/sap/ui/fl/write/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  182. package/src/sap/ui/fl/write/_internal/flexState/changes/UIChangeManager.js +2 -2
  183. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantManager.js +2 -2
  184. package/src/sap/ui/fl/write/_internal/init.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/transport/TransportDialog.js +6 -6
  186. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +2 -2
  187. package/src/sap/ui/fl/write/_internal/transport/Transports.js +5 -5
  188. package/src/sap/ui/fl/write/api/BusinessNetworkAPI.js +2 -2
  189. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +1 -1
  190. package/src/sap/ui/fl/write/api/ContextBasedAdaptationsAPI.js +4 -4
  191. package/src/sap/ui/fl/write/api/ContextSharingAPI.js +3 -3
  192. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +8 -8
  193. package/src/sap/ui/fl/write/api/FeaturesAPI.js +1 -1
  194. package/src/sap/ui/fl/write/api/FieldExtensibility.js +8 -27
  195. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +6 -6
  196. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +1 -1
  197. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +1 -1
  198. package/src/sap/ui/fl/write/api/connectors/ObjectStorageConnector.js +72 -30
  199. package/src/sap/ui/fl/apply/_internal/changes/descriptor/InlineApplier.js +0 -47
  200. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +0 -96
  201. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +0 -129
  202. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.fragment.xml +0 -34
  203. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +0 -193
  204. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/getEditorConfig.js +0 -246
  205. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.fragment.xml +0 -6
  206. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +0 -40
  207. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.fragment.xml +0 -22
  208. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +0 -85
  209. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.fragment.xml +0 -10
  210. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +0 -60
  211. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/validators/IsRequired.js +0 -20
@@ -8,76 +8,54 @@ 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/Deferred",
11
12
  "sap/base/util/isEmptyObject",
12
13
  "sap/base/util/merge",
14
+ "sap/m/library",
13
15
  "sap/ui/core/util/reflection/JsControlTreeModifier",
14
- "sap/ui/core/BusyIndicator",
15
16
  "sap/ui/core/Lib",
16
17
  "sap/ui/fl/apply/_internal/controlVariants/URLHandler",
17
18
  "sap/ui/fl/apply/_internal/controlVariants/Utils",
18
19
  "sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory",
19
20
  "sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler",
20
- "sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher",
21
21
  "sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
22
22
  "sap/ui/fl/apply/_internal/flexState/FlexObjectState",
23
- "sap/ui/fl/apply/api/ControlVariantApplyAPI",
24
23
  "sap/ui/fl/initial/_internal/ManifestUtils",
25
24
  "sap/ui/fl/initial/_internal/Settings",
26
25
  "sap/ui/fl/Layer",
27
26
  "sap/ui/fl/LayerUtils",
28
27
  "sap/ui/fl/Utils",
29
28
  "sap/ui/model/json/JSONModel",
30
- "sap/ui/model/BindingMode",
31
- "sap/m/library"
29
+ "sap/ui/model/BindingMode"
32
30
  ], function(
33
31
  _difference,
34
32
  _isEqual,
35
33
  _omit,
34
+ Deferred,
36
35
  isEmptyObject,
37
36
  merge,
37
+ mobileLibrary,
38
38
  JsControlTreeModifier,
39
- BusyIndicator,
40
39
  Lib,
41
40
  URLHandler,
42
41
  VariantUtil,
43
42
  FlexObjectFactory,
44
43
  DependencyHandler,
45
- Switcher,
46
44
  VariantManagementState,
47
45
  FlexObjectState,
48
- ControlVariantApplyAPI,
49
46
  ManifestUtils,
50
47
  Settings,
51
48
  Layer,
52
49
  LayerUtils,
53
50
  Utils,
54
51
  JSONModel,
55
- BindingMode,
56
- mobileLibrary
52
+ BindingMode
57
53
  ) {
58
54
  "use strict";
59
55
 
60
56
  var _mUShellServices = {};
61
57
  const { SharingMode } = mobileLibrary;
62
58
 
63
- /**
64
- * Adds the passed function to the variant switch promise and returns the whole promise chain.
65
- *
66
- * @param {function():Promise} fnCallback - Callback function returning a promise
67
- * @param {string} sFlexReference - Flex reference of the app
68
- * @param {string} sVMReference - Variant Management reference
69
- * @returns {Promise} Resolves when the variant model is not busy anymore
70
- * @private
71
- */
72
- function executeAfterSwitch(fnCallback, sFlexReference, sVMReference) {
73
- // if there are multiple switches triggered very quickly this makes sure that they are being executed one after another
74
- const oNewPromise = VariantManagementState.waitForVariantSwitch(sFlexReference, sVMReference)
75
- .catch(function() {})
76
- .then(fnCallback);
77
- VariantManagementState.setVariantSwitchPromise(sFlexReference, sVMReference, oNewPromise);
78
- return oNewPromise;
79
- }
80
-
81
59
  /**
82
60
  * Saves the specified Unified Shell service on the model
83
61
  *
@@ -88,23 +66,6 @@ sap.ui.define([
88
66
  _mUShellServices[sServiceName] = oService;
89
67
  }
90
68
 
91
- function switchVariantAndUpdateModel(mPropertyBag, sScenario) {
92
- return Switcher.switchVariant(mPropertyBag)
93
- .then(function() {
94
- // update current variant in model
95
- if (this.oData[mPropertyBag.vmReference].updateVariantInURL) {
96
- URLHandler.updateVariantInURL({
97
- vmReference: mPropertyBag.vmReference,
98
- newVReference: mPropertyBag.newVReference,
99
- model: this
100
- });
101
- }
102
-
103
- // tell listeners that variant switch has happened
104
- this.callVariantSwitchListeners(mPropertyBag.vmReference, mPropertyBag.newVReference, undefined, sScenario);
105
- }.bind(this));
106
- }
107
-
108
69
  function updatePersonalVariantPropertiesWithFlpSettings(oVariant) {
109
70
  var oSettings = Settings.getInstanceOrUndef();
110
71
  if (oSettings && !oSettings.getIsVariantPersonalizationEnabled()) {
@@ -184,7 +145,7 @@ sap.ui.define([
184
145
  * @class Variant model implementation for JSON format.
185
146
  * @extends sap.ui.model.json.JSONModel
186
147
  * @author SAP SE
187
- * @version 1.141.2
148
+ * @version 1.143.0
188
149
  * @param {object} oData - Either the URL where to load the JSON from or a JS object
189
150
  * @param {object} mPropertyBag - Map of properties required for the constructor
190
151
  * @param {sap.ui.core.Component} mPropertyBag.appComponent - Application component instance that is currently loading
@@ -195,7 +156,6 @@ sap.ui.define([
195
156
  * @alias sap.ui.fl.variants.VariantModel
196
157
  */
197
158
  var VariantModel = JSONModel.extend("sap.ui.fl.variants.VariantModel", /** @lends sap.ui.fl.variants.VariantModel.prototype */ {
198
- // eslint-disable-next-line object-shorthand
199
159
  constructor: function(oData, mPropertyBag) {
200
160
  // JSON model internal properties
201
161
  this.pSequentialImportCompleted = Promise.resolve();
@@ -219,7 +179,7 @@ sap.ui.define([
219
179
 
220
180
  const oLiveDependencyMap = FlexObjectState.getLiveDependencyMap(this.sFlexReference);
221
181
  VariantManagementState.getInitialUIChanges(
222
- {reference: this.sFlexReference},
182
+ { reference: this.sFlexReference },
223
183
  this.oAppComponent.getId(),
224
184
  this.sFlexReference
225
185
  ).forEach((oFlexObject) => {
@@ -233,7 +193,7 @@ sap.ui.define([
233
193
  VariantModel.prototype.updateData = function() {
234
194
  const oNewVariantsMap = this.oDataSelector.get({ reference: this.sFlexReference });
235
195
  const oCurrentData = { ...this.getData() };
236
- Object.entries(oNewVariantsMap).forEach(function(aVariants) {
196
+ Object.entries(oNewVariantsMap).forEach((aVariants) => {
237
197
  const sVariantManagementKey = aVariants[0];
238
198
  const oVariantMapEntry = { ...aVariants[1] };
239
199
  oCurrentData[sVariantManagementKey] ||= {};
@@ -244,6 +204,25 @@ sap.ui.define([
244
204
  });
245
205
  return { ...(oCurrentVariantData || {}), ...oVariant };
246
206
  });
207
+ const sOldCurrentVariant = oCurrentData[sVariantManagementKey].currentVariant;
208
+ // Currently the VariantModel is still created independent of the existence of a VM control
209
+ // It is likely that the control was created if sOldCurrentVariant is set but there are edge cases,
210
+ // e.g. when creating the standard variant from a source variant directly in the FlexState
211
+ // In such cases the switch was not triggered by a user though and thus must not be reflected in
212
+ // the url, making it safe to ignore
213
+ const oVMControl = VariantUtil.getVariantManagementControlByVMReference(sVariantManagementKey, this.oAppComponent);
214
+ if (
215
+ oVMControl
216
+ && oVMControl.getUpdateVariantInURL()
217
+ && sOldCurrentVariant
218
+ && sOldCurrentVariant !== oVariantMapEntry.currentVariant
219
+ ) {
220
+ URLHandler.updateVariantInURL({
221
+ vmReference: sVariantManagementKey,
222
+ newVReference: oVariantMapEntry.currentVariant,
223
+ model: this
224
+ });
225
+ }
247
226
  oCurrentData[sVariantManagementKey].currentVariant = oVariantMapEntry.currentVariant;
248
227
  oCurrentData[sVariantManagementKey].defaultVariant = oVariantMapEntry.defaultVariant;
249
228
  oCurrentData[sVariantManagementKey].modified = oVariantMapEntry.modified;
@@ -256,7 +235,7 @@ sap.ui.define([
256
235
  };
257
236
 
258
237
  VariantModel.prototype.invalidateMap = function() {
259
- this.oDataSelector.checkUpdate({reference: this.sFlexReference});
238
+ this.oDataSelector.checkUpdate({ reference: this.sFlexReference });
260
239
  };
261
240
 
262
241
  /**
@@ -271,38 +250,6 @@ sap.ui.define([
271
250
  }.bind(this));
272
251
  };
273
252
 
274
- /**
275
- * Updates the storage of the current variant for a given variant management control.
276
- * @param {object} mPropertyBag - Object with parameters as properties
277
- * @param {string} mPropertyBag.variantManagementReference - Variant management reference
278
- * @param {string} mPropertyBag.newVariantReference - Newly selected variant reference
279
- * @param {sap.ui.core.Component} [mPropertyBag.appComponent] - Application component responsible for the variant management reference
280
- * @param {boolean} [mPropertyBag.internallyCalled] - If set variant model is not set to busy explicitly
281
- * @param {string} [mPropertyBag.scenario] - The current scenario, e.g. 'saveAs'
282
- *
283
- * @returns {Promise} Promise that resolves after the variant is updated
284
- * @private
285
- */
286
- VariantModel.prototype.updateCurrentVariant = function(mPropertyBag) {
287
- var mProperties = {
288
- vmReference: mPropertyBag.variantManagementReference,
289
- currentVReference: this.getCurrentVariantReference(mPropertyBag.variantManagementReference),
290
- newVReference: mPropertyBag.newVariantReference,
291
- appComponent: mPropertyBag.appComponent || this.oAppComponent,
292
- modifier: JsControlTreeModifier,
293
- reference: this.sFlexReference
294
- };
295
-
296
- if (mPropertyBag.internallyCalled) {
297
- return switchVariantAndUpdateModel.call(this, mProperties, mPropertyBag.scenario);
298
- }
299
- return executeAfterSwitch(
300
- switchVariantAndUpdateModel.bind(this, mProperties, mPropertyBag.scenario),
301
- this.sFlexReference,
302
- mPropertyBag.variantManagementReference
303
- );
304
- };
305
-
306
253
  /**
307
254
  * Returns the current variant for a given variant management control.
308
255
  * @param {string} sVariantManagementReference - Variant management reference
@@ -341,31 +288,6 @@ sap.ui.define([
341
288
  );
342
289
  };
343
290
 
344
- /**
345
- * Searches for the variant and returns the current title.
346
- *
347
- * @param {string} sVariantReference - Variant reference
348
- * @param {string} sVMReference - Variant management reference
349
- * @returns {string} Title of the variant
350
- */
351
- VariantModel.prototype.getVariantTitle = function(sVariantReference, sVMReference) {
352
- return getVariant(this.oData[sVMReference].variants, sVariantReference).title;
353
- };
354
-
355
- VariantModel.prototype.callVariantSwitchListeners = function(sVMReference, sNewVariantReference, fnCallback, sScenario) {
356
- const oVMControl = ControlVariantApplyAPI.getVariantManagementControlByVMReference(sVMReference, this.oAppComponent);
357
- const oVariant = getVariant(this.oData[sVMReference].variants, sNewVariantReference);
358
- if (sScenario) {
359
- oVariant.createScenario = sScenario;
360
- }
361
-
362
- if (fnCallback) {
363
- fnCallback(oVariant);
364
- } else {
365
- oVMControl._executeAllVariantAppliedListeners(oVariant);
366
- }
367
- };
368
-
369
291
  function createNewVariant(oSourceVariant, mPropertyBag) {
370
292
  var mProperties = {
371
293
  id: mPropertyBag.newVariantReference,
@@ -476,7 +398,7 @@ sap.ui.define([
476
398
  });
477
399
  };
478
400
 
479
- oEvent.getParameter("renamed")?.forEach(({key: sVariantKey, name: sNewTitle}) => {
401
+ oEvent.getParameter("renamed")?.forEach(({ key: sVariantKey, name: sNewTitle }) => {
480
402
  const oVariant = findVariant(sVariantKey);
481
403
  fnAddPreparedChange(
482
404
  oVariant,
@@ -487,7 +409,7 @@ sap.ui.define([
487
409
  }
488
410
  );
489
411
  });
490
- oEvent.getParameter("fav")?.forEach(({key: sVariantKey, visible: bNewIsFavorite}) => {
412
+ oEvent.getParameter("fav")?.forEach(({ key: sVariantKey, visible: bNewIsFavorite }) => {
491
413
  const oVariant = findVariant(sVariantKey);
492
414
  fnAddPreparedChange(
493
415
  oVariant,
@@ -498,7 +420,7 @@ sap.ui.define([
498
420
  }
499
421
  );
500
422
  });
501
- oEvent.getParameter("exe")?.forEach(({key: sVariantKey, exe: bNewExecuteOnSelect}) => {
423
+ oEvent.getParameter("exe")?.forEach(({ key: sVariantKey, exe: bNewExecuteOnSelect }) => {
502
424
  const oVariant = findVariant(sVariantKey);
503
425
  fnAddPreparedChange(
504
426
  oVariant,
@@ -520,7 +442,7 @@ sap.ui.define([
520
442
  );
521
443
  aVariantsToBeDeleted.push(sVariantKey);
522
444
  });
523
- oEvent.getParameter("contexts")?.forEach(({key: sVariantKey, contexts: aNewContexts}) => {
445
+ oEvent.getParameter("contexts")?.forEach(({ key: sVariantKey, contexts: aNewContexts }) => {
524
446
  const oVariant = findVariant(sVariantKey);
525
447
  fnAddPreparedChange(
526
448
  oVariant,
@@ -551,7 +473,7 @@ sap.ui.define([
551
473
  /**
552
474
  * Sets the passed properties on a variant for the passed variant management reference and
553
475
  * returns the content for change creation
554
- * @param {sap.ui.fl.variants.VariantManagement} sVariantManagementReference - Variant management reference
476
+ * @param {string} sVariantManagementReference - Variant management reference
555
477
  * @param {object} mPropertyBag - Map of properties
556
478
  * @param {string} mPropertyBag.variantReference - Variant reference for which properties should be set
557
479
  * @param {string} mPropertyBag.changeType - Change type due to which properties are being set
@@ -563,7 +485,6 @@ sap.ui.define([
563
485
  * @param {boolean} [mPropertyBag.favorite] - New favorite value for <code>setFavorite</code> change type
564
486
  * @param {boolean} [mPropertyBag.executeOnSelect] - New executeOnSelect value for <code>setExecuteOnSelect</code> change type
565
487
  * @param {string} [mPropertyBag.defaultVariant] - New default variant for <code>setDefault</code> change type
566
- * @param {boolean} [bUpdateCurrentVariant] - Update current variant
567
488
  * @returns {{title: string} | {favorite: boolean} | {executeOnSelect: boolean} | {visible: boolean, createdByReset: boolean} | {contexts: object} | {defaultVariant: string}} Additional content for change creation
568
489
  * @private
569
490
  * @ui5-restricted
@@ -572,6 +493,7 @@ sap.ui.define([
572
493
  // TODO: this function needs refactoring
573
494
  var oData = this.getData();
574
495
  var oVariantInstance = this.getVariant(mPropertyBag.variantReference, sVariantManagementReference).instance;
496
+ const oVMControl = VariantUtil.getVariantManagementControlByVMReference(sVariantManagementReference, this.oAppComponent);
575
497
 
576
498
  var mAdditionalChangeContent = {};
577
499
 
@@ -600,8 +522,8 @@ sap.ui.define([
600
522
  case "setDefault":
601
523
  mAdditionalChangeContent.defaultVariant = mPropertyBag.defaultVariant;
602
524
  // Update hash data
603
- var aHashParameters = URLHandler.getStoredHashParams({model: this});
604
- if (aHashParameters && this.oData[sVariantManagementReference].updateVariantInURL) {
525
+ var aHashParameters = URLHandler.getStoredHashParams({ model: this });
526
+ if (aHashParameters && oVMControl.getUpdateVariantInURL()) {
605
527
  if (
606
528
  oData[sVariantManagementReference].defaultVariant !== oData[sVariantManagementReference].currentVariant
607
529
  && aHashParameters.indexOf(oData[sVariantManagementReference].currentVariant) === -1
@@ -657,7 +579,7 @@ sap.ui.define([
657
579
  }
658
580
  };
659
581
 
660
- VariantModel.prototype.setModelPropertiesForControl = function(sVariantManagementReference, bDesignTimeModeToBeSet, oControl) {
582
+ VariantModel.prototype.setModelPropertiesForControl = function(sVariantManagementReference, bDesignTimeModeToBeSet, oVMControl) {
661
583
  this.oData[sVariantManagementReference].showFavorites = true;
662
584
 
663
585
  // this._bDesignTime is undefined initially
@@ -666,11 +588,11 @@ sap.ui.define([
666
588
  this._bDesignTimeMode = bDesignTimeModeToBeSet;
667
589
 
668
590
  if (bDesignTimeModeToBeSet) {
669
- URLHandler.clearAllVariantURLParameters({model: this});
670
- } else if (bOriginalMode && this.oData[sVariantManagementReference].updateVariantInURL) {
591
+ URLHandler.clearAllVariantURLParameters({ model: this });
592
+ } else if (bOriginalMode && oVMControl.getUpdateVariantInURL()) {
671
593
  // use case: switch from end user -> key user with a restart; the initial hash data is empty
672
594
  URLHandler.update({
673
- parameters: URLHandler.getStoredHashParams({model: this}),
595
+ parameters: URLHandler.getStoredHashParams({ model: this }),
674
596
  updateURL: true,
675
597
  updateHashEntry: false,
676
598
  model: this
@@ -681,9 +603,9 @@ sap.ui.define([
681
603
  if (!(typeof this.fnManageClick === "function" && typeof this.fnManageClickRta === "function")) {
682
604
  this._initializeManageVariantsEvents();
683
605
  }
684
- oControl.detachManage(this.fnManageClick, this); /* attach done below */
606
+ oVMControl.detachManage(this.fnManageClick, this); /* attach done below */
685
607
 
686
- if (bDesignTimeModeToBeSet && this.oData[sVariantManagementReference]._isEditable) {
608
+ if (bDesignTimeModeToBeSet && oVMControl.getEditable()) {
687
609
  // Key user adaptation settings
688
610
  this.oData[sVariantManagementReference].variantsEditable = false;
689
611
 
@@ -694,8 +616,8 @@ sap.ui.define([
694
616
  oVariant.sharing = this.sharing.PUBLIC;
695
617
  oVariant.remove = isVariantValidForRemove(oVariant, sVariantManagementReference, bDesignTimeModeToBeSet);
696
618
  }.bind(this));
697
- } else if (this.oData[sVariantManagementReference]._isEditable) { // Personalization settings
698
- oControl.attachManage({
619
+ } else if (oVMControl.getEditable()) { // Personalization settings
620
+ oVMControl.attachManage({
699
621
  variantManagementReference: sVariantManagementReference
700
622
  }, this.fnManageClick, this);
701
623
 
@@ -766,28 +688,6 @@ sap.ui.define([
766
688
  return JsControlTreeModifier.getSelector(sId, oAppComponent).id;
767
689
  };
768
690
 
769
- VariantModel.prototype.switchToDefaultForVariantManagement = function(sVariantManagementReference) {
770
- if (this.oData[sVariantManagementReference].currentVariant !== this.oData[sVariantManagementReference].defaultVariant) {
771
- BusyIndicator.show(200);
772
- this.updateCurrentVariant({
773
- variantManagementReference: sVariantManagementReference,
774
- newVariantReference: this.oData[sVariantManagementReference].defaultVariant
775
- }).then(function() {
776
- BusyIndicator.hide();
777
- });
778
- }
779
- };
780
-
781
- VariantModel.prototype.switchToDefaultForVariant = function(sVariantId) {
782
- Object.keys(this.oData).forEach(function(sVariantManagementReference) {
783
- // set default variant only if passed variant id matches the current variant, or
784
- // if no variant id passed, set to default variant
785
- if (!sVariantId || this.oData[sVariantManagementReference].currentVariant === sVariantId) {
786
- this.switchToDefaultForVariantManagement(sVariantManagementReference);
787
- }
788
- }.bind(this));
789
- };
790
-
791
691
  function resolveTitleBindingsAndCreateVariantChanges(oVariantManagementControl, sVariantManagementReference) {
792
692
  this.oData[sVariantManagementReference].variants.forEach(function(oVariant) {
793
693
  // Find model and key from patterns like {i18n>TextKey} or {i18n>namespace.TextKey} - only resource models are supported
@@ -826,9 +726,6 @@ sap.ui.define([
826
726
  // ensure standard variants are mocked, if no variants are present in the changes.variantSection response from the backend
827
727
  this._ensureStandardVariantExists(sVariantManagementReference);
828
728
 
829
- // original setting of control parameter 'editable' is needed
830
- this.oData[sVariantManagementReference]._isEditable = oVariantManagementControl.getEditable();
831
-
832
729
  // only attachVariantApplied will set this to true
833
730
  oVariantManagementControl.setShowExecuteOnSelection(false);
834
731
 
@@ -848,10 +745,7 @@ sap.ui.define([
848
745
  // set model's properties specific to control's appearance
849
746
  this.setModelPropertiesForControl(sVariantManagementReference, false, oVariantManagementControl);
850
747
 
851
- // control property updateVariantInURL set initially
852
- const bUpdateURL = oVariantManagementControl.getUpdateVariantInURL(); // default false
853
- this.oData[sVariantManagementReference].updateVariantInURL = bUpdateURL;
854
- if (bUpdateURL) {
748
+ if (oVariantManagementControl.getUpdateVariantInURL()) {
855
749
  URLHandler.registerControl({
856
750
  vmReference: sVariantManagementReference,
857
751
  updateURL: true,
@@ -859,7 +753,8 @@ sap.ui.define([
859
753
  });
860
754
  URLHandler.handleModelContextChange({
861
755
  model: this,
862
- vmControl: oVariantManagementControl
756
+ vmControl: oVariantManagementControl,
757
+ appComponent: this.oAppComponent
863
758
  });
864
759
  }
865
760
 
@@ -937,8 +832,15 @@ sap.ui.define([
937
832
  DependencyHandler.removeChangeFromDependencies(oLiveDependencyMap, oChange.getId());
938
833
  }
939
834
  });
835
+ // this promise can be used in tests to properly wait for the asynchronous logic of the destroy function
836
+ this.oDestroyPromise = new Deferred();
940
837
  sap.ui.require(["sap/ui/fl/write/_internal/flexState/FlexObjectManager"], (FlexObjectManager) => {
941
- FlexObjectManager.deleteFlexObjects({reference: this.sFlexReference, flexObjects: aDirtyChanges});
838
+ FlexObjectManager.deleteFlexObjects({
839
+ reference: this.sFlexReference,
840
+ flexObjects: aDirtyChanges,
841
+ componentId: this.oAppComponent.getId()
842
+ });
843
+ this.oDestroyPromise.resolve();
942
844
  });
943
845
 
944
846
  this.oDataSelector.removeUpdateListener(this.fnUpdateListener);
@@ -956,7 +858,7 @@ sap.ui.define([
956
858
  }
957
859
  });
958
860
  if (aFakeVariantsToBeAdded.length) {
959
- VariantManagementState.addRuntimeOnlyFlexObjects(this.sFlexReference, aFakeVariantsToBeAdded);
861
+ VariantManagementState.addRuntimeOnlyFlexObjects(this.sFlexReference, this.oAppComponent.getId(), aFakeVariantsToBeAdded);
960
862
  }
961
863
 
962
864
  VariantManagementState.clearRuntimeSteadyObjects(this.sFlexReference, this.oAppComponent.getId());
@@ -76,7 +76,7 @@ sap.ui.define([
76
76
  */
77
77
  setSelectedContexts(oSelectedContexts) {
78
78
  var aSelectedRoles = oSelectedContexts.role.map(function(oRole) {
79
- return {id: oRole, description: ""};
79
+ return { id: oRole, description: "" };
80
80
  });
81
81
  var oSelectedContextsModel = this.getModel("selectedContexts");
82
82
  oSelectedContextsModel.setProperty("/selected", aSelectedRoles);
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  }
25
25
 
26
26
  function assignDescriptionsToSelectedRoles(oSelectedRoles) {
27
- var mPropertyBag = {layer: Layer.CUSTOMER, flexObjects: oSelectedRoles};
27
+ var mPropertyBag = { layer: Layer.CUSTOMER, flexObjects: oSelectedRoles };
28
28
  return WriteStorage.loadContextDescriptions(mPropertyBag).then(function(oResponse) {
29
29
  if (oResponse.role && oResponse.role.length === oSelectedRoles.role.length) {
30
30
  this.oSelectedContextsModel.setProperty("/selected", oResponse.role);
@@ -56,7 +56,7 @@ sap.ui.define([
56
56
  }
57
57
 
58
58
  function itemToJson(oItem) {
59
- return {id: oItem.getTitle(), description: oItem.getDescription()};
59
+ return { id: oItem.getTitle(), description: oItem.getDescription() };
60
60
  }
61
61
 
62
62
  return Controller.extend("sap.ui.fl.variants.context.controller.ContextVisibility", {
@@ -111,7 +111,7 @@ sap.ui.define([
111
111
  _appendDataFromBackend() {
112
112
  var oRoles = this.oContextsModel.getProperty("/values");
113
113
  if (this.oContextsModel.getProperty("/lastHitReached") === false) {
114
- var mConfig = {$skip: oRoles.length};
114
+ var mConfig = { $skip: oRoles.length };
115
115
  return getData.call(this, mConfig, oRoles);
116
116
  }
117
117
  return Promise.resolve(oRoles);
@@ -163,7 +163,7 @@ sap.ui.define([
163
163
  */
164
164
  onSearch(oEvent) {
165
165
  oEvent.getSource().clearSelection();
166
- var mConfig = {$filter: oEvent.getParameter("value")};
166
+ var mConfig = { $filter: oEvent.getParameter("value") };
167
167
  return getData.call(this, mConfig);
168
168
  },
169
169
 
@@ -10,8 +10,8 @@ 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/initial/_internal/ManifestUtils",
14
13
  "sap/ui/fl/apply/api/FlexRuntimeInfoAPI",
14
+ "sap/ui/fl/initial/_internal/ManifestUtils",
15
15
  "sap/ui/fl/initial/_internal/Settings",
16
16
  "sap/ui/fl/write/_internal/appVariant/AppVariantFactory",
17
17
  "sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory",
@@ -24,8 +24,8 @@ sap.ui.define([
24
24
  Log,
25
25
  DescriptorChangeTypes,
26
26
  FlexObjectState,
27
- ManifestUtils,
28
27
  FlexRuntimeInfoAPI,
28
+ ManifestUtils,
29
29
  Settings,
30
30
  AppVariantFactory,
31
31
  AppVariantInlineChangeFactory,
@@ -153,7 +153,8 @@ sap.ui.define([
153
153
  }
154
154
 
155
155
  function _deleteDescrChangesFromPersistence(vSelector) {
156
- const sReference = ManifestUtils.getFlexReferenceForSelector(vSelector);
156
+ const oAppComponent = Utils.getAppComponentForSelector(vSelector);
157
+ const sReference = ManifestUtils.getFlexReferenceForSelector(oAppComponent);
157
158
  var aChangesToBeDeleted = [];
158
159
  // In case of app variant, both persistencies hold descriptor changes and have to be removed from one of the persistencies
159
160
  _getDirtyDescrChanges(vSelector).forEach(function(oChange) {
@@ -164,6 +165,7 @@ sap.ui.define([
164
165
  });
165
166
  FlexObjectManager.deleteFlexObjects({
166
167
  reference: sReference,
168
+ componentId: oAppComponent.getId(),
167
169
  flexObjects: aChangesToBeDeleted
168
170
  });
169
171
  }
@@ -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.141.2
25
+ * @version 1.143.0
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl
28
28
  */
@@ -52,7 +52,7 @@ sap.ui.define([
52
52
 
53
53
  // add draft
54
54
  if (!_doesDraftExistInVersions(aVersions) && bDraftAvailable) {
55
- aVersions.splice(0, 0, {version: Version.Number.Draft, type: Version.Type.Draft, filenames: [], isPublished: false});
55
+ aVersions.splice(0, 0, { version: Version.Number.Draft, type: Version.Type.Draft, filenames: [], isPublished: false });
56
56
  }
57
57
 
58
58
  // remove draft
@@ -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.141.2
162
+ * @version 1.143.0
163
163
  * @private
164
164
  * @ui5-restricted sap.ui.fl
165
165
  */
@@ -36,12 +36,11 @@ sap.ui.define([
36
36
  * @constructor
37
37
  * @alias sap.ui.fl.write._internal.appVariant.AppVariant
38
38
  * @author SAP SE
39
- * @version 1.141.2
39
+ * @version 1.143.0
40
40
  * @private
41
41
  * @ui5-restricted sap.ui.rta, smart business
42
42
  */
43
43
  var AppVariant = ManagedObject.extend("sap.ui.fl.write._internal.appVariant.AppVariant", /** @lends sap.ui.fl.write._internal.appVariant.AppVariant */ {
44
- // eslint-disable-next-line object-shorthand
45
44
  constructor: function(mPropertyBag) {
46
45
  ManagedObject.apply(this);
47
46
  if (!isPlainObject(mPropertyBag)) {
@@ -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.141.2
35
+ * @version 1.143.0
36
36
  * @private
37
37
  * @ui5-restricted sap.ui.rta, smart business
38
38
  */
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @constructor
29
29
  * @alias sap.ui.fl.write._internal.appVariant.AppVariantInlineChange
30
30
  * @author SAP SE
31
- * @version 1.141.2
31
+ * @version 1.143.0
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.rta, smart business
34
34
  */
@@ -36,7 +36,6 @@ sap.ui.define([
36
36
  metadata: {
37
37
  library: "sap.ui.fl"
38
38
  },
39
- // eslint-disable-next-line object-shorthand
40
39
  constructor: function(mPropertyBag) {
41
40
  ManagedObject.apply(this);
42
41
  if (!isPlainObject(mPropertyBag)) {
@@ -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.141.2
38
+ * @version 1.143.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.141.2
56
+ * @version 1.143.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.141.2
34
+ * @version 1.143.0
35
35
  */
36
36
  const UIReconstruction = {};
37
37
 
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  *
75
75
  * @namespace sap.ui.fl.write._internal.connectors.BackendConnector
76
76
  * @since 1.72
77
- * @version 1.141.2
77
+ * @version 1.143.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.141.2
28
+ * @version 1.143.0
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl.write._internal.Storage
31
31
  */
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
 
59
59
  async getSeenFeatureIds(mPropertyBag) {
60
60
  const sUrl = InitialUtils.getUrl(this.ROUTES.SEEN_FEATURES, mPropertyBag);
61
- const oResult = await InitialUtils.sendRequest(sUrl, "GET", {initialConnector: InitialConnector});
61
+ const oResult = await InitialUtils.sendRequest(sUrl, "GET", { initialConnector: InitialConnector });
62
62
  return oResult.response?.seenFeatureIds;
63
63
  },
64
64