@openui5/sap.ui.fl 1.94.0 → 1.97.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 (216) hide show
  1. package/.reuse/dep5 +12 -12
  2. package/THIRDPARTY.txt +21 -17
  3. package/package.json +3 -3
  4. package/src/sap/ui/fl/.library +1 -1
  5. package/src/sap/ui/fl/Cache.js +1 -1
  6. package/src/sap/ui/fl/Change.js +18 -14
  7. package/src/sap/ui/fl/ChangePersistence.js +98 -86
  8. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  9. package/src/sap/ui/fl/EventHistory.js +1 -1
  10. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  11. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  12. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  13. package/src/sap/ui/fl/FlexController.js +28 -22
  14. package/src/sap/ui/fl/FlexControllerFactory.js +17 -6
  15. package/src/sap/ui/fl/LayerUtils.js +34 -22
  16. package/src/sap/ui/fl/PreprocessorImpl.js +1 -1
  17. package/src/sap/ui/fl/RegistrationDelegator.js +1 -1
  18. package/src/sap/ui/fl/Utils.js +61 -41
  19. package/src/sap/ui/fl/Variant.js +2 -11
  20. package/src/sap/ui/fl/XmlPreprocessorImpl.js +10 -11
  21. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes.js +2 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +33 -11
  24. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Applier.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +3 -2
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +52 -0
  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/SetFlexExtensionPointEnabled.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/controlVariants/URLHandler.js +299 -288
  47. package/src/sap/ui/fl/apply/_internal/controlVariants/Utils.js +39 -9
  48. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +10 -8
  50. package/src/sap/ui/fl/apply/_internal/flexObjects/States.js +14 -0
  51. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +103 -33
  52. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +45 -4
  53. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +5 -1
  54. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexState/appDescriptorChanges/prepareAppDescriptorMap.js +1 -1
  56. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  57. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  59. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/prepareCompVariantsMap.js +7 -7
  60. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +2 -4
  61. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +25 -38
  62. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/prepareVariantsMap.js +1 -1
  63. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +86 -6
  64. package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +83 -14
  65. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  66. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  69. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  72. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  73. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  74. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  75. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  76. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  77. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  78. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  79. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  80. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +6 -2
  81. package/src/sap/ui/fl/codeExt/CodeExtManager.js +16 -10
  82. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  83. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +18 -1
  84. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  85. package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +12 -8
  86. package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +10 -4
  87. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  88. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  89. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -1
  90. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -3
  91. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  92. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  93. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  94. package/src/sap/ui/fl/library.js +9 -9
  95. package/src/sap/ui/fl/library.support.js +56 -46
  96. package/src/sap/ui/fl/messagebundle.properties +30 -2
  97. package/src/sap/ui/fl/messagebundle_ar.properties +21 -2
  98. package/src/sap/ui/fl/messagebundle_bg.properties +21 -2
  99. package/src/sap/ui/fl/messagebundle_ca.properties +21 -2
  100. package/src/sap/ui/fl/messagebundle_cs.properties +21 -2
  101. package/src/sap/ui/fl/messagebundle_cy.properties +21 -2
  102. package/src/sap/ui/fl/messagebundle_da.properties +21 -2
  103. package/src/sap/ui/fl/messagebundle_de.properties +21 -2
  104. package/src/sap/ui/fl/messagebundle_el.properties +21 -2
  105. package/src/sap/ui/fl/messagebundle_en.properties +21 -2
  106. package/src/sap/ui/fl/messagebundle_en_GB.properties +21 -2
  107. package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +21 -2
  108. package/src/sap/ui/fl/messagebundle_en_US_saptrc.properties +21 -2
  109. package/src/sap/ui/fl/messagebundle_es.properties +21 -2
  110. package/src/sap/ui/fl/messagebundle_es_MX.properties +21 -2
  111. package/src/sap/ui/fl/messagebundle_et.properties +21 -2
  112. package/src/sap/ui/fl/messagebundle_fi.properties +21 -2
  113. package/src/sap/ui/fl/messagebundle_fr.properties +21 -2
  114. package/src/sap/ui/fl/messagebundle_fr_CA.properties +21 -2
  115. package/src/sap/ui/fl/messagebundle_hi.properties +21 -2
  116. package/src/sap/ui/fl/messagebundle_hr.properties +21 -2
  117. package/src/sap/ui/fl/messagebundle_hu.properties +21 -2
  118. package/src/sap/ui/fl/messagebundle_id.properties +21 -2
  119. package/src/sap/ui/fl/messagebundle_it.properties +22 -3
  120. package/src/sap/ui/fl/messagebundle_iw.properties +21 -2
  121. package/src/sap/ui/fl/messagebundle_ja.properties +21 -2
  122. package/src/sap/ui/fl/messagebundle_kk.properties +21 -2
  123. package/src/sap/ui/fl/messagebundle_ko.properties +21 -2
  124. package/src/sap/ui/fl/messagebundle_lt.properties +21 -2
  125. package/src/sap/ui/fl/messagebundle_lv.properties +21 -2
  126. package/src/sap/ui/fl/messagebundle_ms.properties +21 -2
  127. package/src/sap/ui/fl/messagebundle_nl.properties +21 -2
  128. package/src/sap/ui/fl/messagebundle_no.properties +21 -2
  129. package/src/sap/ui/fl/messagebundle_pl.properties +21 -2
  130. package/src/sap/ui/fl/messagebundle_pt.properties +21 -2
  131. package/src/sap/ui/fl/messagebundle_pt_PT.properties +21 -2
  132. package/src/sap/ui/fl/messagebundle_ro.properties +21 -2
  133. package/src/sap/ui/fl/messagebundle_ru.properties +21 -2
  134. package/src/sap/ui/fl/messagebundle_sh.properties +21 -2
  135. package/src/sap/ui/fl/messagebundle_sk.properties +21 -2
  136. package/src/sap/ui/fl/messagebundle_sl.properties +21 -2
  137. package/src/sap/ui/fl/messagebundle_sv.properties +21 -2
  138. package/src/sap/ui/fl/messagebundle_th.properties +19 -0
  139. package/src/sap/ui/fl/messagebundle_tr.properties +21 -2
  140. package/src/sap/ui/fl/messagebundle_uk.properties +21 -2
  141. package/src/sap/ui/fl/messagebundle_vi.properties +21 -2
  142. package/src/sap/ui/fl/messagebundle_zh_CN.properties +21 -2
  143. package/src/sap/ui/fl/messagebundle_zh_TW.properties +21 -2
  144. package/src/sap/ui/fl/registry/Settings.js +71 -38
  145. package/src/sap/ui/fl/support/Flexibility.js +83 -72
  146. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +12 -12
  147. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +8 -8
  148. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +9 -9
  149. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +3 -3
  150. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +51 -52
  151. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +129 -125
  152. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  153. package/src/sap/ui/fl/support/apps/uiFlexibilityDiagnostics/controller/Root.controller.js +0 -2
  154. package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +1 -1
  155. package/src/sap/ui/fl/themes/base/VariantManagement.less +9 -37
  156. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  157. package/src/sap/ui/fl/util/DescriptorChangeCheck.js +2 -4
  158. package/src/sap/ui/fl/util/IFrame.js +10 -3
  159. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  160. package/src/sap/ui/fl/util/getContainerUserInfo.js +32 -28
  161. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  162. package/src/sap/ui/fl/variants/VariantManagement.js +279 -30
  163. package/src/sap/ui/fl/variants/VariantModel.js +178 -73
  164. package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +12 -2
  165. package/src/sap/ui/fl/write/_internal/Storage.js +7 -5
  166. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +1 -1
  167. package/src/sap/ui/fl/write/_internal/Versions.js +61 -54
  168. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  169. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  170. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  171. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +20 -1
  172. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +25 -3
  173. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  174. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +2 -2
  175. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +23 -23
  176. package/src/sap/ui/fl/write/_internal/connectors/LocalStorageConnector.js +2 -1
  177. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +3 -3
  178. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  180. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  181. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  182. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  183. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
  184. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  186. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  187. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  188. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  189. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  190. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  191. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +5 -17
  192. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  193. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.fragment.xml +1 -0
  194. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +48 -19
  195. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/getEditorConfig.js +60 -22
  196. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  197. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  198. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.fragment.xml +1 -1
  199. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +15 -22
  200. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/validators/IsRequired.js +20 -0
  201. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +15 -11
  202. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +14 -13
  203. package/src/sap/ui/fl/write/_internal/transport/TransportDialog.js +5 -7
  204. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +6 -5
  205. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -2
  206. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +117 -13
  207. package/src/sap/ui/fl/write/api/FeaturesAPI.js +1 -0
  208. package/src/sap/ui/fl/write/api/FieldExtensibility.js +28 -9
  209. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +2 -1
  210. package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +20 -16
  211. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +2 -0
  212. package/ui5.yaml +135 -1
  213. package/src/sap/ui/fl/ControlPersonalizationAPI.js +0 -477
  214. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/annotationsEditor/AnnotationsEditor.js +0 -49
  215. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateEditor/DateEditor.js +0 -43
  216. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateTimeEditor/DateTimeEditor.js +0 -38
