@openui5/sap.ui.dt 1.96.5 → 1.99.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 (47) hide show
  1. package/.reuse/dep5 +26 -31
  2. package/THIRDPARTY.txt +15 -21
  3. package/package.json +2 -2
  4. package/src/sap/ui/dt/.library +1 -1
  5. package/src/sap/ui/dt/AggregationDesignTimeMetadata.js +1 -1
  6. package/src/sap/ui/dt/AggregationOverlay.js +2 -1
  7. package/src/sap/ui/dt/ControlObserver.js +1 -1
  8. package/src/sap/ui/dt/DOMUtil.js +7 -6
  9. package/src/sap/ui/dt/DesignTime.js +80 -29
  10. package/src/sap/ui/dt/DesignTimeMetadata.js +6 -7
  11. package/src/sap/ui/dt/ElementDesignTimeMetadata.js +7 -5
  12. package/src/sap/ui/dt/ElementOverlay.js +6 -2
  13. package/src/sap/ui/dt/ElementUtil.js +5 -42
  14. package/src/sap/ui/dt/ManagedObjectObserver.js +2 -1
  15. package/src/sap/ui/dt/MetadataPropagationUtil.js +6 -6
  16. package/src/sap/ui/dt/MutationObserver.js +1 -1
  17. package/src/sap/ui/dt/Overlay.js +16 -17
  18. package/src/sap/ui/dt/OverlayRegistry.js +2 -3
  19. package/src/sap/ui/dt/OverlayUtil.js +5 -5
  20. package/src/sap/ui/dt/Plugin.js +30 -1
  21. package/src/sap/ui/dt/ScrollbarSynchronizer.js +2 -2
  22. package/src/sap/ui/dt/SelectionManager.js +1 -1
  23. package/src/sap/ui/dt/SelectionMode.js +1 -1
  24. package/src/sap/ui/dt/TaskManager.js +57 -42
  25. package/src/sap/ui/dt/TaskRunner.js +15 -15
  26. package/src/sap/ui/dt/Util.js +2 -2
  27. package/src/sap/ui/dt/enablement/ElementEnablementTest.js +2 -3
  28. package/src/sap/ui/dt/enablement/Test.js +25 -24
  29. package/src/sap/ui/dt/enablement/Util.js +9 -9
  30. package/src/sap/ui/dt/enablement/libraryTest.js +2 -2
  31. package/src/sap/ui/dt/enablement/report/LibraryReport.js +1 -1
  32. package/src/sap/ui/dt/enablement/report/QUnitReport.js +2 -3
  33. package/src/sap/ui/dt/enablement/report/Statistic.js +1 -1
  34. package/src/sap/ui/dt/enablement/report/StatisticRenderer.js +2 -2
  35. package/src/sap/ui/dt/enablement/report/Table.js +2 -3
  36. package/src/sap/ui/dt/enablement/report/TableRenderer.js +2 -2
  37. package/src/sap/ui/dt/library.js +2 -2
  38. package/src/sap/ui/dt/plugin/ContextMenu.js +7 -5
  39. package/src/sap/ui/dt/plugin/ControlDragDrop.js +1 -1
  40. package/src/sap/ui/dt/plugin/CutPaste.js +1 -1
  41. package/src/sap/ui/dt/plugin/DragDrop.js +19 -18
  42. package/src/sap/ui/dt/plugin/ElementMover.js +3 -2
  43. package/src/sap/ui/dt/plugin/MouseSelection.js +1 -1
  44. package/src/sap/ui/dt/plugin/TabHandling.js +1 -1
  45. package/src/sap/ui/dt/plugin/ToolHooks.js +1 -1
  46. package/src/sap/ui/dt/util/ZIndexManager.js +1 -1
  47. package/src/sap/ui/dt/util/_createPromise.js +6 -4
