@openui5/sap.ui.layout 1.92.0 → 1.95.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 (64) hide show
  1. package/.reuse/dep5 +1 -6
  2. package/THIRDPARTY.txt +4 -10
  3. package/package.json +2 -2
  4. package/src/sap/ui/layout/.library +1 -1
  5. package/src/sap/ui/layout/AlignedFlowLayout.js +7 -3
  6. package/src/sap/ui/layout/AssociativeSplitter.js +1 -1
  7. package/src/sap/ui/layout/BlockLayout.js +1 -1
  8. package/src/sap/ui/layout/BlockLayoutCell.js +1 -1
  9. package/src/sap/ui/layout/BlockLayoutCellData.js +1 -1
  10. package/src/sap/ui/layout/BlockLayoutRow.js +1 -1
  11. package/src/sap/ui/layout/DynamicSideContent.js +1 -1
  12. package/src/sap/ui/layout/FixFlex.js +1 -1
  13. package/src/sap/ui/layout/Grid.js +1 -1
  14. package/src/sap/ui/layout/GridData.js +1 -1
  15. package/src/sap/ui/layout/GridRenderer.js +1 -1
  16. package/src/sap/ui/layout/HorizontalLayout.js +1 -1
  17. package/src/sap/ui/layout/PaneContainer.js +1 -1
  18. package/src/sap/ui/layout/ResponsiveFlowLayout.js +1 -1
  19. package/src/sap/ui/layout/ResponsiveFlowLayoutData.js +1 -1
  20. package/src/sap/ui/layout/ResponsiveSplitter.js +1 -1
  21. package/src/sap/ui/layout/ResponsiveSplitterPage.js +1 -1
  22. package/src/sap/ui/layout/SplitPane.js +1 -1
  23. package/src/sap/ui/layout/Splitter.js +2 -2
  24. package/src/sap/ui/layout/SplitterLayoutData.js +1 -1
  25. package/src/sap/ui/layout/VerticalLayout.js +1 -1
  26. package/src/sap/ui/layout/changeHandler/AddFormContainer.js +49 -22
  27. package/src/sap/ui/layout/changeHandler/AddFormField.js +40 -30
  28. package/src/sap/ui/layout/changeHandler/AddSimpleFormField.js +66 -37
  29. package/src/sap/ui/layout/changeHandler/AddSimpleFormGroup.js +76 -60
  30. package/src/sap/ui/layout/changeHandler/HideSimpleForm.js +166 -92
  31. package/src/sap/ui/layout/changeHandler/MoveSimpleForm.js +187 -145
  32. package/src/sap/ui/layout/changeHandler/RenameFormContainer.js +45 -35
  33. package/src/sap/ui/layout/changeHandler/RenameSimpleForm.js +14 -12
  34. package/src/sap/ui/layout/changeHandler/UnhideSimpleForm.js +66 -51
  35. package/src/sap/ui/layout/cssgrid/CSSGrid.js +72 -69
  36. package/src/sap/ui/layout/cssgrid/GridBasicLayout.js +1 -1
  37. package/src/sap/ui/layout/cssgrid/GridBoxLayout.js +17 -8
  38. package/src/sap/ui/layout/cssgrid/GridItemLayoutData.js +1 -1
  39. package/src/sap/ui/layout/cssgrid/GridLayoutBase.js +1 -1
  40. package/src/sap/ui/layout/cssgrid/GridLayoutDelegate.js +1 -1
  41. package/src/sap/ui/layout/cssgrid/GridResponsiveLayout.js +1 -1
  42. package/src/sap/ui/layout/cssgrid/GridSettings.js +1 -1
  43. package/src/sap/ui/layout/cssgrid/ResponsiveColumnItemLayoutData.js +1 -1
  44. package/src/sap/ui/layout/cssgrid/ResponsiveColumnLayout.js +1 -1
  45. package/src/sap/ui/layout/designtime/form/Form.designtime.js +1 -1
  46. package/src/sap/ui/layout/designtime/form/SimpleForm.designtime.js +17 -6
  47. package/src/sap/ui/layout/form/ColumnContainerData.js +1 -1
  48. package/src/sap/ui/layout/form/ColumnElementData.js +1 -1
  49. package/src/sap/ui/layout/form/ColumnLayout.js +1 -1
  50. package/src/sap/ui/layout/form/Form.js +1 -1
  51. package/src/sap/ui/layout/form/FormContainer.js +1 -1
  52. package/src/sap/ui/layout/form/FormElement.js +1 -1
  53. package/src/sap/ui/layout/form/FormLayout.js +3 -3
  54. package/src/sap/ui/layout/form/FormLayoutRenderer.js +3 -2
  55. package/src/sap/ui/layout/form/GridContainerData.js +1 -1
  56. package/src/sap/ui/layout/form/GridElementData.js +1 -1
  57. package/src/sap/ui/layout/form/GridLayout.js +2 -2
  58. package/src/sap/ui/layout/form/ResponsiveGridLayout.js +2 -7
  59. package/src/sap/ui/layout/form/ResponsiveLayout.js +2 -1
  60. package/src/sap/ui/layout/form/SemanticFormElement.js +49 -32
  61. package/src/sap/ui/layout/form/SimpleForm.js +11 -9
  62. package/src/sap/ui/layout/library.js +3 -2
  63. package/src/sap/ui/layout/messagebundle_el.properties +1 -1
  64. package/src/sap/ui/layout/cssgrid/GridBoxLayoutStyleHelper.js +0 -62