@@ -9,12 +9,11 @@ sap.ui.define([
9
9
  "sap/base/util/restricted/_pick",
10
10
  "sap/base/util/includes",
11
11
  "sap/base/util/isEmptyObject",
12
- "sap/base/util/merge",
13
12
  "sap/base/util/ObjectPath",
14
- "sap/base/util/each",
15
13
  "sap/base/Log",
16
14
  "sap/ui/core/util/reflection/JsControlTreeModifier",
17
15
  "sap/ui/fl/apply/_internal/controlVariants/Utils",
16
+ "sap/ui/fl/apply/_internal/flexObjects/States",
18
17
  "sap/ui/fl/apply/_internal/flexState/FlexState",
19
18
  "sap/ui/fl/Change",
20
19
  "sap/ui/fl/LayerUtils",
@@ -25,12 +24,11 @@ sap.ui.define([
25
24
  _pick,
26
25
  includes,
27
26
  isEmptyObject,
28
- merge,
29
27
  ObjectPath,
30
- each,
31
28
  Log,
32
29
  JsControlTreeModifier,
33
30
  VariantsApplyUtil,
31
+ States,
34
32
  FlexState,
35
33
  Change,
36
34
  LayerUtils,
@@ -45,14 +43,12 @@ sap.ui.define([
45
43
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.VariantManagementState
46
44
  * @experimental Since 1.74
47
45
  * @since 1.74
48
- * @version 1.94.0
46
+ * @version 1.97.0
49
47
  * @private
50
48
  * @ui5-restricted
51
49
  */
52
50
  var VariantManagementState = {};
53
51
 
54
- var _mFakedStandardVariants = {};
55
-
56
52
  function getReferencedChanges(mPropertyBag) {
57
53
  var aReferencedVariantChanges = [];
58
54
  if (mPropertyBag.variantData.content.variantReference) {
@@ -131,49 +127,35 @@ sap.ui.define([
131
127
  * Returns variant management state for the passed component reference.
132
128
  *
133
129
  * @param {string} sReference - Component reference
134
- *
135
130
  * @returns {object} Variant management state
136
131
  * @private
137
132
  * @ui5-restricted
138
133
  */
139
134
  VariantManagementState.getContent = function(sReference) {
140
- var oVariantsState = FlexState.getVariantsState(sReference);
141
- each(_mFakedStandardVariants[sReference], function(sVariantManagementReference, oContent) {
142
- if (!oVariantsState[sVariantManagementReference]) {
143
- oVariantsState[sVariantManagementReference] = oContent;
144
- }
145
- });
146
- return oVariantsState;
135
+ return FlexState.getVariantsState(sReference);
147
136
  };
148
137
 
149
- VariantManagementState.addFakeStandardVariant = function(sReference, oStandardVariant) {
150
- var oVariantsMap = VariantManagementState.getContent(sReference);
151
- if (!oVariantsMap[Object.keys(oStandardVariant)[0]]) {
152
- merge(oVariantsMap, oStandardVariant);
153
-
154
- _mFakedStandardVariants[sReference] = _mFakedStandardVariants[sReference] || {};
155
- merge(_mFakedStandardVariants[sReference], oStandardVariant);
156
- } else {
157
- Log.error("Error in VariantManagementState.addFakeStandardVariant: Variant already in map");
158
- }
138
+ VariantManagementState.addFakeStandardVariant = function(sReference, sComponentId, oStandardVariant) {
139
+ FlexState.setFakeStandardVariant(sReference, sComponentId, oStandardVariant);
159
140
  };
160
141
 
161
- VariantManagementState.clearFakedStandardVariants = function(sReference) {
162
- delete _mFakedStandardVariants[sReference];
142
+ VariantManagementState.clearFakedStandardVariants = function(sReference, sComponentId) {
143
+ FlexState.resetFakedStandardVariants(sReference, sComponentId);
163
144
  };
164
145
 
165
146
  /**
166
147
  * Resets variant management state
167
148
  *
168
149
  * @param {string} sReference - Component reference
150
+ * @param {string} sComponentId - Component instance ID
169
151
  *
170
152
  * @private
171
153
  * @ui5-restricted
172
154
  */
173
- VariantManagementState.resetContent = function(sReference) {
155
+ VariantManagementState.resetContent = function(sReference, sComponentId) {
174
156
  // reset on component destroy() should be handled more centrally
175
157
  // once all maps are prepared in flex state
176
- FlexState.clearFilteredResponse(sReference);
158
+ FlexState.clearFilteredResponse(sReference, sComponentId);
177
159
  };
178
160
 
179
161
  /**
@@ -183,6 +165,7 @@ sap.ui.define([
183
165
  * @param {String} mPropertyBag.vmReference - Variant management reference
184
166
  * @param {String} mPropertyBag.vReference - ID of the variant
185
167
  * @param {string} mPropertyBag.reference - Component reference
168
+ * @param {boolean} [mPropertyBag.includeDirtyChanges] - Whether dirty changes of the current session should be included, <code>true</code> by default
186
169
  * @param {boolean} [mPropertyBag.changeInstance] <code>true</code> if each change has to be an instance of <code>sap.ui.fl.Change</code>
187
170
  *
188
171
  * @returns {object[]|sap.ui.fl.Change[]} All changes of the variant
@@ -193,7 +176,12 @@ sap.ui.define([
193
176
  var aResult = [];
194
177
  var oVariant = VariantManagementState.getVariant(mPropertyBag);
195
178
  if (oVariant) {
196
- aResult = oVariant.controlChanges;
179
+ aResult = oVariant.controlChanges.filter(function(oChange) {
180
+ return (
181
+ mPropertyBag.includeDirtyChanges !== false
182
+ || oChange.getState() === Change.states.PERSISTED
183
+ );
184
+ });
197
185
  if (!mPropertyBag.changeInstance) {
198
186
  aResult = aResult.map(function(oChange) {
199
187
  return oChange.getDefinition();
@@ -446,15 +434,14 @@ sap.ui.define([
446
434
  || !mPropertyBag.vmReference
447
435
  ) {
448
436
  var sCurrentVReference = oVariantsMap[sVMReference].currentVariant ? "currentVariant" : "defaultVariant";
449
- var mArguments = {
437
+ var mArguments = Object.assign({}, mPropertyBag, {
450
438
  vmReference: sVMReference,
451
439
  vReference: oVariantsMap[sVMReference][sCurrentVReference],
452
- reference: mPropertyBag.reference,
453
- changeInstance: mPropertyBag.changeInstance
454
- };
440
+ includeDirtyChanges: false
441
+ });
455
442
 
456
443
  // Concatenate with the previous flex changes
457
- return aInitialChanges.concat(VariantManagementState.getControlChangesForVariant(Object.assign({}, mPropertyBag, mArguments)));
444
+ return aInitialChanges.concat(VariantManagementState.getControlChangesForVariant(mArguments));
458
445
  }
459
446
  return aInitialChanges;
460
447
  }, []);
@@ -572,11 +559,11 @@ sap.ui.define([
572
559
  var oFlexObjects = FlexState.getFlexObjectsFromStorageResponse(mPropertyBag.reference);
573
560
 
574
561
  if (mPropertyBag.changeToBeAddedOrDeleted) {
575
- switch (mPropertyBag.changeToBeAddedOrDeleted.getPendingAction()) {
576
- case "NEW":
562
+ switch (mPropertyBag.changeToBeAddedOrDeleted.getState()) {
563
+ case States.NEW:
577
564
  addChange(mPropertyBag.changeToBeAddedOrDeleted.getDefinition(), oFlexObjects);
578
565
  break;
579
- case "DELETE":
566
+ case States.DELETE:
580
567
  deleteChange(mPropertyBag.changeToBeAddedOrDeleted.getDefinition(), oFlexObjects);
581
568
  break;
582
569
  default:
@@ -337,7 +337,7 @@ sap.ui.define([
337
337
  /**
338
338
  * Prepares the variants map from the flex response for the passed flex state
339
339
  *
340
- * @param {object} mPropertyBag
340
+ * @param {object} mPropertyBag - Property bag
341
341
  * @param {object} mPropertyBag.storageResponse - Filtered flex response
342
342
  * @param {object} mPropertyBag.unfilteredStorageResponse - Unfiltered flex response
343
343
  * @param {string} mPropertyBag.componentId - Component id
@@ -6,11 +6,19 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
9
- "sap/ui/fl/ControlPersonalizationAPI",
9
+ "sap/ui/core/Component",
10
+ "sap/ui/core/Core",
11
+ "sap/ui/core/Element",
12
+ "sap/ui/fl/apply/_internal/controlVariants/URLHandler",
13
+ "sap/ui/fl/variants/VariantManagement",
10
14
  "sap/ui/fl/Utils"
11
15
  ], function(
12
16
  Log,
13
- OldControlPersonalizationAPI,
17
+ Component,
18
+ Core,
19
+ Element,
20
+ URLHandler,
21
+ VariantManagement,
14
22
  Utils
15
23
  ) {
16
24
  "use strict";
@@ -21,7 +29,7 @@ sap.ui.define([
21
29
  * @namespace sap.ui.fl.apply.api.ControlVariantApplyAPI
22
30
  * @experimental Since 1.67
23
31
  * @since 1.67
24
- * @version 1.94.0
32
+ * @version 1.97.0
25
33
  * @public
26
34
  */
27
35
  var ControlVariantApplyAPI = /** @lends sap.ui.fl.apply.api.ControlVariantApplyAPI */{
@@ -38,7 +46,33 @@ sap.ui.define([
38
46
  * @public
39
47
  */
40
48
  clearVariantParameterInURL: function (mPropertyBag) {
41
- OldControlPersonalizationAPI.clearVariantParameterInURL(mPropertyBag.control);
49
+ var aUpdatedVariantParameters;
50
+ var oAppComponent = Utils.getAppComponentForControl(mPropertyBag.control);
51
+ var oVariantModel = oAppComponent && oAppComponent.getModel(Utils.VARIANT_MODEL_NAME);
52
+ if (!oVariantModel) {
53
+ //technical parameters are not updated, only URL hash is updated
54
+ Log.error("Variant model could not be found on the provided control");
55
+ return;
56
+ }
57
+
58
+ //check if variant for the passed variant management control is present
59
+ if (mPropertyBag.control instanceof VariantManagement) {
60
+ var sVariantManagementReference = oVariantModel.getLocalId(mPropertyBag.control.getId(), oAppComponent);
61
+ var mCleansedParametersWithIndex = URLHandler.removeURLParameterForVariantManagement({
62
+ model: oVariantModel,
63
+ vmReference: sVariantManagementReference
64
+ });
65
+ aUpdatedVariantParameters = mCleansedParametersWithIndex.parameters;
66
+ }
67
+
68
+ //both technical parameters and URL hash updated
69
+ URLHandler.update({
70
+ parameters: aUpdatedVariantParameters || [],
71
+ updateURL: true,
72
+ updateHashEntry: !!oVariantModel,
73
+ model: oVariantModel || {},
74
+ silent: !oVariantModel
75
+ });
42
76
  },
43
77
 
44
78
  /**
@@ -49,12 +83,58 @@ sap.ui.define([
49
83
  * @param {sap.ui.base.ManagedObject|string} mPropertyBag.element - Component or control (instance or ID) on which the <code>variantModel</code> is set
50
84
  * @param {string} mPropertyBag.variantReference - Reference to the variant that needs to be activated
51
85
  *
52
- * @returns {Promise} Promise that resolves after the variant is updated, or is rejected if an error occurs
86
+ * @returns {Promise} Resolves after the variant is activated or rejects if an error occurs
53
87
  *
54
88
  * @public
55
89
  */
56
90
  activateVariant: function(mPropertyBag) {
57
- return OldControlPersonalizationAPI.activateVariant(mPropertyBag.element, mPropertyBag.variantReference);
91
+ function logAndReject(oError) {
92
+ Log.error(oError);
93
+ return Promise.reject(oError);
94
+ }
95
+
96
+ var oElement;
97
+ if (typeof mPropertyBag.element === "string") {
98
+ oElement = Component.get(mPropertyBag.element);
99
+ if (!(oElement instanceof Component)) {
100
+ oElement = Core.byId(mPropertyBag.element);
101
+
102
+ if (!(oElement instanceof Element)) {
103
+ return logAndReject(Error("No valid component or control found for the provided ID"));
104
+ }
105
+ }
106
+ } else if (mPropertyBag.element instanceof Component || mPropertyBag.element instanceof Element) {
107
+ oElement = mPropertyBag.element;
108
+ }
109
+
110
+ var oAppComponent = Utils.getAppComponentForControl(oElement);
111
+ if (!oAppComponent) {
112
+ return logAndReject(Error("A valid variant management control or component (instance or ID) should be passed as parameter"));
113
+ }
114
+
115
+ var oVariantModel = oAppComponent.getModel(Utils.VARIANT_MODEL_NAME);
116
+ if (!oVariantModel) {
117
+ return logAndReject(Error("No variant management model found for the passed control or application component"));
118
+ }
119
+ var sVariantManagementReference = oVariantModel.getVariantManagementReference(mPropertyBag.variantReference).variantManagementReference;
120
+ if (!sVariantManagementReference) {
121
+ return logAndReject(Error("A valid control or component, and a valid variant/ID combination are required"));
122
+ }
123
+
124
+ // sap/fe is using this API very early during app start, sometimes before FlexState is initialized
125
+ return oVariantModel.waitForVMControlInit(sVariantManagementReference)
126
+
127
+ .then(function() {
128
+ return oVariantModel.updateCurrentVariant({
129
+ variantManagementReference: sVariantManagementReference,
130
+ newVariantReference: mPropertyBag.variantReference,
131
+ appComponent: oAppComponent
132
+ });
133
+ })
134
+ .catch(function(oError) {
135
+ Log.error(oError);
136
+ throw oError;
137
+ });
58
138
  },
59
139
 
60
140
  /**
@@ -5,13 +5,23 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/fl/ControlPersonalizationAPI",
9
- "sap/ui/fl/Utils",
10
- "sap/ui/fl/apply/_internal/ChangesController"
8
+ "sap/base/util/includes",
9
+ "sap/base/Log",
10
+ "sap/ui/core/util/reflection/JsControlTreeModifier",
11
+ "sap/ui/fl/apply/_internal/controlVariants/Utils",
12
+ "sap/ui/fl/apply/_internal/ChangesController",
13
+ "sap/ui/fl/FlexControllerFactory",
14
+ "sap/ui/fl/Layer",
15
+ "sap/ui/fl/Utils"
11
16
  ], function(
12
- OldControlPersonalizationAPI,
13
- Utils,
14
- ChangesController
17
+ includes,
18
+ Log,
19
+ JsControlTreeModifier,
20
+ VariantUtils,
21
+ ChangesController,
22
+ FlexControllerFactory,
23
+ Layer,
24
+ Utils
15
25
  ) {
16
26
  "use strict";
17
27
 
@@ -25,7 +35,6 @@ sap.ui.define([
25
35
  * @ui5-restricted UI5 controls, OVP, tests
26
36
  */
27
37
  var FlexRuntimeInfoAPI = /** @lends sap.ui.fl.apply.api.FlexRuntimeInfoAPI */{
28
-
29
38
  /**
30
39
  * Checks if personalization changes exist for controls.
31
40
  *
@@ -39,25 +48,85 @@ sap.ui.define([
39
48
  * @ui5-restricted
40
49
  */
41
50
  isPersonalized: function(mPropertyBag) {
42
- return OldControlPersonalizationAPI.isPersonalized(mPropertyBag.selectors, mPropertyBag.changeTypes);
51
+ function logAndReject(sMessage) {
52
+ Log.error(sMessage);
53
+ return Promise.reject(sMessage);
54
+ }
55
+
56
+ function ifValidFileType(oChange) {
57
+ return oChange.getFileType() === "change";
58
+ }
59
+
60
+ function filterBySelectors(oAppComponent, aControls, oChange) {
61
+ var aIdsOfPassedControls = aControls.map(function (oControl) {
62
+ return oControl.id || oControl.getId();
63
+ });
64
+ var oSelector = oChange.getSelector();
65
+ var sControlId = JsControlTreeModifier.getControlIdBySelector(oSelector, oAppComponent);
66
+ return includes(aIdsOfPassedControls, sControlId);
67
+ }
68
+
69
+ function filterByChangeType(aChangeTypes, oChange) {
70
+ return (Array.isArray(aChangeTypes) && aChangeTypes.length > 0)
71
+ ? includes(aChangeTypes, oChange.getChangeType())
72
+ : true;
73
+ }
74
+
75
+ if (!mPropertyBag.selectors || mPropertyBag.selectors.length === 0) {
76
+ return logAndReject("At least one control ID has to be provided as a parameter");
77
+ }
78
+
79
+ var oAppComponent = mPropertyBag.selectors[0].appComponent || Utils.getAppComponentForControl(mPropertyBag.selectors[0]);
80
+ if (!oAppComponent) {
81
+ return logAndReject("App Component could not be determined");
82
+ }
83
+
84
+ var oFlexController = FlexControllerFactory.createForControl(oAppComponent);
85
+ return oFlexController.getComponentChanges({currentLayer: Layer.USER, includeCtrlVariants: true})
86
+ .then(function (aChanges) {
87
+ return aChanges
88
+ .filter(filterBySelectors.bind(this, oAppComponent, mPropertyBag.selectors))
89
+ .filter(filterByChangeType.bind(this, mPropertyBag.changeTypes))
90
+ .some(ifValidFileType);
91
+ }.bind(this));
43
92
  },
44
93
 
45
94
  /**
46
95
  * Resolves with a promise after all the changes for all controls that are passed have been processed.
47
- * You can either pass a single control or multiple, don't mix selectors and element parameters.
96
+ * You can either pass a single control, multiple controls or an array with objects that may contain additional configuration.
97
+ * Only use one of the possible parameters.
48
98
  *
49
99
  * @param {object} mPropertyBag - Object with parameters as properties
50
100
  * @param {sap.ui.fl.Selector} mPropertyBag.element - Control whose changes are being waited for, the control has to exist
51
101
  * @param {sap.ui.fl.Selector[]} mPropertyBag.selectors - An array of {@link sap.ui.fl.Selector}s, whose changes are being waited for, the controls have to exist
52
- * @returns {Promise} Promise that resolves when all changes on the control are processed
102
+ * @param {object[]} mPropertyBag.complexSelectors - An array containing an object with {@link sap.ui.fl.Selector} and further configuration
103
+ * @param {sap.ui.fl.Selector} mPropertyBag.complexSelectors.selector - A {@link sap.ui.fl.Selector}
104
+ * @param {string[]} [mPropertyBag.complexSelectors.changeTypes] - An array containing the change types that will be considered. If empty no filtering will be done
105
+ * @returns {Promise} Resolves when all changes on the control(s) are processed
53
106
  *
54
107
  * @private
55
108
  * @ui5-restricted
56
109
  */
57
110
  waitForChanges: function(mPropertyBag) {
58
- var oFirstElement = mPropertyBag.element || mPropertyBag.selectors[0];
59
- var vWaitForSelector = mPropertyBag.element || mPropertyBag.selectors;
60
- return ChangesController.getFlexControllerInstance(oFirstElement).waitForChangesToBeApplied(vWaitForSelector);
111
+ var aComplexSelectors;
112
+ var oFirstElement;
113
+ if (mPropertyBag.element) {
114
+ aComplexSelectors = [{
115
+ selector: mPropertyBag.element
116
+ }];
117
+ oFirstElement = mPropertyBag.element;
118
+ } else if (mPropertyBag.selectors) {
119
+ aComplexSelectors = mPropertyBag.selectors.map(function(oSelector) {
120
+ return {
121
+ selector: oSelector
122
+ };
123
+ });
124
+ oFirstElement = mPropertyBag.selectors[0];
125
+ } else if (mPropertyBag.complexSelectors) {
126
+ aComplexSelectors = mPropertyBag.complexSelectors;
127
+ oFirstElement = mPropertyBag.complexSelectors[0].selector;
128
+ }
129
+ return ChangesController.getFlexControllerInstance(oFirstElement).waitForChangesToBeApplied(aComplexSelectors);
61
130
  },
62
131
 
63
132
  /**
@@ -85,7 +154,7 @@ sap.ui.define([
85
154
  * @ui5-restricted
86
155
  */
87
156
  hasVariantManagement: function(mPropertyBag) {
88
- return OldControlPersonalizationAPI.hasVariantManagement(mPropertyBag.element);
157
+ return VariantUtils.belongsToVariantManagement(mPropertyBag.element);
89
158
  }
90
159
  };
91
160
 
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @alias sap.ui.fl.changeHandler.AddIFrame
22
22
  * @author SAP SE
23
- * @version 1.94.0
23
+ * @version 1.97.0
24
24
  * @since 1.72
25
25
  * @private
26
26
  */
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @alias sap.ui.fl.changeHandler.AddXML
18
18
  * @author SAP SE
19
- * @version 1.94.0
19
+ * @version 1.97.0
20
20
  * @since 1.54
21
21
  * @private
22
22
  * @experimental Since 1.54. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @alias sap.ui.fl.changeHandler.AddXMLAtExtensionPoint
18
18
  * @author SAP SE
19
- * @version 1.94.0
19
+ * @version 1.97.0
20
20
  * @since 1.75
21
21
  * @private
22
22
  * @experimental Since 1.75. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  /**
15
15
  * Base functionality for all change handlers, which provides some reuse methods
16
16
  * @namespace sap.ui.fl.changeHandler.Base
17
- * @version 1.94.0
17
+ * @version 1.97.0
18
18
  * @private
19
19
  * @ui5-restricted change handlers
20
20
  */
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @constructor
38
38
  * @alias sap.ui.fl.changeHandler.BaseAddViaDelegate
39
39
  * @author SAP SE
40
- * @version 1.94.0
40
+ * @version 1.97.0
41
41
  * @public
42
42
  * @experimental Since 1.81
43
43
  */
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @alias sap.ui.fl.changeHandler.BaseAddXml
24
24
  * @author SAP SE
25
- * @version 1.94.0
25
+ * @version 1.97.0
26
26
  * @since 1.75
27
27
  * @private
28
28
  * @experimental Since 1.75. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @constructor
20
20
  * @alias sap.ui.fl.changeHandler.BaseRename
21
21
  * @author SAP SE
22
- * @version 1.94.0
22
+ * @version 1.97.0
23
23
  * @experimental Since 1.46
24
24
  */
25
25
  var BaseRename = {
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * Change handler for hiding of a control.
20
20
  * @alias sap.ui.fl.changeHandler.HideControl
21
21
  * @author SAP SE
22
- * @version 1.94.0
22
+ * @version 1.97.0
23
23
  * @experimental Since 1.27.0
24
24
  */
25
25
  var HideControl = {};
@@ -19,7 +19,7 @@ function(
19
19
  *
20
20
  * @alias sap.ui.fl.changeHandler.MoveControls
21
21
  * @author SAP SE
22
- * @version 1.94.0
22
+ * @version 1.97.0
23
23
  * @experimental Since 1.46
24
24
  */
25
25
  var MoveControls = { };
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  *
19
19
  * @alias sap.ui.fl.changeHandler.MoveElements
20
20
  * @author SAP SE
21
- * @version 1.94.0
21
+ * @version 1.97.0
22
22
  * @experimental Since 1.34.0
23
23
  */
24
24
  var MoveElements = { };
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @alias sap.ui.fl.changeHandler.PropertyBindingChange
18
18
  * @author SAP SE
19
- * @version 1.94.0
19
+ * @version 1.97.0
20
20
  * @since 1.38
21
21
  * @private
22
22
  * @experimental Since 1.38. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @alias sap.ui.fl.changeHandler.PropertyChange
22
22
  * @author SAP SE
23
- * @version 1.94.0
23
+ * @version 1.97.0
24
24
  * @since 1.36
25
25
  * @private
26
26
  * @experimental Since 1.36. This class is experimental and provides only limited functionality. Also the API might be changed in future.
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
  * Change handler for stashing of a control.
16
16
  * @alias sap.ui.fl.changeHandler.StashControl
17
17
  * @author SAP SE
18
- * @version 1.94.0
18
+ * @version 1.97.0
19
19
  * @experimental Since 1.27.0
20
20
  */
21
21
  var StashControl = {};
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * Change handler for unhiding of a control.
18
18
  * @alias sap.ui.fl.changeHandler.UnhideControl
19
19
  * @author SAP SE
20
- * @version 1.94.0
20
+ * @version 1.97.0
21
21
  * @experimental Since 1.27.0
22
22
  */
23
23
  var UnhideControl = {};
@@ -11,7 +11,7 @@ sap.ui.define([], function() {
11
11
  * Change handler for unstashing of a control.
12
12
  * @alias sap.ui.fl.changeHandler.UnstashControl
13
13
  * @author SAP SE
14
- * @version 1.94.0
14
+ * @version 1.97.0
15
15
  * @experimental Since 1.27.0
16
16
  */
17
17
  var UnstashControl = {};
@@ -16,13 +16,13 @@ sap.ui.define([
16
16
  *
17
17
  * @alias sap.ui.fl.changeHandler.UpdateIFrame
18
18
  * @author SAP SE
19
- * @version 1.94.0
19
+ * @version 1.97.0
20
20
  * @since 1.72
21
21
  * @private
22
22
  */
23
23
  var UpdateIFrame = {};
24
24
 
25
- var aUpdatableProperties = ["width", "height", "url"];
25
+ var aUpdatableProperties = ["width", "height", "url", "_settings"];
26
26
 
27
27
  /**
28
28
  * Extract an IFrame control settings.
@@ -111,6 +111,10 @@ sap.ui.define([
111
111
  return Promise.resolve()
112
112
  .then(function() {
113
113
  if (mRevertData) {
114
+ // If available, the URL is reverted to before parsing the parameters (saved in "_settings")
115
+ if (mRevertData.originalSettings._settings && mRevertData.originalSettings._settings.url) {
116
+ mRevertData.originalSettings.url = mRevertData.originalSettings._settings.url;
117
+ }
114
118
  return applySettings(mPropertyBag.modifier, oControl, mRevertData.originalSettings);
115
119
  }
116
120
  return Promise.reject(new Error("Attempt to revert an unapplied change."));
@@ -20,18 +20,21 @@ sap.ui.define([
20
20
  * @alias sap.ui.fl.codeExt.CodeExtManager
21
21
  * @since 1.40.0
22
22
  * @author SAP SE
23
- * @version 1.94.0
23
+ * @version 1.97.0
24
24
  */
25
25
  var CodeExtManager;
26
26
 
27
27
  CodeExtManager = {
28
28
  /**
29
- * @param {string} oPropertyBag.id - change Id if not present it will be generated
30
- * @param {string} oPropertyBag.codeRef - relative path of code file
31
- * @param {string} oPropertyBag.controllerName - controller name
32
- * @param {string} oPropertyBag.appVariantId - appVariantId or componentName in which the context is present
29
+ * @param {object} oPropertyBag - Object with properties
30
+ * @param {string} oPropertyBag.id - Change ID. Will be generated if not present.
31
+ * @param {string} oPropertyBag.codeRef - Relative path of code file
32
+ * @param {string} oPropertyBag.controllerName - Controller name
33
+ * @param {string} oPropertyBag.appVariantId - <code>AppVariantId</code> or <code>componentName</code> in which the context is present
34
+ * @param {object} mOptions - Property bag of options for the codeExt change creation
33
35
  * @param {string} mOptions.transportId - Id of ABAP Transport which CodeExt change assigned to
34
36
  * @param {string} mOptions.packageName - Name of ABAP Package which CodeExt change assigned to
37
+ * @returns {Promise} Resolves as soon as the writing was completed
35
38
  */
36
39
  createOrUpdateCodeExtChange: function(oPropertyBag, mOptions) {
37
40
  if (!oPropertyBag.content || !oPropertyBag.content.codeRef) {
@@ -57,11 +60,12 @@ sap.ui.define([
57
60
  },
58
61
 
59
62
  /**
60
- * @param {array} aChanges - list of changes need to be created
63
+ * @param {array} aChanges - List of changes need to be created
61
64
  * @param {object} mOptions - Property bag of options for the codeExt change creation
62
- * @param {string} mOptions.codeRef - code reference which changes are associated with
63
- * @param {string} mOptions.transportId - id of ABAP transport on which the change is assigned to
64
- * @param {string} mOptions.packageName - name of ABAP package on which the change is assigned to
65
+ * @param {string} mOptions.codeRef - Code reference which changes are associated with
66
+ * @param {string} mOptions.transportId - ID of the ABAP transport to which the change is assigned
67
+ * @param {string} mOptions.packageName - Name of the ABAP transport to which the change is assigned
68
+ * @returns {Promise} Resolves as soon as the writing is completed
65
69
  */
66
70
  createCodeExtChanges: function(aChanges, mOptions) {
67
71
  aChanges = aChanges || [];
@@ -87,9 +91,11 @@ sap.ui.define([
87
91
  },
88
92
 
89
93
  /**
90
- * @param {sap.ui.fl.Change} oChange
94
+ * @param {sap.ui.fl.Change} oChange - Change instance
95
+ * @param {object} mOptions - Property bag of options for the codeExt change creation
91
96
  * @param {string} mOptions.transportId - ID of ABAP Transport which CodeExt change assigned to
92
97
  * @param {string} mOptions.packageName - Name of ABAP Package which CodeExt change assigned to
98
+ * @returns {Promise} Resolves as soon as the deletion is completed
93
99
  */
94
100
  deleteCodeExtChange: function(oChange, mOptions) {
95
101
  if (oChange.changeType !== "codeExt" || oChange.fileType !== "change") {