@@ -9,8 +9,7 @@ sap.ui.define([
9
9
  "sap/ui/dt/DesignTimeMetadata",
10
10
  "sap/ui/dt/AggregationDesignTimeMetadata",
11
11
  "sap/ui/dt/ElementUtil"
12
- ],
13
- function(
12
+ ], function(
14
13
  DesignTimeMetadata,
15
14
  AggregationDesignTimeMetadata,
16
15
  ElementUtil
@@ -28,7 +27,7 @@ function(
28
27
  * @extends sap.ui.dt.DesignTimeMetadata
29
28
  *
30
29
  * @author SAP SE
31
- * @version 1.96.5
30
+ * @version 1.99.0
32
31
  *
33
32
  * @constructor
34
33
  * @private
@@ -234,8 +233,8 @@ function(
234
233
 
235
234
  /**
236
235
  * Returns property "ignore" of aggregation DT metadata
237
- * @param {Object} oElement Element whose aggregation has to be checked
238
- * @param {String} sAggregationName Name of the Aggregation
236
+ * @param {sap.ui.core.Element} oElement Element whose aggregation has to be checked
237
+ * @param {string} sAggregationName Name of the Aggregation
239
238
  * @return {boolean} if ignored
240
239
  * @public
241
240
  */
@@ -252,6 +251,9 @@ function(
252
251
  /**
253
252
  * Returns the scroll containers or an empty array
254
253
  *
254
+ * @param {object} oElement - Element
255
+ * @param {boolean} bInvalidate - Indicates if the scroll container should be invalidated first
256
+ * @param {function} fnUpdateFunction - Function to be called for update
255
257
  * @return {array} scrollContainers or empty array
256
258
  * @public
257
259
  */
@@ -55,7 +55,7 @@ sap.ui.define([
55
55
  * @extends sap.ui.dt.Overlay
56
56
  *
57
57
  * @author SAP SE
58
- * @version 1.96.5
58
+ * @version 1.99.0
59
59
  *
60
60
  * @constructor
61
61
  * @private
@@ -421,6 +421,7 @@ sap.ui.define([
421
421
 
422
422
  /**
423
423
  * Sorts children DOM Nodes in their visual order
424
+ * @param {object} oContainer - Container object whose children should be sorted
424
425
  * @private
425
426
  */
426
427
  ElementOverlay.prototype._sortChildren = function(oContainer) {
@@ -573,7 +574,8 @@ sap.ui.define([
573
574
 
574
575
  /**
575
576
  * Gets information about scroll containers from DesignTime metadata
576
- * @returns {object[]} - returns an array with scroll containers description
577
+ * @param {boolean} bInvalidate - Indicates if the scroll container should be invalidated first
578
+ * @returns {object[]} Array with the scroll container's description
577
579
  */
578
580
  ElementOverlay.prototype.getScrollContainers = function (bInvalidate) {
579
581
  return this.getDesignTimeMetadata().getScrollContainers(this.getElement(), bInvalidate, this._updateScrollContainer.bind(this));
@@ -704,6 +706,7 @@ sap.ui.define([
704
706
  } else if (!bLastStackEntry) {
705
707
  highlightTemplateCloneElements(mAggregationBindingInfo, oChildElementOverlay, iStackIndex - 1);
706
708
  }
709
+ return undefined;
707
710
  });
708
711
  }
709
712
  });
@@ -876,6 +879,7 @@ sap.ui.define([
876
879
  if (oParentAggregationOverlay) {
877
880
  return oParentAggregationOverlay.getParent();
878
881
  }
882
+ return undefined;
879
883
  };
880
884
 
881
885
  /**
@@ -14,8 +14,7 @@ sap.ui.define([
14
14
  "sap/ui/core/Component",
15
15
  "sap/base/util/isPlainObject",
16
16
  "sap/ui/core/UIArea"
17
- ],
18
- function(
17
+ ], function(
19
18
  jQuery,
20
19
  BaseObject,
21
20
  Util,
@@ -33,7 +32,7 @@ function(
33
32
  * @class Utility functionality to work with elements, e.g. iterate through aggregations, find parents, ...
34
33
  *
35
34
  * @author SAP SE
36
- * @version 1.96.5
35
+ * @version 1.99.0
37
36
  *
38
37
  * @private
39
38
  * @static
@@ -57,9 +56,6 @@ function(
57
56
  }, this);
58
57
  };
59
58
 
60
- /**
61
- *
62
- */
63
59
  ElementUtil.getElementInstance = function(vElement) {
64
60
  if (typeof vElement === "string") {
65
61
  var oElement = sap.ui.getCore().byId(vElement);
@@ -68,9 +64,6 @@ function(
68
64
  return vElement;
69
65
  };
70
66
 
71
- /**
72
- *
73
- */
74
67
  ElementUtil.hasAncestor = function(oElement, oAncestor) {
75
68
  oAncestor = this.fixComponentContainerElement(oAncestor);
76
69
  var oFixedParent;
@@ -88,17 +81,11 @@ function(
88
81
  return !!oElement;
89
82
  };
90
83
 
91
- /**
92
- *
93
- */
94
84
  ElementUtil.getClosestElementForNode = function(oNode) {
95
85
  var $ClosestElement = jQuery(oNode).closest("[data-sap-ui]");
96
86
  return $ClosestElement.length ? sap.ui.getCore().byId($ClosestElement.attr("data-sap-ui")) : undefined;
97
87
  };
98
88
 
99
- /**
100
- *
101
- */
102
89
  ElementUtil.fixComponentParent = function(oElement) {
103
90
  if (BaseObject.isA(oElement, "sap.ui.core.UIComponent")) {
104
91
  var oComponentContainer = oElement.oContainer;
@@ -110,9 +97,6 @@ function(
110
97
  }
111
98
  };
112
99
 
113
- /**
114
- *
115
- */
116
100
  ElementUtil.fixComponentContainerElement = function(oElement) {
117
101
  if (BaseObject.isA(oElement, "sap.ui.core.ComponentContainer")) {
118
102
  // This happens when the compontentContainer has not been rendered yet
@@ -124,9 +108,6 @@ function(
124
108
  return oElement;
125
109
  };
126
110
 
127
- /**
128
- *
129
- */
130
111
  ElementUtil.getDomRef = function(oElement) {
131
112
  if (oElement) {
132
113
  var oDomRef;
@@ -140,9 +121,6 @@ function(
140
121
  }
141
122
  };
142
123
 
143
- /**
144
- *
145
- */
146
124
  ElementUtil.findAllSiblingsInContainer = function(oElement, oContainer) {
147
125
  var oParent = oElement && oElement.getParent();
148
126
  if (!oParent) {
@@ -211,9 +189,6 @@ function(
211
189
  return this.getAggregation(oParent, sAggregationName).indexOf(oElement);
212
190
  };
213
191
 
214
- /**
215
- *
216
- */
217
192
  ElementUtil.addAggregation = function(oParent, sAggregationName, oElement) {
218
193
  if (this.hasAncestor(oParent, oElement)) {
219
194
  throw new Error("Trying to add an element to itself or its successors");
@@ -226,9 +201,6 @@ function(
226
201
  }
227
202
  };
228
203
 
229
- /**
230
- *
231
- */
232
204
  ElementUtil.removeAggregation = function(oParent, sAggregationName, oElement, bSuppressInvalidate) {
233
205
  var sAggregationRemoveMutator = this.getAggregationAccessors(oParent, sAggregationName).remove;
234
206
  if (sAggregationRemoveMutator) {
@@ -238,9 +210,6 @@ function(
238
210
  }
239
211
  };
240
212
 
241
- /**
242
- *
243
- */
244
213
  ElementUtil.insertAggregation = function(oParent, sAggregationName, oElement, iIndex) {
245
214
  if (this.hasAncestor(oParent, oElement)) {
246
215
  throw new Error("Trying to add an element to itself or its successors");
@@ -265,9 +234,6 @@ function(
265
234
  }
266
235
  };
267
236
 
268
- /**
269
- *
270
- */
271
237
  ElementUtil.isValidForAggregation = function(oParent, sAggregationName, oElement) {
272
238
  var oAggregationMetadata = oParent.getMetadata().getAggregation(sAggregationName);
273
239
 
@@ -329,9 +295,6 @@ function(
329
295
  }, this);
330
296
  };
331
297
 
332
- /**
333
- *
334
- */
335
298
  ElementUtil.hasInterface = function(oElement, sInterface) {
336
299
  var aInterfaces = oElement.getMetadata().getInterfaces();
337
300
  return aInterfaces.indexOf(sInterface) !== -1;
@@ -408,8 +371,8 @@ function(
408
371
  * Extract potential label part from the passed managed object instance
409
372
  *
410
373
  * @param {sap.ui.base.ManagedObject} oElement - managed object class instance for which label has to be extracted
411
- * @param {Function} [fnFunction] - custom function for retrieving label
412
- * @return {String|undefined} label string or undefined when no label can be extracted
374
+ * @param {function} [fnFunction] - custom function for retrieving label
375
+ * @return {string|undefined} label string or undefined when no label can be extracted
413
376
  */
414
377
  ElementUtil.getLabelForElement = function(oElement, fnFunction) {
415
378
  if (!ElementUtil.isElementValid(oElement)) {
@@ -474,7 +437,7 @@ function(
474
437
  /**
475
438
  * The AggregationBindingStack contains element id and aggregation name of the bound control together with a stack containing
476
439
  * information about the traversed elements for an Overlay which is part of an aggregation binding.
477
- * @typedef {Object} sap.ui.dt.ElementUtil.AggregationBindingStack
440
+ * @typedef {object} sap.ui.dt.ElementUtil.AggregationBindingStack
478
441
  * @property {string} elementId - id of the bound control.
479
442
  * @property {string} aggregation - name of the bound aggregation.
480
443
  * @property {string} templateId - id of the binding template.
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @class The ManagedObjectObserver observes changes of a ManagedObject and propagates them via events.
26
26
  * @extends sap.ui.base.ManagedObject
27
27
  * @author SAP SE
28
- * @version 1.96.5
28
+ * @version 1.99.0
29
29
  * @constructor
30
30
  * @private
31
31
  * @since 1.30
@@ -588,6 +588,7 @@ sap.ui.define([
588
588
  /**
589
589
  * Stops observing the target object. Override this method in classes which extend ManagedObjectObserver.
590
590
  *
591
+ * @param {object} oTarget - Target object
591
592
  * @protected
592
593
  */
593
594
  ManagedObjectObserver.prototype.unobserve = function(oTarget) {
@@ -9,8 +9,7 @@ sap.ui.define([
9
9
  "sap/ui/dt/Util",
10
10
  "sap/base/util/merge",
11
11
  "sap/base/util/isEmptyObject"
12
- ],
13
- function(
12
+ ], function(
14
13
  Util,
15
14
  merge,
16
15
  isEmptyObject
@@ -22,7 +21,7 @@ function(
22
21
  *
23
22
  * @class Functionality to propagate DesignTime and RelevantContainer
24
23
  * @author SAP SE
25
- * @version 1.96.5
24
+ * @version 1.99.0
26
25
  * @private
27
26
  * @static
28
27
  * @since 1.54
@@ -99,9 +98,10 @@ function(
99
98
  * Extend the passed aggregationOverlay metadata with propagated aggregationOverlay metadata from parent
100
99
  * and metadata to propagte from passed elementOverlay metadata.
101
100
  *
102
- * @param {object} mOriginalMetadata - aggregation designtime metadata data map to be extended with propagation data
103
- * @param {sap.ui.core.Element} oElement - element may be used as relevant container
104
- * @return {object} Returns extended data part of the element designtime metadata.
101
+ * @param {object} mOriginalMetadata - Aggregation design time metadata data map to be extended with propagation data
102
+ * @param {sap.ui.core.Element} oElement - Element may be used as relevant container
103
+ * @param {object} mParentAggregationMetadata - Aggregation design time metadata of the parent
104
+ * @return {object} Extended data part of the element design time metadata.
105
105
  */
106
106
  MetadataPropagationUtil.propagateMetadataToAggregationOverlay = function(mOriginalMetadata, oElement, mParentAggregationMetadata) {
107
107
  var mNewPropagationInfo;
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @class The MutationObserver observes changes of a ManagedObject and propagates them via events.
31
31
  * @extends sap.ui.base.ManagedObject
32
32
  * @author SAP SE
33
- * @version 1.96.5
33
+ * @version 1.99.0
34
34
  * @constructor
35
35
  * @private
36
36
  * @since 1.30
@@ -4,7 +4,6 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- /* global Map */
8
7
  sap.ui.define([
9
8
  "sap/ui/thirdparty/jquery",
10
9
  "sap/ui/core/Element",
@@ -16,8 +15,7 @@ sap.ui.define([
16
15
  "sap/ui/dt/Util",
17
16
  "sap/base/Log",
18
17
  "sap/ui/dt/util/ZIndexManager"
19
- ],
20
- function (
18
+ ], function (
21
19
  jQuery,
22
20
  Element,
23
21
  MutationObserver,
@@ -46,7 +44,7 @@ function (
46
44
  * @extends sap.ui.core.Element
47
45
  *
48
46
  * @author SAP SE
49
- * @version 1.96.5
47
+ * @version 1.99.0
50
48
  *
51
49
  * @constructor
52
50
  * @private
@@ -312,6 +310,7 @@ function (
312
310
 
313
311
  /**
314
312
  * Creates and/or returns mutation observer instance
313
+ * @returns {object} Mutation observer
315
314
  * @static
316
315
  */
317
316
  Overlay.getMutationObserver = function() {
@@ -342,7 +341,7 @@ function (
342
341
 
343
342
  /**
344
343
  * Returns set of attributes for DOM Node of overlay
345
- * @returns {{id: string, "data-sap-ui": string, class: string, tabindex: *}}
344
+ * @returns {{id: string, "data-sap-ui": string, class: string, tabindex: *}} Object with attributes
346
345
  * @protected
347
346
  */
348
347
  Overlay.prototype._getAttributes = function () {
@@ -539,7 +538,6 @@ function (
539
538
  /**
540
539
  * Sets whether the overlay can get the browser focus (tabindex)
541
540
  * @param {boolean} bFocusable - true if the overlay is focusable
542
- * @returns {sap.ui.dt.Overlay} returns this
543
541
  * @public
544
542
  */
545
543
  Overlay.prototype.setFocusable = function(bFocusable) {
@@ -562,7 +560,7 @@ function (
562
560
 
563
561
  /**
564
562
  * Returns valuable parent node that has dimensions and certain position.
565
- * @returns {jQuery|null}
563
+ * @returns {jQuery|null} Parent jQuery object or null, if there is none
566
564
  * @protected
567
565
  */
568
566
  Overlay.prototype._getRenderingParent = function () {
@@ -574,6 +572,7 @@ function (
574
572
  * The calculation is based on original associated DOM state and parent overlays
575
573
  * This method also calls "applyStyles" method for every child Overlay of this Overlay (cascade)
576
574
  * @param {boolean} bForceScrollbarSync - `true` to force a scrollbars synchronisation if there are any
575
+ * @returns {Promise} Resolves as soon as <code>applyStyles</code> is done
577
576
  * @public
578
577
  */
579
578
  Overlay.prototype.applyStyles = function (bForceScrollbarSync) {
@@ -660,7 +659,7 @@ function (
660
659
  * then ZIndexManager is used to calculate a z-index value lower than open popups and higher than other controls.
661
660
  * @see sap.ui.core.util.ZIndexManager
662
661
  * @param {object} oGeometry - Geometry object to get reference z-index from
663
- * @param {jQuery} $overlayDomRef - DOM Element to receive the z-index
662
+ * @param {jQuery} $overlayDomRef - DOM element to receive the z-index
664
663
  */
665
664
  Overlay.prototype._setZIndex = function (oGeometry, $overlayDomRef) {
666
665
  var oOriginalDomRef = oGeometry.domRef;
@@ -675,7 +674,7 @@ function (
675
674
 
676
675
  /**
677
676
  * Sets size to specified DOM Element
678
- * @param {jQuery} $Target - DOM Element which will receive new size
677
+ * @param {jQuery} $Target - DOM element which will receive new size
679
678
  * @param {object} oGeometry - Geometry object to get new dimensions from
680
679
  * @protected
681
680
  */
@@ -691,8 +690,8 @@ function (
691
690
  };
692
691
 
693
692
  /**
694
- * Sets position of specified DOM Element
695
- * @param {jQuery} $Target - DOM Element which will receive new position
693
+ * Sets position of specified DOM element
694
+ * @param {jQuery} $Target - DOM element which will receive new position
696
695
  * @param {object} oGeometry - Geometry object to get positioning from
697
696
  * @param {jQuery} $Parent - Offset element for position calculation
698
697
  * @protected
@@ -735,9 +734,10 @@ function (
735
734
  * Note: listeners are only removed, if the same combination of event type, callback function
736
735
  * and context object is given as in the call to <code>attachBrowserEvent</code>.
737
736
  *
738
- * @param {string} [sEventType] A string containing one or more JavaScript event types, such as "click" or "blur".
739
- * @param {function} [fnHandler] The function that is to be no longer executed.
740
- * @param {object} [oListener] The context object that was given in the call to <code>attachBrowserEvent</code>.
737
+ * @param {string} [sEventType] - String containing one or more JavaScript event types, such as "click" or "blur".
738
+ * @param {function} [fnHandler] - Function that is to be no longer executed.
739
+ * @param {object} [oListener] - Context object that was given in the call to <code>attachBrowserEvent</code>.
740
+ * @returns {sap.ui.dt.Overlay} <code>this</code> object
741
741
  * @public
742
742
  */
743
743
  Overlay.prototype.detachBrowserEvent = function(sEventType, fnHandler, oListener) {
@@ -767,8 +767,7 @@ function (
767
767
  /**
768
768
  * Cleans up when scrolling is no longer needed in the overlay
769
769
  * @param {jQuery} $TargetDomRef - DOM reference to the element where dummy container is located
770
- * @param {sap.ui.dt.ElementOverlay} [oTargetOverlay]
771
- * Overlay which holds scrollbar padding via CSS classes. In case of root overlay, the target is undefined.
770
+ * @param {sap.ui.dt.ElementOverlay} [oTargetOverlay] - Overlay which holds scrollbar padding via CSS classes. In case of root overlay, the target is undefined.
772
771
  *
773
772
  * @private
774
773
  */
@@ -866,6 +865,7 @@ function (
866
865
  * The geometry is calculated based on the associated element's DOM reference, if it exists or based on it's public children
867
866
  * Object may contain following fields: position - absolute position of Element in DOM; size - absolute size of Element in DOM
868
867
  * Object may contain domRef field, when the associated Element's DOM can be found
868
+ * @param {boolean} bForceCalculation - Forces the recalculation of the geometry
869
869
  * @return {object} geometry object describing the DOM of the Element associated with this Overlay
870
870
  * @public
871
871
  */
@@ -900,7 +900,6 @@ function (
900
900
  /**
901
901
  * Sets whether the Overlay is visible
902
902
  * @param {boolean} bVisible if the Overlay is visible
903
- * @returns {sap.ui.dt.Overlay} returns this
904
903
  * @public
905
904
  */
906
905
  Overlay.prototype.setVisible = function(bVisible) {
@@ -25,7 +25,7 @@ function(
25
25
  * Static registry for Overlays
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.96.5
28
+ * @version 1.99.0
29
29
  *
30
30
  * @private
31
31
  * @static
@@ -64,8 +64,7 @@ function(
64
64
 
65
65
  /**
66
66
  * Registers an overlay for the element or element's id
67
- * @param {string|sap.ui.core.Element} vElementOrId element instance or id
68
- * @param {sap.ui.dt.Overlay} oOverlay overlay to register
67
+ * @param {sap.ui.dt.Overlay} oOverlay - Overlay to register
69
68
  * @public
70
69
  */
71
70
  OverlayRegistry.register = function(oOverlay) {
@@ -22,7 +22,7 @@ function(
22
22
  *
23
23
  * @class Utility functionality to work with overlays
24
24
  * @author SAP SE
25
- * @version 1.96.5
25
+ * @version 1.99.0
26
26
  * @private
27
27
  * @static
28
28
  * @since 1.30
@@ -420,9 +420,9 @@ function(
420
420
  return aFlattenedArray.concat(oCurrentValue);
421
421
  }, []);
422
422
  } else {
423
- aRelevantOverlays = oOverlay.getParentElementOverlay()
424
- .getAggregationOverlay(oOverlay.getParentAggregationOverlay().getAggregationName())
425
- .getChildren();
423
+ var sAggregationName = oOverlay.getParentAggregationOverlay().getAggregationName();
424
+ var oAggregationOverlay = oParentOverlay.getAggregationOverlay(sAggregationName);
425
+ aRelevantOverlays = (oAggregationOverlay && oAggregationOverlay.getChildren()) || [];
426
426
  }
427
427
  }
428
428
 
@@ -644,7 +644,7 @@ function(
644
644
  /**
645
645
  * The AggregationBindingInfo contains the overlay ID and the aggregation name of the bound control together with stack containing
646
646
  * information about the traversed elements for an overlay which is part of an aggregation binding.
647
- * @typedef {Object} sap.ui.dt.OverlayUtil.AggregationBindingInfo
647
+ * @typedef {object} sap.ui.dt.OverlayUtil.AggregationBindingInfo
648
648
  * @property {string} overlayId - ID of the bound overlay that contains binding aggregation template overlays
649
649
  * @property {string} aggregation - Name of the bound aggregation
650
650
  * @property {Object[]} stack - Array of objects containing element, element type, aggregation name, and index of the element in
@@ -26,7 +26,7 @@ function(
26
26
  * @extends sap.ui.base.ManagedObject
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.96.5
29
+ * @version 1.99.0
30
30
  *
31
31
  * @constructor
32
32
  * @private
@@ -64,6 +64,8 @@ function(
64
64
 
65
65
  Plugin.prototype._bProcessingCounter = 0;
66
66
 
67
+ Plugin.prototype._oBusyPromise = {};
68
+
67
69
  /**
68
70
  * Called when the Plugin is initialized
69
71
  * @protected
@@ -236,6 +238,33 @@ function(
236
238
  */
237
239
  Plugin.prototype.isBusy = Plugin.prototype.getBusy;
238
240
 
241
+ /**
242
+ * Setter for the busy property. Sets a promise internally to be able to wait for a busy plugin
243
+ *
244
+ * @param {boolean} bBusy - Value for the busy state
245
+ * @returns {this} Returns <code>this</code>
246
+ */
247
+ Plugin.prototype.setBusy = function(bBusy) {
248
+ if (bBusy && !this.getBusy()) {
249
+ this._oBusyPromise.promise = new Promise(function(resolve) {
250
+ this._oBusyPromise.resolveFunction = resolve;
251
+ }.bind(this));
252
+ } else if (!bBusy && this.getBusy() && this._oBusyPromise.resolveFunction) {
253
+ this._oBusyPromise.resolveFunction();
254
+ }
255
+ this.setProperty("busy", bBusy);
256
+ return this;
257
+ };
258
+
259
+ /**
260
+ * Waits for the busy promise and resolves as soon as the plugin is not busy anymore
261
+ *
262
+ * @returns {Promise<undefined>} Resolves with undefined
263
+ */
264
+ Plugin.prototype.waitForBusyAction = function() {
265
+ return this._oBusyPromise.promise || Promise.resolve();
266
+ };
267
+
239
268
  /**
240
269
  * @param {boolean} bProcessing - processing state to set
241
270
  */
@@ -24,7 +24,7 @@ function(
24
24
  * @extends sap.ui.base.ManagedObject
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.96.5
27
+ * @version 1.99.0
28
28
  *
29
29
  * @constructor
30
30
  * @private
@@ -116,7 +116,7 @@ function(
116
116
  /**
117
117
  * Check if a Dom Node is a target for this Scrollbar Synchronizer
118
118
  * @param {Element} oDomNode Element to be checked
119
- * @return {Boolean} Returns true if the node is a target
119
+ * @return {boolean} Returns true if the node is a target
120
120
  */
121
121
  ScrollbarSynchronizer.prototype.hasTarget = function (oDomNode) {
122
122
  return this.getTargets().indexOf(oDomNode) > -1;
@@ -34,7 +34,7 @@ function (
34
34
  * @extends sap.ui.base.ManagedObject
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.96.5
37
+ * @version 1.99.0
38
38
  *
39
39
  * @constructor
40
40
  * @private
@@ -16,7 +16,7 @@ sap.ui.define(function() {
16
16
  * @namespace
17
17
  * @name sap.ui.dt.SelectionMode
18
18
  * @author SAP SE
19
- * @version 1.96.5
19
+ * @version 1.99.0
20
20
  * @experimental This class is experimental and provides only limited functionality. Also the API might be changed in future.
21
21
  * @private
22
22
  */