package/.reuse/dep5 CHANGED
@@ -309,7 +309,7 @@ License: MIT
309
309
  Comment: these files belong to: lodash
310
310
 
311
311
  Files: src/sap.ui.core/src/sap/ui/thirdparty/hyphenopoly/*
312
- Copyright: 2018 Mathias Nater
312
+ Copyright: 2021 Mathias Nater
313
313
  License: MIT
314
314
  Comment: these files belong to: Hyphenopoly
315
315
 
@@ -347,11 +347,6 @@ Copyright: 2013 Ariya Hidayat and other contributors
347
347
  License: BSD-2-Clause
348
348
  Comment: these files belong to: Esprima
349
349
 
350
- Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/google-code-prettify/*
351
- Copyright: 2006 Google Inc.
352
- License: Apache-2.0
353
- Comment: these files belong to: google-code-prettify
354
-
355
350
  Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/highlight.js/*
356
351
  Copyright: 2006-2020, Ivan Sagalaev
357
352
  License: BSD-3-Clause
package/THIRDPARTY.txt CHANGED
@@ -6,7 +6,7 @@ The full text of all referenced licenses is appended at the end of this file.
6
6
 
7
7
  Library: sap.ui.codeeditor:
8
8
 
9
- Component: Ace (Ajax.org Cloud9 Editor), version: 1.4.4
9
+ Component: Ace (Ajax.org Cloud9 Editor), version: 1.4.12
10
10
  Copyright: 2010, Ajax.org B.V.
11
11
  License: BSD-3-Clause
12
12
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
@@ -279,8 +279,8 @@ License: MIT
279
279
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
280
280
  Contained in: src/sap.ui.core/src/sap/ui/base/util/restricted/_/lodash.custom.js
281
281
 
282
- Component: Hyphenopoly, version: 2.4.0
283
- Copyright: 2018 Mathias Nater
282
+ Component: Hyphenopoly, version: 3.4.0
283
+ Copyright: 2021 Mathias Nater
284
284
  License: MIT
285
285
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
286
286
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/hyphenopoly/*
@@ -324,12 +324,6 @@ License: BSD-2-Clause
324
324
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-2-Clause.txt
325
325
  Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/esprima.js
326
326
 
327
- Component: google-code-prettify, version: 20130304
328
- Copyright: 2006 Google Inc.
329
- License: Apache-2.0
330
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
331
- Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/google-code-prettify/*
332
-
333
327
  Component: highlight.js, version: 10.4.1
334
328
  Copyright: 2006-2020, Ivan Sagalaev
335
329
  License: BSD-3-Clause
@@ -376,7 +370,7 @@ License: Unicode-DFS-2015
376
370
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Unicode-DFS-2015.txt
377
371
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/webcomponents/Unicode-Data-Files-LICENSE.txt
378
372
 
379
- Component: Adaptive Cards, version: 1.2.3
373
+ Component: Adaptive Cards, version: 2.9.0
380
374
  Copyright: 2017 Microsoft
381
375
  License: MIT
382
376
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.layout",
3
- "version": "1.92.0",
3
+ "version": "1.95.0",
4
4
  "description": "OpenUI5 UI Library sap.ui.layout",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,6 +14,6 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.ui.core": "1.92.0"
17
+ "@openui5/sap.ui.core": "1.95.0"
18
18
  }
19
19
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.92.0</version>
9
+ <version>1.95.0</version>
10
10
 
11
11
  <documentation>SAPUI5 library with layout controls.</documentation>
12
12
 
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @extends sap.ui.core.Control
41
41
  *
42
42
  * @author SAP SE
43
- * @version 1.92.0
43
+ * @version 1.95.0
44
44
  *
45
45
  * @constructor
46
46
  * @private
@@ -221,18 +221,22 @@ sap.ui.define([
221
221
  var oEndItemDomRef,
222
222
  oObserverEntry = aObserverEntries[0],
223
223
  bWidthChangedSignificantly = hasWidthChangedSignificantly(this.fLayoutWidth, oObserverEntry, oDomRef),
224
- fNewWidth = oObserverEntry.contentRect.width;
224
+ fNewWidth = oObserverEntry.contentRect.width,
225
+ fNewHeight = oObserverEntry.contentRect.height;
225
226
 
226
227
  if (bWidthChangedSignificantly) {
227
228
  this.fLayoutWidth = fNewWidth;
229
+ this.fLayoutHeight = fNewHeight;
228
230
  } else {
229
231
  oEndItemDomRef = this.getDomRef("endItem");
230
232
  bWidthChangedSignificantly = hasWidthChangedSignificantly(this.fEndItemWidth, oObserverEntry, oEndItemDomRef);
231
233
 
232
234
  if (bWidthChangedSignificantly) {
233
235
  this.fEndItemWidth = fNewWidth;
236
+ this.fLayoutHeight = fNewHeight;
237
+ } else if (this.fLayoutHeight !== fNewHeight) { // we may still have relevant height changes
238
+ this.fLayoutHeight = fNewHeight;
234
239
  } else {
235
-
236
240
  // avoid cyclic dependencies and/or infinite resizing callback loops
237
241
  return;
238
242
  }
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.layout.Splitter
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.92.0
28
+ * @version 1.95.0
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  * @extends sap.ui.core.Control
63
63
  *
64
64
  * @author SAP SE
65
- * @version 1.92.0
65
+ * @version 1.95.0
66
66
  *
67
67
  * @constructor
68
68
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.core.Control
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.92.0
30
+ * @version 1.95.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -18,7 +18,7 @@ sap.ui.define(['sap/ui/core/LayoutData', './library'],
18
18
  * @class
19
19
  * Holds layout data for the BlockLayoutCells contents.
20
20
  * @extends sap.ui.core.LayoutData
21
- * @version 1.92.0
21
+ * @version 1.95.0
22
22
  * @constructor
23
23
  * @public
24
24
  * @since 1.50.0
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.ui.core.Control
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.92.0
39
+ * @version 1.95.0
40
40
  *
41
41
  * @constructor
42
42
  * @public
@@ -94,7 +94,7 @@ sap.ui.define([
94
94
  * @extends sap.ui.core.Control
95
95
  *
96
96
  * @author SAP SE
97
- * @version 1.92.0
97
+ * @version 1.95.0
98
98
  *
99
99
  * @constructor
100
100
  * @public
@@ -52,7 +52,7 @@ sap.ui.define([
52
52
  * @extends sap.ui.core.Control
53
53
  *
54
54
  * @author SAP SE
55
- * @version 1.92.0
55
+ * @version 1.95.0
56
56
  *
57
57
  * @constructor
58
58
  * @public
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * @extends sap.ui.core.Control
60
60
  *
61
61
  * @author SAP SE
62
- * @version 1.92.0
62
+ * @version 1.95.0
63
63
  *
64
64
  * @constructor
65
65
  * @public
@@ -28,7 +28,7 @@ sap.ui.define(['sap/ui/core/LayoutData', './library', "sap/base/Log"],
28
28
  * @extends sap.ui.core.LayoutData
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.92.0
31
+ * @version 1.95.0
32
32
  *
33
33
  * @constructor
34
34
  * @public
@@ -15,7 +15,7 @@ sap.ui.define(["sap/ui/Device", "sap/ui/layout/library"],
15
15
  /**
16
16
  * @author SAP SE
17
17
  * @version
18
- * 1.92.0
18
+ * 1.95.0
19
19
  * @namespace
20
20
  */
