@openui5/sap.ui.fl 1.92.0 → 1.93.3

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 (213) hide show
  1. package/{.eslintrc → .eslintrc.json} +0 -0
  2. package/.reuse/dep5 +5 -0
  3. package/THIRDPARTY.txt +10 -1
  4. package/package.json +3 -3
  5. package/src/sap/ui/fl/.library +1 -1
  6. package/src/sap/ui/fl/Cache.js +1 -1
  7. package/src/sap/ui/fl/Change.js +41 -27
  8. package/src/sap/ui/fl/ChangePersistence.js +63 -22
  9. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  10. package/src/sap/ui/fl/ControlPersonalizationAPI.js +1 -1
  11. package/src/sap/ui/fl/EventHistory.js +1 -1
  12. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  13. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  14. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  15. package/src/sap/ui/fl/FlexController.js +1 -1
  16. package/src/sap/ui/fl/FlexControllerFactory.js +1 -1
  17. package/src/sap/ui/fl/LayerUtils.js +1 -1
  18. package/src/sap/ui/fl/PreprocessorImpl.js +1 -1
  19. package/src/sap/ui/fl/RegistrationDelegator.js +1 -1
  20. package/src/sap/ui/fl/Utils.js +50 -2
  21. package/src/sap/ui/fl/Variant.js +20 -20
  22. package/src/sap/ui/fl/XmlPreprocessorImpl.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +2 -2
  24. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +85 -40
  25. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +196 -38
  26. package/src/sap/ui/fl/apply/_internal/changes/Reverter.js +91 -85
  27. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +19 -8
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  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/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/extensionPoint/Processor.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +13 -1
  48. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  51. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  54. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +1 -1
  56. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  57. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +2 -0
  58. package/src/sap/ui/fl/changeHandler/AddIFrame.js +23 -9
  59. package/src/sap/ui/fl/changeHandler/AddXML.js +2 -3
  60. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +40 -29
  61. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  62. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +43 -30
  63. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +65 -26
  64. package/src/sap/ui/fl/changeHandler/BaseRename.js +26 -18
  65. package/src/sap/ui/fl/changeHandler/HideControl.js +21 -18
  66. package/src/sap/ui/fl/changeHandler/MoveControls.js +250 -172
  67. package/src/sap/ui/fl/changeHandler/MoveElements.js +90 -61
  68. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +12 -12
  69. package/src/sap/ui/fl/changeHandler/PropertyChange.js +27 -23
  70. package/src/sap/ui/fl/changeHandler/StashControl.js +51 -23
  71. package/src/sap/ui/fl/changeHandler/UnhideControl.js +13 -14
  72. package/src/sap/ui/fl/changeHandler/UnstashControl.js +23 -16
  73. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +45 -21
  74. package/src/sap/ui/fl/changeHandler/common/createIFrame.js +6 -2
  75. package/src/sap/ui/fl/changeHandler/common/getTargetAggregationIndex.js +8 -4
  76. package/src/sap/ui/fl/changeHandler/common/revertAddedControls.js +17 -7
  77. package/src/sap/ui/fl/codeExt/CodeExtManager.js +1 -1
  78. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  79. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  80. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  81. package/src/sap/ui/fl/descriptorRelated/internal/Utils.js +1 -0
  82. package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +3 -0
  83. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  84. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  85. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +5 -0
  86. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -1
  87. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +2 -2
  88. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  89. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  90. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  91. package/src/sap/ui/fl/library.js +9 -9
  92. package/src/sap/ui/fl/messagebundle.properties +15 -0
  93. package/src/sap/ui/fl/messagebundle_ar.properties +9 -1
  94. package/src/sap/ui/fl/messagebundle_bg.properties +9 -1
  95. package/src/sap/ui/fl/messagebundle_ca.properties +9 -1
  96. package/src/sap/ui/fl/messagebundle_cs.properties +9 -1
  97. package/src/sap/ui/fl/messagebundle_cy.properties +9 -1
  98. package/src/sap/ui/fl/messagebundle_da.properties +9 -1
  99. package/src/sap/ui/fl/messagebundle_de.properties +9 -1
  100. package/src/sap/ui/fl/messagebundle_el.properties +9 -1
  101. package/src/sap/ui/fl/messagebundle_en.properties +8 -0
  102. package/src/sap/ui/fl/messagebundle_en_GB.properties +8 -0
  103. package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +10 -0
  104. package/src/sap/ui/fl/messagebundle_en_US_saptrc.properties +8 -0
  105. package/src/sap/ui/fl/messagebundle_es.properties +9 -1
  106. package/src/sap/ui/fl/messagebundle_es_MX.properties +9 -1
  107. package/src/sap/ui/fl/messagebundle_et.properties +9 -1
  108. package/src/sap/ui/fl/messagebundle_fi.properties +9 -1
  109. package/src/sap/ui/fl/messagebundle_fr.properties +8 -0
  110. package/src/sap/ui/fl/messagebundle_fr_CA.properties +8 -0
  111. package/src/sap/ui/fl/messagebundle_hi.properties +9 -1
  112. package/src/sap/ui/fl/messagebundle_hr.properties +9 -1
  113. package/src/sap/ui/fl/messagebundle_hu.properties +9 -1
  114. package/src/sap/ui/fl/messagebundle_id.properties +9 -1
  115. package/src/sap/ui/fl/messagebundle_it.properties +9 -1
  116. package/src/sap/ui/fl/messagebundle_iw.properties +9 -1
  117. package/src/sap/ui/fl/messagebundle_ja.properties +9 -1
  118. package/src/sap/ui/fl/messagebundle_kk.properties +9 -1
  119. package/src/sap/ui/fl/messagebundle_ko.properties +9 -1
  120. package/src/sap/ui/fl/messagebundle_lt.properties +9 -1
  121. package/src/sap/ui/fl/messagebundle_lv.properties +9 -1
  122. package/src/sap/ui/fl/messagebundle_ms.properties +9 -1
  123. package/src/sap/ui/fl/messagebundle_nl.properties +9 -1
  124. package/src/sap/ui/fl/messagebundle_no.properties +9 -1
  125. package/src/sap/ui/fl/messagebundle_pl.properties +9 -1
  126. package/src/sap/ui/fl/messagebundle_pt.properties +9 -1
  127. package/src/sap/ui/fl/messagebundle_pt_PT.properties +9 -1
  128. package/src/sap/ui/fl/messagebundle_ro.properties +8 -0
  129. package/src/sap/ui/fl/messagebundle_ru.properties +9 -1
  130. package/src/sap/ui/fl/messagebundle_sh.properties +9 -1
  131. package/src/sap/ui/fl/messagebundle_sk.properties +9 -1
  132. package/src/sap/ui/fl/messagebundle_sl.properties +9 -1
  133. package/src/sap/ui/fl/messagebundle_sv.properties +9 -1
  134. package/src/sap/ui/fl/messagebundle_th.properties +9 -1
  135. package/src/sap/ui/fl/messagebundle_tr.properties +9 -1
  136. package/src/sap/ui/fl/messagebundle_uk.properties +9 -1
  137. package/src/sap/ui/fl/messagebundle_vi.properties +9 -1
  138. package/src/sap/ui/fl/messagebundle_zh_CN.properties +9 -1
  139. package/src/sap/ui/fl/messagebundle_zh_TW.properties +9 -1
  140. package/src/sap/ui/fl/registry/Settings.js +27 -23
  141. package/src/sap/ui/fl/support/Flexibility.js +1 -1
  142. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  143. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  144. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  145. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  146. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +7 -7
  147. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +2 -2
  148. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  149. package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +1 -1
  150. package/src/sap/ui/fl/themes/base/VariantManagement.less +11 -38
  151. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  152. package/src/sap/ui/fl/util/IFrame.flexibility.js +2 -1
  153. package/src/sap/ui/fl/util/IFrame.js +29 -2
  154. package/src/sap/ui/fl/util/IFrameRenderer.js +1 -1
  155. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  156. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  157. package/src/sap/ui/fl/variants/VariantManagement.js +86 -29
  158. package/src/sap/ui/fl/variants/VariantModel.js +41 -18
  159. package/src/sap/ui/fl/write/_internal/Storage.js +2 -2
  160. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +4 -1
  161. package/src/sap/ui/fl/write/_internal/Versions.js +1 -1
  162. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  163. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  164. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  166. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +11 -10
  167. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +2 -24
  168. package/src/sap/ui/fl/write/_internal/condenser/Utils.js +8 -5
  169. package/src/sap/ui/fl/write/_internal/condenser/classifications/Create.js +10 -8
  170. package/src/sap/ui/fl/write/_internal/condenser/classifications/Destroy.js +14 -11
  171. package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +31 -20
  172. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  173. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  174. package/src/sap/ui/fl/write/_internal/connectors/LocalStorageConnector.js +3 -1
  175. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
  176. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  177. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  178. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  179. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  180. package/src/sap/ui/fl/write/_internal/delegates/ODataV4ReadDelegate.js +1 -1
  181. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  182. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +7 -5
  183. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  184. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  185. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  186. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  187. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  188. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  189. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  190. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +2 -2
  191. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +129 -0
  192. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.fragment.xml +33 -0
  193. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +163 -0
  194. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/getEditorConfig.js +209 -0
  195. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/annotationsEditor/AnnotationsEditor.js +49 -0
  196. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.fragment.xml +6 -0
  197. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +41 -0
  198. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateEditor/DateEditor.js +43 -0
  199. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/dateTimeEditor/DateTimeEditor.js +38 -0
  200. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.fragment.xml +22 -0
  201. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +84 -0
  202. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.fragment.xml +10 -0
  203. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +70 -0
  204. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +16 -10
  205. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +11 -4
  206. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  207. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  208. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +1 -0
  209. package/src/sap/ui/fl/write/api/FeaturesAPI.js +1 -0
  210. package/src/sap/ui/fl/write/api/FieldExtensibility.js +24 -9
  211. package/src/sap/ui/fl/write/api/LocalResetAPI.js +9 -8
  212. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +32 -26
  213. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +1 -0
