@openui5/sap.ui.fl 1.129.0 → 1.130.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +3 -3
  3. package/src/sap/ui/fl/.library +1 -1
  4. package/src/sap/ui/fl/ChangePersistence.js +26 -38
  5. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  6. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  7. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  8. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  9. package/src/sap/ui/fl/FlexController.js +1 -1
  10. package/src/sap/ui/fl/FlexControllerFactory.js +1 -1
  11. package/src/sap/ui/fl/LayerUtils.js +1 -1
  12. package/src/sap/ui/fl/Utils.js +8 -8
  13. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  14. package/src/sap/ui/fl/apply/_internal/appVariant/DescriptorChangeTypes.js +2 -1
  15. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +152 -197
  16. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +23 -17
  17. package/src/sap/ui/fl/apply/_internal/changes/Reverter.js +27 -37
  18. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +26 -31
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +3 -2
  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 +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewOutbound.js +1 -1
  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/SetTitle.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetCloudDevAdaptationStatus.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/ChangeModel.js +78 -0
  45. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/extensionPoint/Registry.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexObjects/AnnotationChange.js +1 -1
  51. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -1
  56. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +7 -3
  57. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
  59. package/src/sap/ui/fl/apply/_internal/flexObjects/getVariantAuthor.js +1 -1
  60. package/src/sap/ui/fl/apply/_internal/flexState/FlexObjectState.js +1 -1
  61. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +34 -13
  62. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  63. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  64. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  65. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  66. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  67. package/src/sap/ui/fl/apply/_internal/flexState/changes/UIChangesState.js +1 -1
  68. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantManagementState.js +108 -0
  69. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  70. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  71. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +57 -9
  72. package/src/sap/ui/fl/apply/_internal/preprocessors/ComponentLifecycleHooks.js +2 -2
  73. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
  74. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +6 -6
  75. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
  76. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +25 -10
  77. package/src/sap/ui/fl/apply/api/SmartVariantManagementApplyAPI.js +18 -45
  78. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  79. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  80. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  81. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  82. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  83. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  84. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  85. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  86. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  87. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  88. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  89. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  90. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  91. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  92. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  93. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  94. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  95. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  96. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  97. package/src/sap/ui/fl/initial/_internal/FlexConfiguration.js +1 -1
  98. package/src/sap/ui/fl/initial/_internal/Storage.js +37 -1
  99. package/src/sap/ui/fl/initial/_internal/StorageFeaturesMerger.js +1 -1
  100. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  101. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +3 -2
  102. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  103. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  104. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  105. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +15 -1
  106. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  107. package/src/sap/ui/fl/library.js +43 -43
  108. package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +1 -1
  109. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
  110. package/src/sap/ui/fl/support/_internal/getFlexObjectInfos.js +1 -1
  111. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  112. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  113. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  114. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  115. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  116. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  117. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  118. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  119. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  120. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  121. package/src/sap/ui/fl/util/DescriptorChangeCheck.js +35 -16
  122. package/src/sap/ui/fl/util/IFrame.js +1 -1
  123. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  124. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  125. package/src/sap/ui/fl/variants/VariantModel.js +33 -11
  126. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  127. package/src/sap/ui/fl/write/_internal/Versions.js +7 -3
  128. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  129. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  130. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  131. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +34 -1
  132. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +163 -176
  133. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +62 -61
  134. package/src/sap/ui/fl/write/_internal/condenser/Utils.js +17 -19
  135. package/src/sap/ui/fl/write/_internal/condenser/classifications/Create.js +13 -13
  136. package/src/sap/ui/fl/write/_internal/condenser/classifications/Destroy.js +17 -19
  137. package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +32 -35
  138. package/src/sap/ui/fl/write/_internal/condenser/classifications/Update.js +2 -10
  139. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  140. package/src/sap/ui/fl/write/_internal/connectors/BtpServiceConnector.js +1 -1
  141. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  142. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +56 -4
  143. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  144. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  145. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  146. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  147. package/src/sap/ui/fl/write/_internal/controlVariants/ControlVariantWriteUtils.js +59 -0
  148. package/src/sap/ui/fl/write/_internal/delegates/ODataV2ReadDelegate.js +1 -2
  149. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  150. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  151. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  152. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  153. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  154. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  155. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  156. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  157. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  158. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  159. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  160. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  161. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  162. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  163. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectManager.js +33 -2
  164. package/src/sap/ui/fl/write/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  165. package/src/sap/ui/fl/write/_internal/flexState/changes/UIChangeManager.js +26 -3
  166. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +20 -12
  167. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  168. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  169. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +73 -3
  170. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
  171. package/src/sap/ui/fl/write/api/LocalResetAPI.js +17 -27
  172. package/src/sap/ui/fl/write/api/VersionsAPI.js +26 -4