21
21
  var GridRenderer = {
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/core/Control', './library', "./HorizontalLayoutRenderer"]
22
22
  * @extends sap.ui.core.Control
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.92.0
25
+ * @version 1.95.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -24,7 +24,7 @@ sap.ui.define(['./library', 'sap/ui/core/Element', './AssociativeSplitter', 'sap
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.92.0
27
+ * @version 1.95.0
28
28
  *
29
29
  * @constructor
30
30
  * @public
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.Control
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.92.0
40
+ * @version 1.95.0
41
41
  *
42
42
  * @constructor
43
43
  * @public
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/core/LayoutData', './library', "sap/base/Log"],
22
22
  * @extends sap.ui.core.LayoutData
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.92.0
25
+ * @version 1.95.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * @extends sap.ui.core.Control
71
71
  *
72
72
  * @author SAP SE
73
- * @version 1.92.0
73
+ * @version 1.95.0
74
74
  *
75
75
  * @constructor
76
76
  * @public
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.core.Control
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.92.0
27
+ * @version 1.95.0
28
28
  *
29
29
  * @constructor
30
30
  * @private
@@ -26,7 +26,7 @@ sap.ui.define(['./library', 'sap/ui/core/Element'],
26
26
  * @extends sap.ui.core.Element
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.92.0
29
+ * @version 1.95.0
30
30
  *
31
31
  * @constructor
32
32
  * @public
@@ -66,7 +66,7 @@ sap.ui.define([
66
66
  * @extends sap.ui.core.Control
67
67
  *
68
68
  * @author SAP SE
69
- * @version 1.92.0
69
+ * @version 1.95.0
70
70
  *
71
71
  * @constructor
72
72
  * @public
@@ -231,7 +231,7 @@ sap.ui.define([
231
231
  * Returns the current actual content sizes as pixel value - these values can change with every
232
232
  * resize.
233
233
  *
234
- * @returns {Number[]} Array of px values that correspond to the content area sizes
234
+ * @returns {number[]} Array of px values that correspond to the content area sizes
235
235
  * @protected
236
236
  * @deprecated As of version 1.21. This method is declared as protected in order to assess the need for this feature. It is declared as deprecated because the API might change in case the need for this is high enough to make it part of the official Splitter interface
237
237
  */
@@ -24,7 +24,7 @@ sap.ui.define(['sap/ui/core/LayoutData', './library'],
24
24
  * (The CSS value "auto" is used internally to recalculate the size of the content
25
25
  * dynamically and is not directly set as style property.)
26
26
  * @extends sap.ui.core.LayoutData
27
- * @version 1.92.0
27
+ * @version 1.95.0
28
28
  *
29
29
  * @constructor
30
30
  * @public
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.core.Control
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.92.0
28
+ * @version 1.95.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * Change handler for adding a form group.
22
22
  * @alias sap.ui.layout.changeHandler.AddFormContainer
23
23
  * @author SAP SE
24
- * @version 1.92.0
24
+ * @version 1.95.0
25
25
  * @experimental Since 1.48.0
26
26
  */
27
27
  var AddGroup = { };
@@ -35,20 +35,25 @@ sap.ui.define([
35
35
  * @param {object} mPropertyBag.modifier Modifier for the controls
36
36
  * @param {object} mPropertyBag.appComponent Component in which the change should be applied
37
37
  * @param {object} mPropertyBag.view Application view
38
+ * @returns {Promise} Promise resolving when change is successfully applied
38
39
  * @public
39
40
  */
40
41
  AddGroup.applyChange = function(oChange, oForm, mPropertyBag) {
41
- var oModifier = mPropertyBag.modifier,
42
- oAppComponent = mPropertyBag.appComponent,
43
- oView = mPropertyBag.view,
44
- oChangeDefinition = oChange.getDefinition(),
45
- oTitle, oGroup;
42
+ var oModifier = mPropertyBag.modifier;
43
+ var oAppComponent = mPropertyBag.appComponent;
44
+ var oView = mPropertyBag.view;
45
+ var oChangeDefinition = oChange.getDefinition();
46
46
 
47
- if (oChangeDefinition.texts && oChangeDefinition.texts.groupLabel && oChangeDefinition.texts.groupLabel.value && oChangeDefinition.content && oChangeDefinition.content.group && (oChangeDefinition.content.group.selector || oChangeDefinition.content.group.id)) {
48
- var sTitleText = oChangeDefinition.texts.groupLabel.value,
49
- iInsertIndex = oChangeDefinition.content.group.index,
50
- mNewGroupSelector = oChangeDefinition.content.group.selector || { id : oChangeDefinition.content.group.id },
51
- mNewTitleSelector = jQuery.extend({}, mNewGroupSelector);
47
+ if (oChangeDefinition.texts
48
+ && oChangeDefinition.texts.groupLabel
49
+ && oChangeDefinition.texts.groupLabel.value
50
+ && oChangeDefinition.content
51
+ && oChangeDefinition.content.group
52
+ && (oChangeDefinition.content.group.selector || oChangeDefinition.content.group.id)) {
53
+ var sTitleText = oChangeDefinition.texts.groupLabel.value;
54
+ var iInsertIndex = oChangeDefinition.content.group.index;
55
+ var mNewGroupSelector = oChangeDefinition.content.group.selector || { id : oChangeDefinition.content.group.id };
56
+ var mNewTitleSelector = jQuery.extend({}, mNewGroupSelector);
52
57
 
53
58
  mNewTitleSelector.id = mNewTitleSelector.id + "--title"; //same as FormRenderer does it
54
59
  oChange.setRevertData({newGroupSelector: mNewGroupSelector});
@@ -59,15 +64,30 @@ sap.ui.define([
59
64
  } else if (oModifier.bySelector(mNewGroupSelector, oAppComponent)) {
60
65
  return Base.markAsNotApplicable("Control to be created already exists:" + mNewGroupSelector);
61
66
  }
62
- oTitle = oModifier.createControl("sap.ui.core.Title", oAppComponent, oView, mNewTitleSelector);
63
- oGroup = oModifier.createControl("sap.ui.layout.form.FormContainer", oAppComponent, oView, mNewGroupSelector);
64
67
 
65
- oModifier.setProperty(oTitle, "text", sTitleText);
66
- oModifier.insertAggregation(oGroup, "title", oTitle, 0, oView);
67
- oModifier.insertAggregation(oForm, "formContainers", oGroup, iInsertIndex, oView);
68
+ return Promise.resolve()
69
+ .then(function() {
70
+ return Promise.all([
71
+ oModifier.createControl("sap.ui.core.Title", oAppComponent, oView, mNewTitleSelector),
72
+ oModifier.createControl("sap.ui.layout.form.FormContainer", oAppComponent, oView, mNewGroupSelector)
73
+ ]);
74
+ })
75
+ .then(function(aControls) {
76
+ var oTitle = aControls[0];
77
+ var oGroup = aControls[1];
78
+ oModifier.setProperty(oTitle, "text", sTitleText);
79
+ return Promise.resolve()
80
+ .then(oModifier.insertAggregation.bind(oModifier, oGroup, "title", oTitle, 0, oView))
81
+ .then(oModifier.insertAggregation.bind(oModifier, oForm, "formContainers", oGroup, iInsertIndex, oView));
82
+ });
68
83
  } else {
69
- Log.error("Change does not contain sufficient information to be applied: [" + oChangeDefinition.layer + "]" + oChangeDefinition.namespace + "/" + oChangeDefinition.fileName + "." + oChangeDefinition.fileType);
84
+ Log.error("Change does not contain sufficient information to be applied: ["
85
+ + oChangeDefinition.layer + "]"
86
+ + oChangeDefinition.namespace + "/"
87
+ + oChangeDefinition.fileName + "."
88
+ + oChangeDefinition.fileType);
70
89
  //however subsequent changes should be applied
90
+ return Promise.resolve();
71
91
  }
72
92
  };
73
93
 
@@ -83,8 +103,8 @@ sap.ui.define([
83
103
  * @public
84
104
  */
85
105
  AddGroup.completeChangeContent = function(oChange, oSpecificChangeInfo, mPropertyBag) {
86
- var oChangeDefinition = oChange.getDefinition(),
87
- oAppComponent = mPropertyBag.appComponent;
106
+ var oChangeDefinition = oChange.getDefinition();
107
+ var oAppComponent = mPropertyBag.appComponent;
88
108
 
89
109
  if (oSpecificChangeInfo.newLabel) {
90
110
  Base.setTextInChange(oChangeDefinition, "groupLabel", oSpecificChangeInfo.newLabel, "XFLD");
@@ -120,6 +140,7 @@ sap.ui.define([
120
140
  * @param {object} mPropertyBag.modifier Modifier for the controls
121
141
  * @param {object} mPropertyBag.appComponent Component in which the change should be applied
122
142
  * @param {object} mPropertyBag.view Application view
143
+ * @returns {Promise} Promise resolving when change is successfully reverted
123
144
  * @public
124
145
  */
125
146
  AddGroup.revertChange = function (oChange, oForm, mPropertyBag) {
@@ -129,9 +150,15 @@ sap.ui.define([
129
150
  var mNewGroupSelector = oChange.getRevertData().newGroupSelector;
130
151
 
131
152
  var oGroup = oModifier.bySelector(mNewGroupSelector, oAppComponent, oView);
132
- oModifier.removeAggregation(oForm, "formContainers", oGroup);
133
- oModifier.destroy(oGroup);
134
- oChange.resetRevertData();
153
+
154
+ return Promise.resolve()
155
+ .then(function() {
156
+ return oModifier.removeAggregation(oForm, "formContainers", oGroup);
157
+ })
158
+ .then(function() {
159
+ oModifier.destroy(oGroup);
160
+ oChange.resetRevertData();
161
+ });
135
162
  };
136
163
 
137
164
  return AddGroup;
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @author SAP SE
21
21
  *
22
- * @version 1.92.0
22
+ * @version 1.95.0
23
23
  *
24
24
  * @experimental Since 1.50.0 This class is experimental and provides only limited functionality. Also the API might be
25
25
  * changed in future.
@@ -37,37 +37,47 @@ sap.ui.define([
37
37
  var mFieldSelector = mChangeContent.newFieldSelector;
38
38
 
39
39
  var oCreatedFormElement;
40
+ var oParentFormContainer;
40
41
 
41
- // "layoutControl" property is present only when the control is returned from Delegate.createLayout()
42
- if (!mInnerControls.layoutControl) {
43
- oCreatedFormElement = oModifier.createControl(
44
- "sap.ui.layout.form.FormElement",
45
- oAppComponent,
46
- oView,
47
- mFieldSelector
48
- );
49
- oModifier.insertAggregation(oCreatedFormElement, "label", mInnerControls.label, 0, oView);
50
- oModifier.insertAggregation(oCreatedFormElement, "fields", mInnerControls.control, 0, oView);
51
- } else {
52
- oCreatedFormElement = mInnerControls.control;
53
- }
42
+ return Promise.resolve()
43
+ .then(function(){
44
+ // "layoutControl" property is present only when the control is returned from Delegate.createLayout()
45
+ if (!mInnerControls.layoutControl) {
46
+ return Promise.resolve()
47
+ .then(oModifier.createControl.bind(oModifier, "sap.ui.layout.form.FormElement", oAppComponent, oView, mFieldSelector))
48
+ .then(function(oCreatedControl) {
49
+ oCreatedFormElement = oCreatedControl;
50
+ return Promise.all([
51
+ oModifier.insertAggregation(oCreatedFormElement, "label", mInnerControls.label, 0, oView),
52
+ oModifier.insertAggregation(oCreatedFormElement, "fields", mInnerControls.control, 0, oView)
53
+ ]);
54
+ });
55
+ }
56
+ oCreatedFormElement = mInnerControls.control;
57
+ return undefined;
58
+ })
59
+ .then(function(){
60
+ oParentFormContainer = oChange.getDependentControl("parentFormContainer", mPropertyBag);
61
+ return oModifier.insertAggregation(oParentFormContainer,
62
+ "formElements",
63
+ oCreatedFormElement,
64
+ iIndex,
65
+ oView
66
+ );
67
+ })
68
+ .then(function(){
69
+ if (mInnerControls.valueHelp) {
70
+ return oModifier.insertAggregation(
71
+ oParentFormContainer,
72
+ "dependents",
73
+ mInnerControls.valueHelp,
74
+ 0,
75
+ oView
76
+ );
77
+ }
78
+ return undefined;
79
+ });
54
80
 
55
- var oParentFormContainer = oChange.getDependentControl("parentFormContainer", mPropertyBag);
56
- oModifier.insertAggregation(oParentFormContainer,
57
- "formElements",
58
- oCreatedFormElement,
59
- iIndex,
60
- oView
61
- );
62
- if (mInnerControls.valueHelp) {
63
- oModifier.insertAggregation(
64
- oParentFormContainer,
65
- "dependents",
66
- mInnerControls.valueHelp,
67
- 0,
68
- oView
69
- );
70
- }
71
81
  },
72
82
  aggregationName: "formElements",
73
83
  parentAlias: "parentFormContainer",