@@ -17,6 +17,8 @@ sap.ui.define([
17
17
  ) {
18
18
  "use strict";
19
19
 
20
+ var Reverter = {};
21
+
20
22
  function _waitForApplyIfNecessary(oChange) {
21
23
  if (!oChange.isApplyProcessFinished() && oChange.hasApplyProcessStarted()) {
22
24
  // wait for the change to be applied
@@ -30,98 +32,102 @@ sap.ui.define([
30
32
  return Promise.resolve();
31
33
  }
32
34
 
33
- var Reverter = {
34
- /**
35
- * Reverts a specific change on the passed control if it is currently applied.
36
- *
37
- * @param {sap.ui.fl.Change} oChange - Change object that should be reverted on the passed control
38
- * @param {sap.ui.core.Control} oControl - Control which is the target of the passed change
39
- * @param {object} mPropertyBag - Object with parameters as properties
40
- * @param {sap.ui.core.Component} mPropertyBag.appComponent - Component instance that is currently loading
41
- * @param {object} mPropertyBag.appDescriptor - App descriptor containing the metadata of the current application
42
- * @param {sap.ui.core.util.reflection.BaseTreeModifier} mPropertyBag.modifier - Polymorph reuse operations handling the changes on the given view type
43
- * @param {sap.ui.core.mvc.View} mPropertyBag.view - View to process
44
- * @returns {Promise|sap.ui.fl.Utils.FakePromise} Resolving Promise/FakePromise with either the control (success) or <code>false</code> (failure) as value
45
- */
46
- revertChangeOnControl: function(oChange, oControl, mPropertyBag) {
47
- var mControl = Utils.getControlIfTemplateAffected(oChange, oControl, mPropertyBag);
48
- var oChangeHandler;
49
-
50
- return Utils.getChangeHandler(oChange, mControl, mPropertyBag).then(function(oReturnedChangeHandler) {
51
- oChangeHandler = oReturnedChangeHandler;
52
- })
53
-
54
- .then(_waitForApplyIfNecessary.bind(null, oChange))
55
-
56
- .then(function() {
57
- if (oChange.isApplyProcessFinished()) {
58
- oChange.startReverting();
59
- return oChangeHandler.revertChange(oChange, mControl.control, mPropertyBag);
60
- }
61
- throw Error("Change was never applied");
35
+ function revertAndDeleteChangeOnControl(oChange, oControl, mRevertProperties, mPropertyBag) {
36
+ return Reverter.revertChangeOnControl(oChange, oControl, mRevertProperties)
37
+ .then(function(vRevertResult) {
38
+ return FlexCustomData.destroyAppliedCustomData(vRevertResult || oControl, oChange, mPropertyBag.modifier)
39
+ .then(function () {
40
+ return !!vRevertResult;
41
+ });
62
42
  })
63
-
64
- .then(function() {
65
- // After revert the relevant control for the change might have changed, therefore it must be retrieved again (e.g. stashing)
66
- mControl.control = mPropertyBag.modifier.bySelector(oChange.getSelector(), mPropertyBag.appComponent, mPropertyBag.view);
67
- if (mControl.bTemplateAffected) {
68
- mPropertyBag.modifier.updateAggregation(mControl.control, oChange.getContent().boundAggregation);
43
+ .then(function(bSuccess) {
44
+ if (bSuccess) {
45
+ // TODO should be changed as soon as new flex persistence is in place
46
+ mPropertyBag.flexController._oChangePersistence._deleteChangeInMap(oChange);
69
47
  }
70
- oChange.markRevertFinished();
71
- return mControl.control;
72
- })
73
-
74
- .catch(function(oError) {
75
- var sErrorMessage = "Change could not be reverted: " + oError.message;
76
- Log.error(sErrorMessage);
77
- oChange.markRevertFinished(sErrorMessage);
78
- return false;
79
48
  });
80
- },
49
+ }
81
50
 
82
- /**
83
- * Reverts all given changes in one app component.
84
- *
85
- * @param {sap.ui.fl.Change[]} aChanges - Array of changes to be reverted
86
- * @param {object} mPropertyBag - Object with additional properties
87
- * @param {sap.ui.core.Component} mPropertyBag.appComponent - Component instance that is currently loading
88
- * @param {sap.ui.core.util.reflection.BaseTreeModifier} mPropertyBag.modifier - Polymorph reuse operations handling the changes on the given view type
89
- * @param {sap.ui.fl.FlexController} mPropertyBag.flexController - Instance of the flex controller the change is saved in
90
- * @returns {Promise|sap.ui.fl.Utils.FakePromise} Promise/FakePromise that resolves as soon as all changes are reverted
91
- */
92
- revertMultipleChanges: function(aChanges, mPropertyBag) {
93
- var aPromiseStack = [];
94
- aChanges.forEach(function(oChange) {
95
- // Queued 'state' will be removed once the revert process is done
96
- oChange.setQueuedForRevert();
97
- aPromiseStack.push(function() {
98
- var oSelector = oChange.getSelector && oChange.getSelector();
99
- var oControl = mPropertyBag.modifier.bySelector(oSelector, mPropertyBag.appComponent);
100
- if (!oControl) {
101
- Log.warning("A flexibility change tries to revert changes on a nonexistent control with id " + oSelector.id);
102
- return new FlUtils.FakePromise();
103
- }
104
- var mRevertProperties = {
105
- modifier: mPropertyBag.modifier,
106
- appComponent: mPropertyBag.appComponent,
107
- view: FlUtils.getViewForControl(oControl)
108
- };
51
+ /**
52
+ * Reverts a specific change on the passed control if it is currently applied.
53
+ *
54
+ * @param {sap.ui.fl.Change} oChange - Change object that should be reverted on the passed control
55
+ * @param {sap.ui.core.Control} oControl - Control which is the target of the passed change
56
+ * @param {object} mPropertyBag - Object with parameters as properties
57
+ * @param {sap.ui.core.Component} mPropertyBag.appComponent - Component instance that is currently loading
58
+ * @param {object} mPropertyBag.appDescriptor - App descriptor containing the metadata of the current application
59
+ * @param {sap.ui.core.util.reflection.BaseTreeModifier} mPropertyBag.modifier - Polymorph reuse operations handling the changes on the given view type
60
+ * @param {sap.ui.core.mvc.View} mPropertyBag.view - View to process
61
+ * @returns {Promise|sap.ui.fl.Utils.FakePromise} Resolving Promise/FakePromise with either the control (success) or <code>false</code> (failure) as value
62
+ */
63
+ Reverter.revertChangeOnControl = function(oChange, oControl, mPropertyBag) {
64
+ var mControl = Utils.getControlIfTemplateAffected(oChange, oControl, mPropertyBag);
65
+ var oChangeHandler;
109
66
 
110
- return Reverter.revertChangeOnControl(oChange, oControl, mRevertProperties).then(function(vRevertResult) {
111
- FlexCustomData.destroyAppliedCustomData(vRevertResult || oControl, oChange, mPropertyBag.modifier);
112
- return !!vRevertResult;
113
- })
114
- .then(function(bSuccess) {
115
- if (bSuccess) {
116
- // TODO should be changed as soon as new flex persistence is in place
117
- mPropertyBag.flexController._oChangePersistence._deleteChangeInMap(oChange);
118
- }
119
- });
120
- });
67
+ return Utils.getChangeHandler(oChange, mControl, mPropertyBag).then(function(oReturnedChangeHandler) {
68
+ oChangeHandler = oReturnedChangeHandler;
69
+ })
70
+ .then(_waitForApplyIfNecessary.bind(null, oChange))
71
+ .then(function() {
72
+ if (oChange.isApplyProcessFinished()) {
73
+ oChange.startReverting();
74
+ return oChangeHandler.revertChange(oChange, mControl.control, mPropertyBag);
75
+ }
76
+ throw Error("Change was never applied");
77
+ })
78
+ .then(function() {
79
+ // After revert the relevant control for the change might have changed, therefore it must be retrieved again (e.g. stashing)
80
+ mControl.control = mPropertyBag.modifier.bySelector(oChange.getSelector(), mPropertyBag.appComponent, mPropertyBag.view);
81
+ if (mControl.bTemplateAffected) {
82
+ return mPropertyBag.modifier.updateAggregation(mControl.control, oChange.getContent().boundAggregation);
83
+ }
84
+ return undefined;
85
+ })
86
+ .then(function () {
87
+ oChange.markRevertFinished();
88
+ return mControl.control;
89
+ })
90
+ .catch(function(oError) {
91
+ var sErrorMessage = "Change could not be reverted: " + oError.message;
92
+ Log.error(sErrorMessage);
93
+ oChange.markRevertFinished(sErrorMessage);
94
+ return false;
95
+ });
96
+ };
97
+
98
+ /**
99
+ * Reverts all given changes in one app component.
100
+ *
101
+ * @param {sap.ui.fl.Change[]} aChanges - Array of changes to be reverted
102
+ * @param {object} mPropertyBag - Object with additional properties
103
+ * @param {sap.ui.core.Component} mPropertyBag.appComponent - Component instance that is currently loading
104
+ * @param {sap.ui.core.util.reflection.BaseTreeModifier} mPropertyBag.modifier - Polymorph reuse operations handling the changes on the given view type
105
+ * @param {sap.ui.fl.FlexController} mPropertyBag.flexController - Instance of the flex controller the change is saved in
106
+ * @returns {Promise|sap.ui.fl.Utils.FakePromise} Promise/FakePromise that resolves as soon as all changes are reverted
107
+ */
108
+ Reverter.revertMultipleChanges = function(aChanges, mPropertyBag) {
109
+ var aPromiseStack = [];
110
+ aChanges.forEach(function(oChange) {
111
+ // Queued 'state' will be removed once the revert process is done
112
+ oChange.setQueuedForRevert();
113
+ aPromiseStack.push(function() {
114
+ var oSelector = oChange.getSelector && oChange.getSelector();
115
+ var oControl = mPropertyBag.modifier.bySelector(oSelector, mPropertyBag.appComponent);
116
+ if (!oControl) {
117
+ Log.warning("A flexibility change tries to revert changes on a nonexistent control with id " + oSelector.id);
118
+ return new FlUtils.FakePromise();
119
+ }
120
+ var mRevertProperties = {
121
+ modifier: mPropertyBag.modifier,
122
+ appComponent: mPropertyBag.appComponent,
123
+ view: FlUtils.getViewForControl(oControl)
124
+ };
125
+ return revertAndDeleteChangeOnControl(oChange, oControl, mRevertProperties, mPropertyBag);
121
126
  });
127
+ });
122
128
 
123
- return FlUtils.execPromiseQueueSequentially(aPromiseStack);
124
- }
129
+ return FlUtils.execPromiseQueueSequentially(aPromiseStack);
125
130
  };
131
+
126
132
  return Reverter;
127
133
  });
@@ -20,11 +20,20 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.connectors.changes.Utils
22
22
  * @since 1.70
23
- * @version 1.92.0
23
+ * @version 1.93.3
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal, sap.ui.fl.write._internal
26
26
  */
27
27
 
28
+ function isDependencyStillValid(oChange, bHasChangeApplyFinishedCustomData) {
29
+ // if change is already applied OR if apply process has started,
30
+ // then dependency is no more valid
31
+ if (bHasChangeApplyFinishedCustomData || oChange.hasApplyProcessStarted()) {
32
+ return false;
33
+ }
34
+ return true;
35
+ }
36
+
28
37
  var Utils = {
29
38
  /**
30
39
  * Returns the control map containing control, controlType, bTemplateAffected and originalControl
@@ -87,16 +96,18 @@ sap.ui.define([
87
96
  });
88
97
  },
89
98
 
90
- checkIfDependencyIsStillValid: function(oAppComponent, oModifier, mChangesMap, sChangeId) {
99
+ checkIfDependencyIsStillValidSync: function(oAppComponent, oModifier, mChangesMap, sChangeId) {
91
100
  var oChange = FlUtils.getChangeFromChangesMap(mChangesMap.mChanges, sChangeId);
92
101
  var oControl = oModifier.bySelector(oChange.getSelector(), oAppComponent);
102
+ var bHasChangeApplyFinishedCustomData = FlexCustomData.sync.hasChangeApplyFinishedCustomData(oControl, oChange);
103
+ return isDependencyStillValid(oChange, bHasChangeApplyFinishedCustomData);
104
+ },
93
105
 
94
- // if change is already applied OR if apply process has started,
95
- // then dependency is no more valid
96
- if (FlexCustomData.hasChangeApplyFinishedCustomData(oControl, oChange, oModifier) || oChange.hasApplyProcessStarted()) {
97
- return false;
98
- }
99
- return true;
106
+ checkIfDependencyIsStillValid: function(oAppComponent, oModifier, mChangesMap, sChangeId) {
107
+ var oChange = FlUtils.getChangeFromChangesMap(mChangesMap.mChanges, sChangeId);
108
+ var oControl = oModifier.bySelector(oChange.getSelector(), oAppComponent);
109
+ return FlexCustomData.hasChangeApplyFinishedCustomData(oControl, oChange, oModifier)
110
+ .then(isDependencyStillValid.bind(null, oChange));
100
111
  }
101
112
  };
102
113
 
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.Preprocessor
29
29
  * @experimental
30
30
  * @since 1.74
31
- * @version 1.92.0
31
+ * @version 1.93.3
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.fl.apply._internal
34
34
  */
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.Registration
19
19
  * @experimental
20
20
  * @since 1.74
21
- * @version 1.92.0
21
+ * @version 1.93.3
22
22
  * @private
23
23
  * @ui5-restricted sap.ui.fl.apply._internal
24
24
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild
22
22
  * @experimental
23
23
  * @since 1.77
24
- * @version 1.92.0
24
+ * @version 1.93.3
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl.apply._internal
27
27
  */
@@ -139,7 +139,7 @@ sap.ui.define([
139
139
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.AddAnnotationsToOData
140
140
  * @experimental
141
141
  * @since 1.87
142
- * @version 1.92.0
142
+ * @version 1.93.3
143
143
  * @private
144
144
  * @ui5-restricted sap.ui.fl.apply._internal
145
145
  */
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.ChangeDataSouce
28
28
  * @experimental
29
- * @version 1.92.0
29
+ * @version 1.93.3
30
30
  * @private
31
31
  * @ui5-restricted sap.ui.fl.apply._internal
32
32
  */
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  *
26
26
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.ChangeInbound
27
27
  * @experimental
28
- * @version 1.92.0
28
+ * @version 1.93.3
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl.apply._internal
31
31
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.SetTitle
22
22
  * @experimental
23
- * @version 1.92.0
23
+ * @version 1.93.3
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.fiori.SetRegistrationIds
22
22
  * @experimental
23
- * @version 1.92.0
23
+ * @version 1.93.3
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.AddNewCard
21
21
  * @experimental
22
- * @version 1.92.0
22
+ * @version 1.93.3
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.ChangeCard
21
21
  * @experimental
22
- * @version 1.92.0
22
+ * @version 1.93.3
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.DeleteCard
21
21
  * @experimental
22
- * @version 1.92.0
22
+ * @version 1.93.3
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddComponentUsages
22
22
  * @experimental
23
23
  * @since 1.86
24
- * @version 1.92.0
24
+ * @version 1.93.3
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl.apply._internal
27
27
  */
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddLibrary
50
50
  * @experimental
51
51
  * @since 1.74
52
- * @version 1.92.0
52
+ * @version 1.93.3
53
53
  * @private
54
54
  * @ui5-restricted sap.ui.fl.apply._internal
55
55
  */
@@ -97,7 +97,7 @@ sap.ui.define([
97
97
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddNewModel
98
98
  * @experimental
99
99
  * @since 1.87
100
- * @version 1.92.0
100
+ * @version 1.93.3
101
101
  * @private
102
102
  * @ui5-restricted sap.ui.fl.apply._internal
103
103
  */
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddNewModelEnhanceWith
26
26
  * @experimental
27
- * @version 1.92.0
27
+ * @version 1.93.3
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.fl.apply._internal
30
30
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.SetFlexExtensionPointEnabled
22
22
  * @experimental
23
- * @version 1.92.0
23
+ * @version 1.93.3
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.SetMinUI5Version
24
24
  * @experimental
25
- * @version 1.92.0
25
+ * @version 1.93.3
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl.apply._internal
28
28
  */
@@ -12,7 +12,7 @@ sap.ui.define([], function () {
12
12
  *
13
13
  * @namespace sap.ui.fl.initial._internal.connectors.Utils
14
14
  * @since 1.70
15
- * @version 1.92.0
15
+ * @version 1.93.3
16
16
  * @private
17
17
  * @ui5-restricted sap.ui.fl.initial._internal, sap.ui.fl.write._internal
18
18
  */
@@ -32,7 +32,7 @@ function(
32
32
  * @class
33
33
  * @constructor
34
34
  * @author SAP SE
35
- * @version 1.92.0
35
+ * @version 1.93.3
36
36
  */
37
37
  var Processor;
38
38
 
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * @namespace sap.ui.fl.apply._internal.flexState.FlexState
71
71
  * @experimental
72
72
  * @since 1.73
73
- * @version 1.92.0
73
+ * @version 1.93.3
74
74
  * @private
75
75
  * @ui5-restricted sap.ui.fl.apply._internal
76
76
  */
@@ -97,6 +97,7 @@ sap.ui.define([
97
97
  pathInResponse: ["comp.variants", "comp.standardVariants", "comp.defaultVariants", "comp.changes"]
98
98
  }
99
99
  };
100
+ var _mExternalCompVariantInputData = {};
100
101
 
101
102
  function updateComponentData(mPropertyBag) {
102
103
  var oComponent = Component.get(mPropertyBag.componentId);
@@ -332,6 +333,17 @@ sap.ui.define([
332
333
  }
333
334
  };
334
335
 
336
+ FlexState.setInitialNonFlCompVariantData = function(sReference, sPersistencyKey, oStandardVariant, aVariants) {
337
+ _mExternalCompVariantInputData[sReference] = {};
338
+ _mExternalCompVariantInputData[sReference][sPersistencyKey] = {};
339
+ _mExternalCompVariantInputData[sReference][sPersistencyKey].standardVariant = oStandardVariant;
340
+ _mExternalCompVariantInputData[sReference][sPersistencyKey].variants = aVariants;
341
+ };
342
+
343
+ FlexState.getInitialNonFlCompVariantData = function(sReference) {
344
+ return _mExternalCompVariantInputData[sReference];
345
+ };
346
+
335
347
  /**
336
348
  * Removes the saved filtered storage response and internal maps for the given reference.
337
349
  * The next initialize call will add it again.
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @namespace sap.ui.fl.apply._internal.flexState.Loader
30
30
  * @experimental
31
31
  * @since 1.74
32
- * @version 1.92.0
32
+ * @version 1.93.3
33
33
  * @private
34
34
  * @ui5-restricted sap.ui.fl.apply._internal.flexState
35
35
  */
@@ -37,7 +37,7 @@ function(
37
37
  * @namespace sap.ui.fl.apply._internal.flexState.ManifestUtils
38
38
  * @experimental
39
39
  * @since 1.74
40
- * @version 1.92.0
40
+ * @version 1.93.3
41
41
  * @private
42
42
  */
43
43
  var ManifestUtils = {
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @namespace sap.ui.fl.apply._internal.flexState.UI2Personalization.UI2PersonalizationState
20
20
  * @experimental Since 1.75
21
21
  * @since 1.75
22
- * @version 1.92.0
22
+ * @version 1.93.3
23
23
  * @private
24
24
  * @ui5-restricted
25
25
  */
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @namespace sap.ui.fl.apply._internal.flexState.changes.DependencyHandler
24
24
  * @experimental
25
25
  * @since 1.74
26
- * @version 1.92.0
26
+ * @version 1.93.3
27
27
  * @private
28
28
  * @ui5-restricted sap.ui.fl
29
29
  */
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @namespace sap.ui.fl.apply._internal.flexState.changes.ExtensionPointState
27
27
  * @experimental Since 1.79
28
28
  * @since 1.79
29
- * @version 1.92.0
29
+ * @version 1.93.3
30
30
  * @private
31
31
  * @ui5-restricted
32
32
  */
@@ -114,7 +114,7 @@ sap.ui.define([
114
114
  *
115
115
  * @namespace sap.ui.fl.apply._internal.flexState.compVariants.CompVariantMerger
116
116
  * @since 1.86
117
- * @version 1.92.0
117
+ * @version 1.93.3
118
118
  * @private
119
119
  * @ui5-restricted sap.ui.fl
120
120
  */
@@ -179,7 +179,7 @@ sap.ui.define([
179
179
  *
180
180
  * @function
181
181
  * @since 1.89
182
- * @version 1.92.0
182
+ * @version 1.93.3
183
183
  * @private
184
184
  * @ui5-restricted sap.ui.fl
185
185
  *
@@ -95,7 +95,7 @@ sap.ui.define([
95
95
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.Switcher
96
96
  * @experimental Since 1.74
97
97
  * @since 1.74
98
- * @version 1.92.0
98
+ * @version 1.93.3
99
99
  * @private
100
100
  * @ui5-restricted
101
101
  */
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @namespace sap.ui.fl.apply._internal.flexState.controlVariants.VariantManagementState
46
46
  * @experimental Since 1.74
47
47
  * @since 1.74
48
- * @version 1.92.0
48
+ * @version 1.93.3
49
49
  * @private
50
50
  * @ui5-restricted
51
51
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @namespace sap.ui.fl.apply.api.ControlVariantApplyAPI
22
22
  * @experimental Since 1.67
23
23
  * @since 1.67
24
- * @version 1.92.0
24
+ * @version 1.93.3
25
25
  * @public
26
26
  */
27
27
  var ControlVariantApplyAPI = /** @lends sap.ui.fl.apply.api.ControlVariantApplyAPI */{
@@ -49,6 +49,8 @@ sap.ui.define([
49
49
  }).then(function () {
50
50
  var sPersistencyKey = CompVariantUtils.getPersistencyKey(oControl);
51
51
  var mCompVariantsMap = FlexState.getCompVariantsMap(sReference);
52
+ //Store external input data to FlexState so they can be restored after invalidating cache
53
+ FlexState.setInitialNonFlCompVariantData(sReference, sPersistencyKey, mPropertyBag.standardVariant, mPropertyBag.variants);
52
54
  return mCompVariantsMap._initialize(sPersistencyKey, mPropertyBag.variants);
53
55
  });
54
56
  }
@@ -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.92.0
23
+ * @version 1.93.3
24
24
  * @since 1.72
25
25
  * @private
26
26
  */
@@ -33,6 +33,7 @@ sap.ui.define([
33
33
  * @param {sap.ui.core.Control} oControl Control that matches the change selector for applying the change
34
34
  * @param {object} mPropertyBag Map of properties
35
35
  * @param {object} mPropertyBag.modifier Modifier for the controls
36
+ * @returns {Promise} Promise resolving when the change is successfully applied
36
37
  * @ui5-restricted sap.ui.fl
37
38
  */
38
39
  AddIFrame.applyChange = function(oChange, oControl, mPropertyBag) {
@@ -40,14 +41,27 @@ sap.ui.define([
40
41
  var oChangeDefinition = oChange.getDefinition();
41
42
  var oView = mPropertyBag.view;
42
43
  var sAggregationName = oChangeDefinition.content.targetAggregation;
43
- var oAggregationDefinition = oModifier.findAggregation(oControl, sAggregationName);
44
- if (!oAggregationDefinition) {
45
- throw new Error("The given Aggregation is not available in the given control: " + oModifier.getId(oControl));
46
- }
47
- var iIndex = getTargetAggregationIndex(oChange, oControl, mPropertyBag);
48
- var oIFrame = createIFrame(oChange, mPropertyBag, oChangeDefinition.content.selector);
49
- oModifier.insertAggregation(oControl, sAggregationName, oIFrame, iIndex, oView);
50
- oChange.setRevertData([oModifier.getId(oIFrame)]);
44
+ var iIndex;
45
+ var oIFrame;
46
+ return Promise.resolve()
47
+ .then(oModifier.findAggregation.bind(oModifier, oControl, sAggregationName))
48
+ .then(function(oAggregationDefinition) {
49
+ if (!oAggregationDefinition) {
50
+ throw new Error("The given Aggregation is not available in the given control: " + oModifier.getId(oControl));
51
+ }
52
+ return getTargetAggregationIndex(oChange, oControl, mPropertyBag);
53
+ })
54
+ .then(function(iRetrievedIndex) {
55
+ iIndex = iRetrievedIndex;
56
+ return createIFrame(oChange, mPropertyBag, oChangeDefinition.content.selector);
57
+ })
58
+ .then(function(oCreatedIFrame) {
59
+ oIFrame = oCreatedIFrame;
60
+ return oModifier.insertAggregation(oControl, sAggregationName, oIFrame, iIndex, oView);
61
+ })
62
+ .then(function() {
63
+ oChange.setRevertData([oModifier.getId(oIFrame)]);
64
+ });
51
65
  };
52
66
 
53
67
  /**