@@ -31,19 +31,19 @@ sap.ui.define([
31
31
  * @namespace
32
32
  * @alias sap.ui.fl.write._internal.condenser.UIReconstruction
33
33
  * @author SAP SE
34
- * @version 1.129.0
34
+ * @version 1.130.1
35
35
  */
36
- var UIReconstruction = {};
36
+ const UIReconstruction = {};
37
37
 
38
- var INDEX_RELATED = {
38
+ const INDEX_RELATED = {
39
39
  create: Create,
40
40
  destroy: Destroy,
41
41
  move: Move
42
42
  };
43
43
 
44
44
  function forEveryMapInMap(mMap, fnCallback) {
45
- each(mMap, function(sOuterKey, mOuterMap) {
46
- each(mOuterMap, function(sInnerKey, mInnerMap) {
45
+ each(mMap, (sOuterKey, mOuterMap) => {
46
+ each(mOuterMap, (sInnerKey, mInnerMap) => {
47
47
  fnCallback(mOuterMap, sOuterKey, mInnerMap, sInnerKey);
48
48
  });
49
49
  });
@@ -68,20 +68,20 @@ sap.ui.define([
68
68
  * @returns {Map} Simulation of the UI reconstruction
69
69
  */
70
70
  function defineContainersMap(mUIReconstructions, aCondenserInfos) {
71
- var mContainers = {};
72
- forEveryMapInMap(mUIReconstructions, function(mUIState, sContainerKey, mUIAggregationState, sAggregationName) {
73
- var aTargetElementIds = mUIAggregationState[Utils.TARGET_UI];
74
- var aSourceElementIds = mUIAggregationState[Utils.INITIAL_UI];
71
+ const mContainers = {};
72
+ forEveryMapInMap(mUIReconstructions, (mUIState, sContainerKey, mUIAggregationState, sAggregationName) => {
73
+ const aTargetElementIds = mUIAggregationState[Utils.TARGET_UI];
74
+ const aSourceElementIds = mUIAggregationState[Utils.INITIAL_UI];
75
75
 
76
- aCondenserInfos.forEach(function(oCondenserInfo) {
77
- var bElementPartOfInitialOrTargetUi = aTargetElementIds.indexOf(oCondenserInfo.affectedControl) > -1
76
+ aCondenserInfos.forEach((oCondenserInfo) => {
77
+ const bElementPartOfInitialOrTargetUi = aTargetElementIds.indexOf(oCondenserInfo.affectedControl) > -1
78
78
  || aSourceElementIds.indexOf(oCondenserInfo.affectedControl) > -1;
79
79
 
80
80
  if (sAggregationName === oCondenserInfo.targetAggregation && bElementPartOfInitialOrTargetUi) {
81
81
  mContainers[sContainerKey] ||= {};
82
- var mAggregations = mContainers[sContainerKey];
82
+ const mAggregations = mContainers[sContainerKey];
83
83
  mAggregations[sAggregationName] ||= [];
84
- var aContainerElements = mAggregations[sAggregationName];
84
+ const aContainerElements = mAggregations[sAggregationName];
85
85
  aContainerElements.push(oCondenserInfo);
86
86
  }
87
87
  });
@@ -96,7 +96,7 @@ sap.ui.define([
96
96
  * @returns {boolean} <code>true</code> if the array of condenser info objects contains only changes of type 'create'
97
97
  */
98
98
  function containsOnlyCreateChanges(aCondenserInfos) {
99
- return !aCondenserInfos.some(function(vElement) {
99
+ return !aCondenserInfos.some((vElement) => {
100
100
  return vElement.classification !== CondenserClassification.Create;
101
101
  });
102
102
  }
@@ -108,7 +108,7 @@ sap.ui.define([
108
108
  * @returns {boolean} <code>true</code> if the array of elements contains no unknown elements
109
109
  */
110
110
  function containsNoPlaceholder(aElements) {
111
- return !aElements.some(function(vElement) {
111
+ return !aElements.some((vElement) => {
112
112
  return Utils.isUnknown(vElement);
113
113
  });
114
114
  }
@@ -129,9 +129,9 @@ sap.ui.define([
129
129
  * @param {object[]} aCondenserInfos - Array of condenser info objects
130
130
  */
131
131
  function sortAscendingByTargetIndex(aCondenserInfos) {
132
- aCondenserInfos.sort(function(a, b) {
133
- var iCurrentTargetIndex = getTargetIndex(a);
134
- var iNextTargetIndex = getTargetIndex(b);
132
+ aCondenserInfos.sort((a, b) => {
133
+ const iCurrentTargetIndex = getTargetIndex(a);
134
+ const iNextTargetIndex = getTargetIndex(b);
135
135
  return iCurrentTargetIndex - iNextTargetIndex;
136
136
  });
137
137
  }
@@ -143,7 +143,7 @@ sap.ui.define([
143
143
  * @returns {boolean} <code>true</code> if the array of elements contains an unknown element
144
144
  */
145
145
  function containsOnlyPlaceholder(aElements) {
146
- return !aElements.some(function(vElement) {
146
+ return !aElements.some((vElement) => {
147
147
  return !Utils.isUnknown(vElement);
148
148
  });
149
149
  }
@@ -156,7 +156,7 @@ sap.ui.define([
156
156
  * @returns {boolean} <code>true</code> if the passed arrays are equal
157
157
  */
158
158
  function isEqual(a, b) {
159
- var c;
159
+ let c;
160
160
  if (a.length < b.length) {
161
161
  c = b.slice(a.length);
162
162
  if (!containsOnlyPlaceholder(c)) {
@@ -184,20 +184,20 @@ sap.ui.define([
184
184
  * @returns {boolean} <code>true</code> if the simulated and the target UI reconstructions are equal
185
185
  */
186
186
  function isEqualReconstructedUI(sContainerKey, sAggregationName, aInitialUIElementIds, aTargetUIElementIds, aCondenserInfos) {
187
- var mUISimulatedStates = {};
187
+ const mUISimulatedStates = {};
188
188
 
189
- aCondenserInfos.forEach(function(oCondenserInfo) {
190
- var sContainerKey = oCondenserInfo.targetContainer;
189
+ aCondenserInfos.forEach((oCondenserInfo) => {
190
+ const sContainerKey = oCondenserInfo.targetContainer;
191
191
  mUISimulatedStates[sContainerKey] ||= {};
192
- var mUIAggregationState = mUISimulatedStates[sContainerKey];
192
+ const mUIAggregationState = mUISimulatedStates[sContainerKey];
193
193
  mUIAggregationState[sAggregationName] ||= Utils.initializeArrayWithPlaceholders(0, aInitialUIElementIds.length - 1);
194
194
 
195
195
  INDEX_RELATED[oCondenserInfo.classification].simulate(mUIAggregationState[sAggregationName], oCondenserInfo, aInitialUIElementIds);
196
196
  });
197
197
 
198
- var aSortedUIElementIds = mUISimulatedStates[sContainerKey][sAggregationName];
198
+ const aSortedUIElementIds = mUISimulatedStates[sContainerKey][sAggregationName];
199
199
  if (isEqual(aTargetUIElementIds, aSortedUIElementIds)) {
200
- aCondenserInfos.forEach(function(oCondenserInfo) {
200
+ aCondenserInfos.forEach((oCondenserInfo) => {
201
201
  if (oCondenserInfo.sameIndex) {
202
202
  oCondenserInfo.change.condenserState = "delete";
203
203
  }
@@ -219,7 +219,7 @@ sap.ui.define([
219
219
  // setting the target index will most likely make the change dirty,
220
220
  // but the condenser needs the current state of the change.
221
221
  // so in this function the state should not change
222
- var sOldState = oCondenserInfo.change.getState();
222
+ const sOldState = oCondenserInfo.change.getState();
223
223
  oCondenserInfo.setTargetIndex(oCondenserInfo.change, iIndex);
224
224
  oCondenserInfo.change.setState(sOldState);
225
225
  if (oCondenserInfo.change.isPersisted()) {
@@ -229,11 +229,11 @@ sap.ui.define([
229
229
  }
230
230
 
231
231
  function adjustReconstructionMap(mUIStates, sContainerId, mUIAggregationState) {
232
- mUIAggregationState[Utils.TARGET_UI].forEach(function(sTargetElementId, iIndex) {
232
+ mUIAggregationState[Utils.TARGET_UI].forEach((sTargetElementId, iIndex) => {
233
233
  if (!Utils.isUnknown(sTargetElementId)) {
234
- var mTypes = mReducedChanges[sTargetElementId];
235
- var mAggregations = mTypes[Utils.INDEX_RELEVANT];
236
- forEveryMapInMap(mAggregations, function(mSubtypes, sAggregationName, aCondenserInfos, sSubtypeKey) {
234
+ const mTypes = mReducedChanges[sTargetElementId];
235
+ const mAggregations = mTypes[Utils.INDEX_RELEVANT];
236
+ forEveryMapInMap(mAggregations, (mSubtypes, sAggregationName, aCondenserInfos, sSubtypeKey) => {
237
237
  if (sSubtypeKey !== CondenserClassification.Destroy) {
238
238
  aCondenserInfos.forEach(updateCondenserChange.bind(this, iIndex));
239
239
  }
@@ -247,21 +247,22 @@ sap.ui.define([
247
247
 
248
248
  /**
249
249
  * Compares the initial and target UI reconstructions of the corresponding container.
250
- * If the UI reconstructions are equal, the corresponding index-related changes will be removed from the data structure with the reduced changes.
250
+ * If the UI reconstructions are equal, the corresponding index-related changes will be removed
251
+ * from the data structure with the reduced changes.
251
252
  *
252
253
  * @param {Map} mReducedChanges - Map of reduced changes
253
254
  * @param {Map} mUIReconstructions - Map of UI reconstructions
254
255
  */
255
256
  function compareUIReconstructions(mReducedChanges, mUIReconstructions) {
256
- forEveryMapInMap(mUIReconstructions, function(mUIStates, sContainerId, mUIAggregationState, sKey) {
257
- var aInitialElementIds = mUIAggregationState[Utils.INITIAL_UI];
258
- var aTargetElementIds = mUIAggregationState[Utils.TARGET_UI];
257
+ forEveryMapInMap(mUIReconstructions, (mUIStates, sContainerId, mUIAggregationState, sKey) => {
258
+ const aInitialElementIds = mUIAggregationState[Utils.INITIAL_UI];
259
+ const aTargetElementIds = mUIAggregationState[Utils.TARGET_UI];
259
260
  if (isEqual(aInitialElementIds, aTargetElementIds)) {
260
- aTargetElementIds.forEach(function(sTargetElementId) {
261
- var mTypes = mReducedChanges[sTargetElementId];
261
+ aTargetElementIds.forEach((sTargetElementId) => {
262
+ const mTypes = mReducedChanges[sTargetElementId];
262
263
  if (mTypes !== undefined) {
263
- forEveryMapInMap(mTypes[Utils.INDEX_RELEVANT], function(mSubtypes, sAggregationName, aCondenserInfos) {
264
- aCondenserInfos.forEach(function(oCondenserInfo) {
264
+ forEveryMapInMap(mTypes[Utils.INDEX_RELEVANT], (mSubtypes, sAggregationName, aCondenserInfos) => {
265
+ aCondenserInfos.forEach((oCondenserInfo) => {
265
266
  oCondenserInfo.change.condenserState = "delete";
266
267
  });
267
268
  });
@@ -281,14 +282,14 @@ sap.ui.define([
281
282
  * @param {Map} mUIReconstructions - Map of UI reconstructions
282
283
  */
283
284
  function updateTargetUIReconstructions(mReducedChanges, mUIReconstructions) {
284
- forEveryMapInMap(mUIReconstructions, function(mUIStates, sContainerId, mUIAggregationState, sAggregationName) {
285
- var aInitialElementIds = mUIAggregationState[Utils.INITIAL_UI];
286
- var aTargetElementIds = mUIAggregationState[Utils.TARGET_UI];
287
- aInitialElementIds.forEach(function(initialElementId, index) {
288
- var mTypes = mReducedChanges[initialElementId];
285
+ forEveryMapInMap(mUIReconstructions, (mUIStates, sContainerId, mUIAggregationState, sAggregationName) => {
286
+ const aInitialElementIds = mUIAggregationState[Utils.INITIAL_UI];
287
+ const aTargetElementIds = mUIAggregationState[Utils.TARGET_UI];
288
+ aInitialElementIds.forEach((initialElementId, index) => {
289
+ const mTypes = mReducedChanges[initialElementId];
289
290
  if (!mTypes || !ObjectPath.get([Utils.INDEX_RELEVANT, sAggregationName], mTypes)) {
290
- var sPlaceholder = Utils.PLACEHOLDER + index;
291
- var iTargetIndex = aTargetElementIds.indexOf(initialElementId);
291
+ const sPlaceholder = Utils.PLACEHOLDER + index;
292
+ const iTargetIndex = aTargetElementIds.indexOf(initialElementId);
292
293
  if (iTargetIndex >= 0) {
293
294
  aTargetElementIds[iTargetIndex] = sPlaceholder;
294
295
  }
@@ -305,10 +306,10 @@ sap.ui.define([
305
306
  * @param {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} aAllReducedChanges - Array of all reduced changes
306
307
  */
307
308
  UIReconstruction.swapChanges = function(aSortedIndexRelatedChanges, aAllReducedChanges) {
308
- var aIndexes = aSortedIndexRelatedChanges.map(function(oChange) {
309
+ const aIndexes = aSortedIndexRelatedChanges.map((oChange) => {
309
310
  return aAllReducedChanges.indexOf(oChange);
310
311
  }).sort();
311
- aSortedIndexRelatedChanges.forEach(function(oChange) {
312
+ aSortedIndexRelatedChanges.forEach((oChange) => {
312
313
  aAllReducedChanges[aIndexes.shift()] = oChange;
313
314
  });
314
315
  };
@@ -321,13 +322,13 @@ sap.ui.define([
321
322
  * @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} Sorted array of index-related changes
322
323
  */
323
324
  UIReconstruction.sortIndexRelatedChanges = function(mUIReconstructions, aCondenserInfos) {
324
- var aSortedIndexRelatedChangesPerContainer = [];
325
- var mContainers = defineContainersMap(mUIReconstructions, aCondenserInfos);
325
+ const aSortedIndexRelatedChangesPerContainer = [];
326
+ const mContainers = defineContainersMap(mUIReconstructions, aCondenserInfos);
326
327
 
327
- forEveryMapInMap(mContainers, function(mAggregations, sContainerKey, aCondenserInfos, sAggregationName) {
328
- var aTargetElementIds = mUIReconstructions[sContainerKey][sAggregationName][Utils.TARGET_UI];
329
- var aInitialElementIds = mUIReconstructions[sContainerKey][sAggregationName][Utils.INITIAL_UI];
330
- var bCorrectSortingFound = true;
328
+ forEveryMapInMap(mContainers, (mAggregations, sContainerKey, aCondenserInfos, sAggregationName) => {
329
+ const aTargetElementIds = mUIReconstructions[sContainerKey][sAggregationName][Utils.TARGET_UI];
330
+ const aInitialElementIds = mUIReconstructions[sContainerKey][sAggregationName][Utils.INITIAL_UI];
331
+ let bCorrectSortingFound = true;
331
332
 
332
333
  if (
333
334
  containsNoPlaceholder(aTargetElementIds)
@@ -339,10 +340,10 @@ sap.ui.define([
339
340
  bCorrectSortingFound = isEqualReconstructedUI(sContainerKey, sAggregationName, aInitialElementIds, aTargetElementIds, aCondenserInfos);
340
341
  } else if (!isEqualReconstructedUI(sContainerKey, sAggregationName, aInitialElementIds, aTargetElementIds, aCondenserInfos)) {
341
342
  bCorrectSortingFound = false;
342
- var iTimes = aCondenserInfos.length;
343
+ let iTimes = aCondenserInfos.length;
343
344
  while (iTimes !== 0 && !bCorrectSortingFound) {
344
- var iOldIndex = 0;
345
- var iNewIndex = 1;
345
+ let iOldIndex = 0;
346
+ let iNewIndex = 1;
346
347
  // TODO implement intelligent / efficient sorting -> smart sort
347
348
  while (iNewIndex < aCondenserInfos.length && !bCorrectSortingFound) {
348
349
  shiftElement(aCondenserInfos, iOldIndex, iNewIndex);
@@ -358,11 +359,11 @@ sap.ui.define([
358
359
  throw Error(`no correct sorting found for the container: ${sContainerKey}`);
359
360
  }
360
361
 
361
- aCondenserInfos = aCondenserInfos.filter(function(oCondenserInfo) {
362
+ aCondenserInfos = aCondenserInfos.filter((oCondenserInfo) => {
362
363
  return oCondenserInfo.change.condenserState !== "delete";
363
364
  });
364
365
 
365
- aSortedIndexRelatedChangesPerContainer.push(aCondenserInfos.map(function(oCondenserInfo) {
366
+ aSortedIndexRelatedChangesPerContainer.push(aCondenserInfos.map((oCondenserInfo) => {
366
367
  if (oCondenserInfo.revertIndex > -1) {
367
368
  oCondenserInfo.setIndexInRevertData(oCondenserInfo.change, oCondenserInfo.revertIndex);
368
369
  oCondenserInfo.sourceIndex = oCondenserInfo.revertIndex;
@@ -374,8 +375,8 @@ sap.ui.define([
374
375
  return aSortedIndexRelatedChangesPerContainer;
375
376
  };
376
377
 
377
- UIReconstruction.addChange = function(mUIReconstructions, oCondenserInfo) {
378
- return INDEX_RELATED[oCondenserInfo.classification].addToReconstructionMap(mUIReconstructions, oCondenserInfo);
378
+ UIReconstruction.addChange = async function(mUIReconstructions, oCondenserInfo) {
379
+ await INDEX_RELATED[oCondenserInfo.classification].addToReconstructionMap(mUIReconstructions, oCondenserInfo);
379
380
  };
380
381
 
381
382
  UIReconstruction.compareAndUpdate = function(mReducedChanges, mUIReconstructions) {
@@ -13,7 +13,7 @@ sap.ui.define([
13
13
  ) {
14
14
  "use strict";
15
15
 
16
- var Utils = {};
16
+ const Utils = {};
17
17
 
18
18
  Utils.TARGET_UI = "targetUI";
19
19
  Utils.INITIAL_UI = "initialUI";
@@ -43,9 +43,9 @@ sap.ui.define([
43
43
  */
44
44
  Utils.getInitialUIContainerElementIds = function(mUIReconstructions, sContainerKey, sAggregationName, aContainerElements) {
45
45
  mUIReconstructions[sContainerKey] ||= {};
46
- var mUIStates = mUIReconstructions[sContainerKey];
46
+ const mUIStates = mUIReconstructions[sContainerKey];
47
47
  mUIStates[sAggregationName] ||= {};
48
- var mUIAggregationState = mUIStates[sAggregationName];
48
+ const mUIAggregationState = mUIStates[sAggregationName];
49
49
  mUIAggregationState[Utils.TARGET_UI] ||= aContainerElements;
50
50
  mUIAggregationState[Utils.INITIAL_UI] ||= aContainerElements.slice(0);
51
51
  return mUIAggregationState[Utils.INITIAL_UI];
@@ -60,14 +60,12 @@ sap.ui.define([
60
60
  * @param {string} [sAffectedControlIdProperty] - Property name of the ID used for the container element
61
61
  * @returns {Promise<string[]>} Array of Ids wrapped in Promise
62
62
  */
63
- Utils.getContainerElementIds = function(sContainerId, sAggregationName, aCustomAggregation, sAffectedControlIdProperty) {
64
- var oContainer = Element.getElementById(sContainerId);
63
+ Utils.getContainerElementIds = async function(sContainerId, sAggregationName, aCustomAggregation, sAffectedControlIdProperty) {
64
+ const oContainer = Element.getElementById(sContainerId);
65
65
 
66
- return Promise.resolve(aCustomAggregation || JsControlTreeModifier.getAggregation(oContainer, sAggregationName))
67
- .then(function(aContainerElements) {
68
- return aContainerElements.map(function(oElement) {
69
- return sAffectedControlIdProperty ? oElement[sAffectedControlIdProperty] : oElement.getId();
70
- });
66
+ const aContainerElements = aCustomAggregation || await JsControlTreeModifier.getAggregation(oContainer, sAggregationName);
67
+ return aContainerElements.map((oElement) => {
68
+ return sAffectedControlIdProperty ? oElement[sAffectedControlIdProperty] : oElement.getId();
71
69
  });
72
70
  };
73
71
 
@@ -79,17 +77,17 @@ sap.ui.define([
79
77
  * @returns {string} Array of Placeholders
80
78
  */
81
79
  Utils.initializeArrayWithPlaceholders = function(iTargetIndex, iSourceIndex) {
82
- var iLength = getNeededLengthOfNewArray(iSourceIndex, iTargetIndex);
83
- return Array(iLength).fill(Utils.PLACEHOLDER).map(function(sPlaceholder, iIterator) {
80
+ const iLength = getNeededLengthOfNewArray(iSourceIndex, iTargetIndex);
81
+ return Array(iLength).fill(Utils.PLACEHOLDER).map((sPlaceholder, iIterator) => {
84
82
  return sPlaceholder + iIterator;
85
83
  });
86
84
  };
87
85
 
88
86
  Utils.extendArrayWithPlaceholders = function(aElements, iSourceIndex, iTargetIndex) {
89
- var iLength = getNeededLengthOfNewArray(iSourceIndex, iTargetIndex);
87
+ const iLength = getNeededLengthOfNewArray(iSourceIndex, iTargetIndex);
90
88
  if (aElements.length < iLength) {
91
- var sUnknown;
92
- for (var i = aElements.length; i <= iLength; i++) {
89
+ let sUnknown;
90
+ for (let i = aElements.length; i <= iLength; i++) {
93
91
  sUnknown = Utils.PLACEHOLDER + (aElements.length);
94
92
  aElements.splice(aElements.length, 0, sUnknown);
95
93
  }
@@ -107,8 +105,8 @@ sap.ui.define([
107
105
  Utils.extendElementsArray = function(aElements, iSourceIndex, iTargetIndex, sAffectedControlId) {
108
106
  Utils.extendArrayWithPlaceholders(aElements, iSourceIndex, iTargetIndex);
109
107
 
110
- var iCurrentIndex = aElements.indexOf(sAffectedControlId);
111
- var iUnknownIndex = aElements.indexOf(Utils.PLACEHOLDER + iSourceIndex);
108
+ const iCurrentIndex = aElements.indexOf(sAffectedControlId);
109
+ const iUnknownIndex = aElements.indexOf(Utils.PLACEHOLDER + iSourceIndex);
112
110
  if (
113
111
  iCurrentIndex !== iSourceIndex
114
112
  && iSourceIndex !== undefined
@@ -145,8 +143,8 @@ sap.ui.define([
145
143
  sValue !== undefined
146
144
  && sValue.indexOf(Utils.PLACEHOLDER) === 0
147
145
  ) {
148
- var sResult = sValue.slice(1, sValue.length);
149
- var iParsedIndex = parseInt(sResult);
146
+ const sResult = sValue.slice(1, sValue.length);
147
+ const iParsedIndex = parseInt(sResult);
150
148
  if (isNaN(iParsedIndex)) {
151
149
  return false;
152
150
  }
@@ -21,21 +21,21 @@ sap.ui.define([
21
21
  * @param {object} oCondenserInfo - Condenser specific information
22
22
  * @returns {Promise} resolves when a create change is added to UI Reconstruction Map
23
23
  */
24
- addToReconstructionMap(mUIReconstructions, oCondenserInfo) {
25
- var oAffectedControl = Element.getElementById(oCondenserInfo.affectedControl);
26
- var sAggregationName = oCondenserInfo.targetAggregation || oAffectedControl && oAffectedControl.sParentAggregationName;
27
- return CondenserUtils.getContainerElementIds(
24
+ async addToReconstructionMap(mUIReconstructions, oCondenserInfo) {
25
+ const oAffectedControl = Element.getElementById(oCondenserInfo.affectedControl);
26
+ const sAggregationName = oCondenserInfo.targetAggregation || oAffectedControl && oAffectedControl.sParentAggregationName;
27
+ const aTargetContainerElementIds = await CondenserUtils.getContainerElementIds(
28
28
  oCondenserInfo.targetContainer, sAggregationName,
29
29
  oCondenserInfo.customAggregation, oCondenserInfo.affectedControlIdProperty
30
- )
31
- .then(function(aTargetContainerElementIds) {
32
- var aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(mUIReconstructions, oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation, aTargetContainerElementIds);
33
- var iIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
34
- // if the index is -1 the element was already removed by a different add change
35
- if (iIndex > -1) {
36
- aContainerElementIds.splice(iIndex, 1);
37
- }
38
- });
30
+ );
31
+ const aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
32
+ mUIReconstructions, oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation, aTargetContainerElementIds
33
+ );
34
+ const iIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
35
+ // if the index is -1 the element was already removed by a different add change
36
+ if (iIndex > -1) {
37
+ aContainerElementIds.splice(iIndex, 1);
38
+ }
39
39
  },
40
40
 
41
41
  /**
@@ -19,26 +19,24 @@ sap.ui.define([
19
19
  * @param {object} oCondenserInfo - Condenser specific information
20
20
  * @returns {Promise} resolves when a destroy change is added to UI Reconstruction Map
21
21
  */
22
- addToReconstructionMap(mUIReconstructions, oCondenserInfo) {
23
- return CondenserUtils.getContainerElementIds(
22
+ async addToReconstructionMap(mUIReconstructions, oCondenserInfo) {
23
+ const aTargetContainerElementIds = await CondenserUtils.getContainerElementIds(
24
24
  oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation,
25
25
  oCondenserInfo.customAggregation, oCondenserInfo.affectedControlIdProperty
26
- )
27
- .then(function(aTargetContainerElementIds) {
28
- var aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
29
- mUIReconstructions, oCondenserInfo.targetContainer,
30
- oCondenserInfo.targetAggregation, aTargetContainerElementIds
31
- );
32
- if (aContainerElementIds.length - 1 < oCondenserInfo.sourceIndex) {
33
- while (aContainerElementIds.length - 1 < oCondenserInfo.sourceIndex) {
34
- var iIndex = aContainerElementIds.length;
35
- aContainerElementIds.splice(aContainerElementIds.length, 0, CondenserUtils.PLACEHOLDER + iIndex);
36
- }
37
- aContainerElementIds[oCondenserInfo.sourceIndex] = oCondenserInfo.affectedControl;
38
- } else {
39
- aContainerElementIds.splice(oCondenserInfo.sourceIndex, 0, oCondenserInfo.affectedControl);
26
+ );
27
+ const aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
28
+ mUIReconstructions, oCondenserInfo.targetContainer,
29
+ oCondenserInfo.targetAggregation, aTargetContainerElementIds
30
+ );
31
+ if (aContainerElementIds.length - 1 < oCondenserInfo.sourceIndex) {
32
+ while (aContainerElementIds.length - 1 < oCondenserInfo.sourceIndex) {
33
+ const iIndex = aContainerElementIds.length;
34
+ aContainerElementIds.splice(aContainerElementIds.length, 0, CondenserUtils.PLACEHOLDER + iIndex);
40
35
  }
41
- });
36
+ aContainerElementIds[oCondenserInfo.sourceIndex] = oCondenserInfo.affectedControl;
37
+ } else {
38
+ aContainerElementIds.splice(oCondenserInfo.sourceIndex, 0, oCondenserInfo.affectedControl);
39
+ }
42
40
  },
43
41
 
44
42
  /**
@@ -49,9 +47,9 @@ sap.ui.define([
49
47
  * @param {string[]} aInitialUIElementIds - Array with the Ids of the initial elements in the container
50
48
  */
51
49
  simulate(aContainerElements, oCondenserInfo, aInitialUIElementIds) {
52
- var iCurrentSourceIndex = aContainerElements.indexOf(oCondenserInfo.affectedControl);
50
+ let iCurrentSourceIndex = aContainerElements.indexOf(oCondenserInfo.affectedControl);
53
51
  if (iCurrentSourceIndex === -1) {
54
- var sUnknown = CondenserUtils.PLACEHOLDER + aInitialUIElementIds.indexOf(oCondenserInfo.affectedControl);
52
+ const sUnknown = CondenserUtils.PLACEHOLDER + aInitialUIElementIds.indexOf(oCondenserInfo.affectedControl);
55
53
  iCurrentSourceIndex = aContainerElements.indexOf(sUnknown);
56
54
  }
57
55
 
@@ -19,8 +19,8 @@ sap.ui.define([
19
19
  * @param {object} oCondenserInfo - Condenser specific information
20
20
  * @returns {Promise} resolves when a create change is added to UI Reconstruction Map
21
21
  */
22
- addToReconstructionMap(mUIReconstructions, oCondenserInfo) {
23
- return Promise.all([
22
+ async addToReconstructionMap(mUIReconstructions, oCondenserInfo) {
23
+ const [aSourceContainerElementIds, aTargetContainerElementIds] = await Promise.all([
24
24
  CondenserUtils.getContainerElementIds(
25
25
  oCondenserInfo.sourceContainer, oCondenserInfo.sourceAggregation,
26
26
  oCondenserInfo.customAggregation, oCondenserInfo.affectedControlIdProperty
@@ -29,36 +29,33 @@ sap.ui.define([
29
29
  oCondenserInfo.targetContainer, oCondenserInfo.targetAggregation,
30
30
  oCondenserInfo.customAggregation, oCondenserInfo.affectedControlIdProperty
31
31
  )
32
- ]).then(function(aSourceTargetElementIds) {
33
- var aSourceContainerElementIds = aSourceTargetElementIds[0];
34
- var aTargetContainerElementIds = aSourceTargetElementIds[1];
32
+ ]);
35
33
 
36
- var aContainerElementIds;
37
- var iTargetIndex;
38
- if (
39
- oCondenserInfo.targetContainer === oCondenserInfo.sourceContainer
40
- && oCondenserInfo.targetAggregation === oCondenserInfo.sourceAggregation
41
- ) {
42
- aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
43
- mUIReconstructions, oCondenserInfo.targetContainer,
44
- oCondenserInfo.targetAggregation, aTargetContainerElementIds
45
- );
46
- iTargetIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
47
- CondenserUtils.shiftElement(aContainerElementIds, iTargetIndex, oCondenserInfo.sourceIndex);
48
- } else {
49
- aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
50
- mUIReconstructions, oCondenserInfo.targetContainer,
51
- oCondenserInfo.targetAggregation, aTargetContainerElementIds
52
- );
53
- iTargetIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
54
- aContainerElementIds.splice(iTargetIndex, 1);
55
- aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
56
- mUIReconstructions, oCondenserInfo.sourceContainer,
57
- oCondenserInfo.sourceAggregation, aSourceContainerElementIds
58
- );
59
- aContainerElementIds.splice(oCondenserInfo.sourceIndex, 0, oCondenserInfo.affectedControl);
60
- }
61
- });
34
+ let aContainerElementIds;
35
+ let iTargetIndex;
36
+ if (
37
+ oCondenserInfo.targetContainer === oCondenserInfo.sourceContainer
38
+ && oCondenserInfo.targetAggregation === oCondenserInfo.sourceAggregation
39
+ ) {
40
+ aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
41
+ mUIReconstructions, oCondenserInfo.targetContainer,
42
+ oCondenserInfo.targetAggregation, aTargetContainerElementIds
43
+ );
44
+ iTargetIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
45
+ CondenserUtils.shiftElement(aContainerElementIds, iTargetIndex, oCondenserInfo.sourceIndex);
46
+ } else {
47
+ aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
48
+ mUIReconstructions, oCondenserInfo.targetContainer,
49
+ oCondenserInfo.targetAggregation, aTargetContainerElementIds
50
+ );
51
+ iTargetIndex = aContainerElementIds.indexOf(oCondenserInfo.affectedControl);
52
+ aContainerElementIds.splice(iTargetIndex, 1);
53
+ aContainerElementIds = CondenserUtils.getInitialUIContainerElementIds(
54
+ mUIReconstructions, oCondenserInfo.sourceContainer,
55
+ oCondenserInfo.sourceAggregation, aSourceContainerElementIds
56
+ );
57
+ aContainerElementIds.splice(oCondenserInfo.sourceIndex, 0, oCondenserInfo.affectedControl);
58
+ }
62
59
  },
63
60
 
64
61
  /**
@@ -69,13 +66,13 @@ sap.ui.define([
69
66
  * @param {string[]} aInitialUIElementIds - Array with the Ids of the initial elements in the container
70
67
  */
71
68
  simulate(aContainerElements, oCondenserInfo, aInitialUIElementIds) {
72
- var sAffectedControlId = oCondenserInfo.affectedControl;
73
- var iInitialSourceIndex = aInitialUIElementIds.indexOf(sAffectedControlId);
69
+ const sAffectedControlId = oCondenserInfo.affectedControl;
70
+ const iInitialSourceIndex = aInitialUIElementIds.indexOf(sAffectedControlId);
74
71
  // the move itself should not extend the array, just replace the placeholder
75
72
  CondenserUtils.extendElementsArray(aContainerElements, iInitialSourceIndex, undefined, sAffectedControlId);
76
73
 
77
- var iCurrentSourceIndex = aContainerElements.indexOf(sAffectedControlId);
78
- var iTargetIndex = oCondenserInfo.getTargetIndex(oCondenserInfo.change);
74
+ const iCurrentSourceIndex = aContainerElements.indexOf(sAffectedControlId);
75
+ const iTargetIndex = oCondenserInfo.getTargetIndex(oCondenserInfo.change);
79
76
 
80
77
  // if the move was done from a different container the element can't be found
81
78
  if (iInitialSourceIndex === -1) {
@@ -4,11 +4,7 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- sap.ui.define([
8
- "sap/base/util/each"
9
- ], function(
10
- each
11
- ) {
7
+ sap.ui.define([], function() {
12
8
  "use strict";
13
9
 
14
10
  return {
@@ -31,11 +27,7 @@ sap.ui.define([
31
27
  },
32
28
 
33
29
  getChangesFromMap(mObjects, sUniqueKey) {
34
- var aChanges = [];
35
- each(mObjects[sUniqueKey], function(sKey, oCondenserInfo) {
36
- aChanges.push(oCondenserInfo.change);
37
- });
38
- return aChanges;
30
+ return Object.values(mObjects[sUniqueKey]).map((oCondenserInfo) => oCondenserInfo.change);
39
31
  }
40
32
  };
41
33
  });
@@ -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.129.0
77
+ * @version 1.130.1
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.129.0
28
+ * @version 1.130.1
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl.write._internal.Storage
31
31
  */
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  *
41
41
  * @namespace sap.ui.fl.write._internal.connectors.KeyUserConnector
42
42
  * @since 1.70
43
- * @version 1.129.0
43
+ * @version 1.130.1
44
44
  * @private
45
45
  * @ui5-restricted sap.ui.fl.write._internal.Storage
46
46
  */