@openui5/sap.ui.dt 1.101.0 → 1.102.2

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 (49) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +2 -2
  3. package/src/sap/ui/dt/.library +1 -1
  4. package/src/sap/ui/dt/AggregationDesignTimeMetadata.js +1 -1
  5. package/src/sap/ui/dt/AggregationOverlay.js +1 -1
  6. package/src/sap/ui/dt/ControlObserver.js +1 -1
  7. package/src/sap/ui/dt/DOMUtil.js +1 -1
  8. package/src/sap/ui/dt/DesignTime.js +2 -2
  9. package/src/sap/ui/dt/DesignTimeMetadata.js +1 -1
  10. package/src/sap/ui/dt/ElementDesignTimeMetadata.js +1 -1
  11. package/src/sap/ui/dt/ElementOverlay.js +6 -2
  12. package/src/sap/ui/dt/ElementUtil.js +23 -9
  13. package/src/sap/ui/dt/ManagedObjectObserver.js +1 -1
  14. package/src/sap/ui/dt/MetadataPropagationUtil.js +1 -1
  15. package/src/sap/ui/dt/MutationObserver.js +1 -1
  16. package/src/sap/ui/dt/Overlay.js +43 -23
  17. package/src/sap/ui/dt/OverlayRegistry.js +1 -1
  18. package/src/sap/ui/dt/OverlayUtil.js +1 -1
  19. package/src/sap/ui/dt/Plugin.js +1 -1
  20. package/src/sap/ui/dt/ScrollbarSynchronizer.js +6 -1
  21. package/src/sap/ui/dt/SelectionManager.js +1 -1
  22. package/src/sap/ui/dt/SelectionMode.js +1 -1
  23. package/src/sap/ui/dt/TaskManager.js +1 -1
  24. package/src/sap/ui/dt/TaskRunner.js +1 -1
  25. package/src/sap/ui/dt/Util.js +1 -1
  26. package/src/sap/ui/dt/enablement/ElementEnablementTest.js +1 -1
  27. package/src/sap/ui/dt/enablement/Test.js +1 -1
  28. package/src/sap/ui/dt/enablement/Util.js +1 -1
  29. package/src/sap/ui/dt/enablement/report/LibraryReport.js +1 -1
  30. package/src/sap/ui/dt/enablement/report/QUnitReport.js +1 -1
  31. package/src/sap/ui/dt/enablement/report/Statistic.js +1 -1
  32. package/src/sap/ui/dt/enablement/report/StatisticRenderer.js +1 -1
  33. package/src/sap/ui/dt/enablement/report/Table.js +1 -1
  34. package/src/sap/ui/dt/enablement/report/TableRenderer.js +1 -1
  35. package/src/sap/ui/dt/library.js +2 -2
  36. package/src/sap/ui/dt/plugin/ContextMenu.js +1 -1
  37. package/src/sap/ui/dt/plugin/ControlDragDrop.js +1 -1
  38. package/src/sap/ui/dt/plugin/CutPaste.js +1 -1
  39. package/src/sap/ui/dt/plugin/DragDrop.js +1 -1
  40. package/src/sap/ui/dt/plugin/ElementMover.js +1 -1
  41. package/src/sap/ui/dt/plugin/MouseSelection.js +1 -1
  42. package/src/sap/ui/dt/plugin/TabHandling.js +1 -1
  43. package/src/sap/ui/dt/plugin/ToolHooks.js +1 -1
  44. package/src/sap/ui/dt/themes/base/ContextMenu.less +55 -62
  45. package/src/sap/ui/dt/themes/base/Overlay.less +56 -13
  46. package/src/sap/ui/dt/themes/sap_hcb/ContextMenu.less +31 -0
  47. package/src/sap/ui/dt/themes/sap_hcb/Overlay.less +8 -5
  48. package/src/sap/ui/dt/themes/sap_hcb/library.source.less +1 -0
  49. package/src/sap/ui/dt/util/ZIndexManager.js +1 -1
package/THIRDPARTY.txt CHANGED
@@ -450,7 +450,7 @@ License: Apache-2.0
450
450
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
451
451
  Contained in: lib/jsdoc/ui5/plugin.js
452
452
 
453
- Component: SAP Theming Base Content, version: 11.1.38
453
+ Component: SAP Theming Base Content, version: 11.1.39
454
454
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
455
455
  License: Apache-2.0
456
456
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.dt",
3
- "version": "1.101.0",
3
+ "version": "1.102.2",
4
4
  "description": "OpenUI5 UI Library sap.ui.dt",
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.101.0"
17
+ "@openui5/sap.ui.core": "1.102.2"
18
18
  }
19
19
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.101.0</version>
9
+ <version>1.102.2</version>
10
10
 
11
11
  <documentation>SAP UI library: sap.ui.dt (by SAP, Author)</documentation>
12
12
 
@@ -23,7 +23,7 @@ function (
23
23
  * @extends sap.ui.dt.DesignTimeMetadata
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.101.0
26
+ * @version 1.102.2
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -35,7 +35,7 @@ function(
35
35
  * @extends sap.ui.dt.Overlay
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.101.0
38
+ * @version 1.102.2
39
39
  *
40
40
  * @constructor
41
41
  * @private
@@ -22,7 +22,7 @@ function(ManagedObjectObserver) {
22
22
  * @extends sap.ui.dt.ManagedObjectObserver
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.101.0
25
+ * @version 1.102.2
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @namespace
23
23
  * @author SAP SE
24
- * @version 1.101.0
24
+ * @version 1.102.2
25
25
  *
26
26
  * @private
27
27
  * @since 1.30
@@ -68,7 +68,7 @@ function (
68
68
  * @extends sap.ui.base.ManagedObject
69
69
  *
70
70
  * @author SAP SE
71
- * @version 1.101.0
71
+ * @version 1.102.2
72
72
  *
73
73
  * @constructor
74
74
  * @private
@@ -359,7 +359,7 @@ function (
359
359
  var oOverlay = oEvent.getSource();
360
360
  this._oTaskManager.add({
361
361
  type: "applyStyles",
362
- callbackFn: oOverlay.applyStyles.bind(oOverlay, mParameters.bForceScrollbarSync),
362
+ callbackFn: oOverlay.applyStyles.bind(oOverlay, mParameters.bForceScrollbarSync, mParameters.bSkipForceCalculation),
363
363
  overlayId: oOverlay.getId()
364
364
  }, "overlayId");
365
365
  };
@@ -46,7 +46,7 @@ function(
46
46
  * @extends sap.ui.base.ManagedObject
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.101.0
49
+ * @version 1.102.2
50
50
  *
51
51
  * @constructor
52
52
  * @private
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.dt.DesignTimeMetadata
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.101.0
30
+ * @version 1.102.2
31
31
  *
32
32
  * @constructor
33
33
  * @private
@@ -55,7 +55,7 @@ sap.ui.define([
55
55
  * @extends sap.ui.dt.Overlay
56
56
  *
57
57
  * @author SAP SE
58
- * @version 1.101.0
58
+ * @version 1.102.2
59
59
  *
60
60
  * @constructor
61
61
  * @private
@@ -396,6 +396,7 @@ sap.ui.define([
396
396
  Overlay.prototype._setPosition.call(this, $ScrollContainerOverlayDomRef, mScrollContainerGeometry, this.$());
397
397
  this._handleOverflowScroll(mScrollContainerGeometry, $ScrollContainerOverlayDomRef, this, bForceScrollbarSync);
398
398
  this._setZIndex(mScrollContainerGeometry, $ScrollContainerOverlayDomRef);
399
+ this._setClipPath($ScrollContainerOverlayDomRef, $ScrollContainerDomRef);
399
400
  } else {
400
401
  $ScrollContainerOverlayDomRef.css("display", "none");
401
402
  }
@@ -826,6 +827,9 @@ sap.ui.define([
826
827
  window.cancelAnimationFrame(this._iApplyStylesRequest);
827
828
  }
828
829
  this._iApplyStylesRequest = window.requestAnimationFrame(function () {
830
+ //Cache the geometry values
831
+ this.getGeometry(true);
832
+ mParameters.bSkipForceCalculation = true;
829
833
  this.fireApplyStylesRequired(mParameters);
830
834
  delete this._iApplyStylesRequest;
831
835
  }.bind(this));
@@ -972,7 +976,7 @@ sap.ui.define([
972
976
  } else if (typeof oDTData.isVisible === "function") {
973
977
  bVisible = oDTData.isVisible(oElement);
974
978
  } else {
975
- var oGeometry = this.getGeometry(true);
979
+ var oGeometry = this.getGeometry();
976
980
  if (oGeometry) {
977
981
  bVisible = oGeometry.visible;
978
982
  } else if (oElement instanceof Control) {
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  *
32
32
  * @namespace
33
33
  * @author SAP SE
34
- * @version 1.101.0
34
+ * @version 1.102.2
35
35
  *
36
36
  * @private
37
37
  * @since 1.30
@@ -459,16 +459,30 @@ sap.ui.define([
459
459
  };
460
460
 
461
461
  ElementUtil._evaluateBinding = function(oElement, aStack) {
462
- // var oElement = oElementOverlay.getElement();
463
462
  var sAggregationName;
464
463
  var iIndex;
465
- var oParent = oElement.getParent();
466
-
467
- if (oParent) {
468
- sAggregationName = oElement.sParentAggregationName;
469
- iIndex = ElementUtil.getAggregation(oParent, sAggregationName).indexOf(oElement);
470
- } else {
471
- iIndex = -1;
464
+ var oParent;
465
+ var bBindingFound;
466
+
467
+ // If the binding is found on an API parent (with a forwarded aggregation),
468
+ // the templateId is directly retrieved from it (the stack only has the element itself)
469
+ var aAPIParentInfos = oElement.aAPIParentInfos;
470
+ if (aAPIParentInfos && aAPIParentInfos.length > 0) {
471
+ bBindingFound = aAPIParentInfos.some(function(mParentInfo) {
472
+ oParent = mParentInfo.parent;
473
+ sAggregationName = mParentInfo.aggregationName;
474
+ iIndex = ElementUtil.getAggregation(oParent, sAggregationName).indexOf(oElement);
475
+ return oParent.getBinding(sAggregationName);
476
+ });
477
+ }
478
+ if (!bBindingFound) {
479
+ oParent = oElement.getParent();
480
+ if (oParent) {
481
+ sAggregationName = oElement.sParentAggregationName;
482
+ iIndex = ElementUtil.getAggregation(oParent, sAggregationName).indexOf(oElement);
483
+ } else {
484
+ iIndex = -1;
485
+ }
472
486
  }
473
487
 
474
488
  aStack.push({
@@ -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.101.0
28
+ * @version 1.102.2
29
29
  * @constructor
30
30
  * @private
31
31
  * @since 1.30
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @namespace
23
23
  * @author SAP SE
24
- * @version 1.101.0
24
+ * @version 1.102.2
25
25
  * @private
26
26
  * @since 1.54
27
27
  * @alias sap.ui.dt.MetadataPropagationUtil
@@ -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.101.0
33
+ * @version 1.102.2
34
34
  * @constructor
35
35
  * @private
36
36
  * @since 1.30
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends sap.ui.core.Element
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.101.0
47
+ * @version 1.102.2
48
48
  *
49
49
  * @constructor
50
50
  * @private
@@ -513,7 +513,7 @@ sap.ui.define([
513
513
  /**
514
514
  * FIXME: backwards compatibility, remove when possible
515
515
  * Returns an instance of the Element, which is associated with this Overlay
516
- * @return {sap.ui.Element} associated Element
516
+ * @return {sap.ui.core.Element} associated Element
517
517
  * @public
518
518
  * @deprecated
519
519
  */
@@ -523,7 +523,7 @@ sap.ui.define([
523
523
 
524
524
  /**
525
525
  * Returns an instance of the Element, which is associated with this Overlay
526
- * @return {sap.ui.Element} associated Element
526
+ * @return {sap.ui.core.Element} associated Element
527
527
  * @public
528
528
  */
529
529
  Overlay.prototype.getElement = function() {
@@ -580,20 +580,25 @@ sap.ui.define([
580
580
  * The calculation is based on original associated DOM state and parent overlays
581
581
  * This method also calls "applyStyles" method for every child Overlay of this Overlay (cascade)
582
582
  * @param {boolean} bForceScrollbarSync - `true` to force a scrollbars synchronisation if there are any
583
+ * @param {boolean} bSkipForceCalculation - `true` to skip the geometry calculation (geometry was already cached)
583
584
  * @returns {Promise} Resolves as soon as <code>applyStyles</code> is done
584
585
  * @public
585
586
  */
586
- Overlay.prototype.applyStyles = function(bForceScrollbarSync) {
587
+ Overlay.prototype.applyStyles = function(bForceScrollbarSync, bSkipForceCalculation) {
588
+ var oGeometry;
587
589
  this.fireBeforeGeometryChanged();
588
590
 
589
591
  if (!this.isRendered() || this._bIsBeingDestroyed || this.getShouldBeDestroyed()) {
590
592
  return Promise.resolve();
591
593
  }
592
594
 
595
+ // If not done before, re-calculate the Geometry to cache the values for the isVisible() check
596
+ if (this.getVisible()) {
597
+ oGeometry = this.getGeometry(!bSkipForceCalculation);
598
+ }
599
+
593
600
  var oGeometryChangedPromise = Promise.resolve();
594
601
  if (this.isVisible()) {
595
- var oGeometry = this.getGeometry(true);
596
-
597
602
  if (oGeometry && oGeometry.visible) {
598
603
  this._setSize(this.$(), oGeometry);
599
604
  var $RenderingParent = this._getRenderingParent();
@@ -709,6 +714,16 @@ sap.ui.define([
709
714
  $Target.css("transform", "translate(" + mPosition.left + "px, " + mPosition.top + "px)");
710
715
  };
711
716
 
717
+ /**
718
+ * Sets clip-path of specified DOM element
719
+ * @param {jQuery} $Target - DOM element which will receive new clip-path property
720
+ * @param {jQuery} $Source - DOM element from which the clip-path property will be copied
721
+ */
722
+ Overlay.prototype._setClipPath = function($Target, $Source) {
723
+ var sClipPath = $Source.css("clip-path");
724
+ $Target.css("clip-path", sClipPath);
725
+ };
726
+
712
727
  Overlay.prototype.attachBrowserEvent = function(sEventType, fnHandler, oListener) {
713
728
  if (sEventType && (typeof (sEventType) === "string")) { // do nothing if the first parameter is empty or not a string
714
729
  if (typeof fnHandler === "function") { // also do nothing if the second parameter is not a function
@@ -773,28 +788,33 @@ sap.ui.define([
773
788
  };
774
789
 
775
790
  /**
776
- * Cleans up when scrolling is no longer needed in the overlay
777
- * @param {jQuery} $TargetDomRef - DOM reference to the element where dummy container is located
791
+ * Cleans up when scrolling is no longer needed in the overlay.
792
+ * @param {jQuery} $TargetDomRef - DOM reference to the element where dummy container is located.
778
793
  * @param {sap.ui.dt.ElementOverlay} [oTargetOverlay] - Overlay which holds scrollbar padding via CSS classes. In case of root overlay, the target is undefined.
779
- *
794
+ * @param {Element} oOriginalDomRef - DomRef for the original element.
780
795
  * @private
781
796
  */
782
- Overlay.prototype._deleteDummyContainer = function($TargetDomRef, oTargetOverlay) {
797
+ Overlay.prototype._deleteDummyContainer = function($TargetDomRef, oTargetOverlay, oOriginalDomRef) {
783
798
  var $DummyScrollContainer = $TargetDomRef.find(">.sapUiDtDummyScrollContainer");
784
799
  if ($DummyScrollContainer.length) {
800
+ var oScrollbarSynchronizer = this._oScrollbarSynchronizers.get($TargetDomRef.get(0));
785
801
  $DummyScrollContainer.remove();
786
- this._oScrollbarSynchronizers.get($TargetDomRef.get(0)).destroy();
787
- this._oScrollbarSynchronizers.delete($TargetDomRef.get(0));
788
- if (
789
- oTargetOverlay._oScrollbarSynchronizers.size === 0
790
- && !oTargetOverlay.getChildren().some(function(oAggregationOverlay) {
791
- return oAggregationOverlay._oScrollbarSynchronizers.size > 0;
792
- })
793
- ) {
794
- oTargetOverlay.removeStyleClass("sapUiDtOverlayWithScrollBar");
795
- oTargetOverlay.removeStyleClass("sapUiDtOverlayWithScrollBarVertical");
796
- oTargetOverlay.removeStyleClass("sapUiDtOverlayWithScrollBarHorizontal");
797
- }
802
+ // Ensure that the element positions are synced before destroying
803
+ oScrollbarSynchronizer.attachEventOnce("synced", function() {
804
+ oScrollbarSynchronizer.destroy();
805
+ this._oScrollbarSynchronizers.delete($TargetDomRef.get(0));
806
+ if (
807
+ oTargetOverlay._oScrollbarSynchronizers.size === 0
808
+ && !oTargetOverlay.getChildren().some(function(oAggregationOverlay) {
809
+ return oAggregationOverlay._oScrollbarSynchronizers.size > 0;
810
+ })
811
+ ) {
812
+ oTargetOverlay.removeStyleClass("sapUiDtOverlayWithScrollBar");
813
+ oTargetOverlay.removeStyleClass("sapUiDtOverlayWithScrollBarVertical");
814
+ oTargetOverlay.removeStyleClass("sapUiDtOverlayWithScrollBarHorizontal");
815
+ }
816
+ }.bind(this));
817
+ oScrollbarSynchronizer.sync(oOriginalDomRef, true);
798
818
  }
799
819
  };
800
820
 
@@ -864,7 +884,7 @@ sap.ui.define([
864
884
  oScrollbarSynchronizer.sync(oOriginalDomRef, true);
865
885
  }
866
886
  } else {
867
- this._deleteDummyContainer($TargetDomRef, oTargetOverlay);
887
+ this._deleteDummyContainer($TargetDomRef, oTargetOverlay, oOriginalDomRef);
868
888
  }
869
889
  };
870
890
 
@@ -23,7 +23,7 @@ function(
23
23
  *
24
24
  * @namespace
25
25
  * @author SAP SE
26
- * @version 1.101.0
26
+ * @version 1.102.2
27
27
  *
28
28
  * @private
29
29
  * @since 1.30
@@ -22,7 +22,7 @@ function(
22
22
  *
23
23
  * @namespace
24
24
  * @author SAP SE
25
- * @version 1.101.0
25
+ * @version 1.102.2
26
26
  * @private
27
27
  * @since 1.30
28
28
  * @alias sap.ui.dt.OverlayUtil
@@ -26,7 +26,7 @@ function(
26
26
  * @extends sap.ui.base.ManagedObject
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.101.0
29
+ * @version 1.102.2
30
30
  *
31
31
  * @constructor
32
32
  * @private
@@ -24,7 +24,7 @@ function(
24
24
  * @extends sap.ui.base.ManagedObject
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.101.0
27
+ * @version 1.102.2
28
28
  *
29
29
  * @constructor
30
30
  * @private
@@ -142,6 +142,11 @@ function(
142
142
  this.sync(oEvent.target);
143
143
  };
144
144
 
145
+ /**
146
+ * Triggers the synchronization between two scroll target elements.
147
+ * @param {Element} oSourceDomNode Element that needs to be synchronized with its pair.
148
+ * @param {boolean} bForce Executes the synchronization even if the scroll values in both elements are the same.
149
+ */
145
150
  ScrollbarSynchronizer.prototype.sync = function (oSourceDomNode, bForce) {
146
151
  if (
147
152
  bForce
@@ -34,7 +34,7 @@ function (
34
34
  * @extends sap.ui.base.ManagedObject
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.101.0
37
+ * @version 1.102.2
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.101.0
19
+ * @version 1.102.2
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
  */
@@ -21,7 +21,7 @@ function(
21
21
  * The TaskManager keeps list of task and allows to manage them via simple API.
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.101.0
24
+ * @version 1.102.2
25
25
  *
26
26
  * @constructor
27
27
  * @private
@@ -24,7 +24,7 @@ function(
24
24
  * TaskRunner run tasks defined in sap.ui.dt.TaskManager.
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.101.0
27
+ * @version 1.102.2
28
28
  *
29
29
  * @constructor
30
30
  * @private
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @namespace
24
24
  * @author SAP SE
25
- * @version 1.101.0
25
+ * @version 1.102.2
26
26
  *
27
27
  * @private
28
28
  * @since 1.54
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.dt.test.Test
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.101.0
40
+ * @version 1.102.2
41
41
  *
42
42
  * @constructor
43
43
  * @private
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @extends sap.ui.base.ManagedObject
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.101.0
25
+ * @version 1.102.2
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @namespace
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.101.0
25
+ * @version 1.102.2
26
26
  *
27
27
  * @private
28
28
  * @static
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @extends sap.ui.dt.enablement.Test
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.101.0
28
+ * @version 1.102.2
29
29
  *
30
30
  * @constructor
31
31
  * @private
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.base.ManagedObject
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.101.0
27
+ * @version 1.102.2
28
28
  *
29
29
  * @constructor
30
30
  * @private
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.core.Control
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.101.0
35
+ * @version 1.102.2
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -10,7 +10,7 @@ sap.ui.define(function() {
10
10
 
11
11
  /**
12
12
  * @author SAP SE
13
- * @version 1.101.0
13
+ * @version 1.102.2
14
14
  * @namespace
15
15
  */
16
16
  var StatisticRenderer = {};
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @extends sap.ui.core.Control
43
43
  *
44
44
  * @author SAP SE
45
- * @version 1.101.0
45
+ * @version 1.102.2
46
46
  *
47
47
  * @constructor
48
48
  * @private
@@ -10,7 +10,7 @@ sap.ui.define(function() {
10
10
 
11
11
  /**
12
12
  * @author SAP SE
13
- * @version 1.101.0
13
+ * @version 1.102.2
14
14
  * @namespace
15
15
  */
16
16
  var TableRenderer = {};
@@ -23,14 +23,14 @@ function (
23
23
  * @namespace
24
24
  * @alias sap.ui.dt
25
25
  * @author SAP SE
26
- * @version 1.101.0
26
+ * @version 1.102.2
27
27
  * @since 1.30
28
28
  * @experimental This class is experimental and provides only limited functionality. Also the API might be changed in future.
29
29
  * @private
30
30
  */
31
31
  var thisLib = sap.ui.getCore().initLibrary({
32
32
  name: "sap.ui.dt",
33
- version: "1.101.0",
33
+ version: "1.102.2",
34
34
  dependencies: ["sap.ui.core"],
35
35
  types: [
36
36
  "sap.ui.dt.SelectionMode"
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @class The ContextMenu registers event handler to open the context menu. Menu entries can dynamically be added
35
35
  * @extends sap.ui.dt.Plugin
36
36
  * @author SAP SE
37
- * @version 1.101.0
37
+ * @version 1.102.2
38
38
  * @constructor
39
39
  * @private
40
40
  * @since 1.53
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @class The ControlDragDrop enables D&D functionality for the overlays based on aggregation types
27
27
  * @extends sap.ui.dt.plugin.DragDrop
28
28
  * @author SAP SE
29
- * @version 1.101.0
29
+ * @version 1.102.2
30
30
  * @constructor
31
31
  * @private
32
32
  * @since 1.30
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @class The CutPaste enables Cut & Paste functionality for the overlays based on aggregation types
34
34
  * @extends sap.ui.dt.Plugin
35
35
  * @author SAP SE
36
- * @version 1.101.0
36
+ * @version 1.102.2
37
37
  * @constructor
38
38
  * @private
39
39
  * @since 1.34
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @extends sap.ui.dt.Plugin
37
37
  *
38
38
  * @author SAP SE
39
- * @version 1.101.0
39
+ * @version 1.102.2
40
40
  *
41
41
  * @constructor
42
42
  * @private
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @class The ElementMover enables movement of UI5 elements based on aggregation types, which can be used by drag and
31
31
  * drop or cut and paste behavior.
32
32
  * @author SAP SE
33
- * @version 1.101.0
33
+ * @version 1.102.2
34
34
  * @constructor
35
35
  * @private
36
36
  * @since 1.34
@@ -22,7 +22,7 @@ function(Plugin) {
22
22
  * @extends sap.ui.dt.Plugin
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.101.0
25
+ * @version 1.102.2
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @class The TabHandling plugin adjusts the tabindex for the elements.
28
28
  * @extends sap.ui.dt.Plugin
29
29
  * @author SAP SE
30
- * @version 1.101.0
30
+ * @version 1.102.2
31
31
  * @constructor
32
32
  * @private
33
33
  * @since 1.38
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @extends sap.ui.dt.Plugin
18
18
  * @author SAP SE
19
- * @version 1.101.0
19
+ * @version 1.102.2
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.61
@@ -1,124 +1,117 @@
1
1
  /******************************************************************
2
2
  Style of the DT Contextmenu - base Theme
3
3
  *******************************************************************/
4
- @_sap_ui_dt_ContextMenu_OpenFocusColor: @sapUiContentFocusColor;
5
- @_sap_ui_dt_ContextMenu_MnuItemColor: @sapUiButtonIconColor;
6
- @_sap_ui_dt_ContextMenu_HoverBGColor: @sapUiButtonLiteHoverBackground;
4
+ @_sap_ui_dt_ContextMenu_HoverBGColor: @sapUiButtonLiteHoverBackground; //rgba(199,95,20,0.5)
5
+ @_sap_ui_dt_ContextMenu_OpenMenuBGColor: @sapUiListSelectionBackgroundColor; //#8fb5ff
7
6
 
8
7
  .sapUiDtContextMenu {
9
- .sapUiMnuLst{
8
+ &.sapUiMnu {
9
+ min-width: 4.25rem; //68px
10
+ }
11
+
12
+ .sapUiMnuLst {
10
13
  padding: 0.1875rem;
14
+
11
15
  .sapUiMnuItm {
12
- color: @_sap_ui_dt_ContextMenu_MnuItemColor;
13
- border: 0.0625rem dotted transparent;
14
- border-radius: .25rem;
15
16
  .sapUiMnuItmIco {
16
- color: @_sap_ui_dt_ContextMenu_MnuItemColor;
17
- padding-left: 0.375rem;
18
- padding-right: 0.375rem;
17
+ padding: 0 0.375rem;
18
+
19
19
  .sapUiIcon {
20
- height: 1.875rem;
21
20
  min-width: 2.0rem;
22
- line-height: 1.875rem;
23
- vertical-align: top;
24
21
  border: 0.0625rem dotted transparent;
25
- border-radius: .25rem;
26
22
  }
27
23
  }
24
+
28
25
  &.sapUiMnuItmDsbl {
29
26
  opacity: 0.5;
30
27
  }
31
- .sapUiMnuItmSbMnu > div:after,
32
- .sapUiMnuItm.sapUiMnuItmHov .sapUiMnuItmSbMnu > div:after {
33
- color: @_sap_ui_dt_ContextMenu_MnuItemColor;
34
- }
35
28
  }
36
29
  }
30
+
37
31
  &.sapUiSubmenu,
38
32
  &:not(.sapUiDtContextMiniMenu) {
39
33
  .sapUiMnuItm {
40
34
  &.sapUiMnuItmHov {
41
- background-color: @_sap_ui_dt_ContextMenu_HoverBGColor;
42
- color: @_sap_ui_dt_ContextMenu_MnuItemColor;
43
- }
44
- &:focus {
45
- outline: none;
46
- border: 0.0625rem dotted!important;
47
- }
48
- &.sapUiMnuItmSubMnuOpen {
49
- background-color: transparent;
50
- border-bottom: 1px solid transparent!important;
51
- &.sapUiMnuItm:focus:not(hover) {
52
- border: 0.0625rem dotted @_sap_ui_dt_ContextMenu_OpenFocusColor!important;
53
- }
54
- &.sapUiMnuItm:focus:hover {
55
- border: 0.0625rem solid @_sap_ui_dt_ContextMenu_OpenFocusColor!important;
35
+ &:not(.sapUiMnuItmDsbl) {
36
+ background-color: @_sap_ui_dt_ContextMenu_HoverBGColor;
56
37
  }
57
38
  }
58
39
  }
59
40
  }
60
41
  }
61
42
 
62
- .sapUiSizeCozy.sapUiMnu.sapUiMnuCozySupport {
63
- &.sapUiDtContextMenu {
64
- .sapUiMnuItmIco .sapUiIcon {
65
- height: 2.75rem;
66
- }
67
- }
68
- &.sapUiDtContextMiniMenu {
69
- .sapUiMnuItmIco {
70
- width: 3rem;
71
- .sapUiIcon {
72
- height: 42px;
73
- line-height: 42px!important;
74
- min-width: 48px;
75
- }
76
- }
77
- }
78
- }
79
-
80
43
  .sapUiDtContextMiniMenu {
81
44
  &:not(.sapUiSubmenu) {
82
45
  .sapUiMnuItm {
83
- border: none;
84
46
  display: inline-block;
47
+
85
48
  &:focus {
86
- border: none;
87
49
  outline: none;
50
+
88
51
  .sapUiIcon {
89
52
  border: 0.0625rem dotted;
90
53
  }
91
54
  }
55
+
92
56
  &.sapUiMnuItmHov {
93
57
  background-color: transparent;
58
+
94
59
  .sapUiIcon {
95
60
  background-color: @_sap_ui_dt_ContextMenu_HoverBGColor;
96
- border: 0.0625rem solid;
97
61
  }
98
62
  }
63
+
99
64
  &.sapUiMnuItmSubMnuOpen {
100
65
  background-color: transparent;
101
- border-bottom: 1px solid transparent!important;
102
- &.sapUiMnuItmHov:hover {
103
- background-color: transparent;
104
- }
105
- &.sapUiMnuItm:focus {
66
+
67
+ &:not(.sapUiMnuItmHov) {
106
68
  .sapUiIcon {
107
- border-color: @_sap_ui_dt_ContextMenu_OpenFocusColor;
69
+ background-color: @_sap_ui_dt_ContextMenu_OpenMenuBGColor;
108
70
  }
109
71
  }
110
72
  }
73
+
111
74
  .sapUiMnuItmTxt {
112
75
  display: none !important;
113
76
  }
77
+
114
78
  .sapUiMnuItmSbMnu {
115
79
  right: -1rem;
116
- top: 0.125rem;
117
- padding-right: 0.375rem;
80
+ padding-right: 0.125rem;
118
81
  }
82
+
119
83
  .sapUiMnuItmR {
120
84
  display: none !important;
121
85
  }
122
86
  }
123
87
  }
124
88
  }
89
+
90
+ .sapUiSizeCozy.sapUiMnu.sapUiMnuCozySupport {
91
+ &.sapUiDtContextMiniMenu {
92
+ .sapUiMnuItmIco {
93
+ width: 3rem;
94
+
95
+ .sapUiIcon {
96
+ height: 2.625rem;
97
+ line-height: 2.625rem !important;
98
+ min-width: 3rem;
99
+ }
100
+ }
101
+ }
102
+ }
103
+
104
+ .sapUiSizeCompact .sapUiMnu.sapUiDtContextMenu {
105
+ .sapUiMnuItm {
106
+ height: 2.25rem;
107
+ padding-right: 0.25rem;
108
+
109
+ .sapUiMnuItmIco {
110
+ padding: 0 0.25rem;
111
+ }
112
+
113
+ .sapUiMnuItmSbMnu {
114
+ line-height: 2.25rem;
115
+ }
116
+ }
117
+ }
@@ -1,11 +1,13 @@
1
1
  /******************************************************************
2
2
  Style of the DT Overlays - base Theme
3
3
  *******************************************************************/
4
- @_sap_ui_dt_Overlay_FocusColor : @sapUiContentFocusColor; //#000
5
- @_sap_ui_dt_Overlay_TargetZoneColor : @sapUiSelected; //#2e9cea
6
- @_sap_ui_dt_Overlay_SelectionColor : lighten(@sapUiBlue,10); //#3333ff
7
- @_sap_ui_dt_Overlay_CuttedColor : @sapUiWhite; //#fff
8
- @_sap_ui_dt_Overlay_HighlightColor : @sapUiOrange; //#f27020
4
+ @_sap_ui_dt_Overlay_FocusColor: @sapUiContentFocusColor; //#000
5
+ @_sap_ui_dt_Overlay_TargetZoneColor: @sapUiSelected; //#8fb5ff
6
+ @_sap_ui_dt_Overlay_SelectionColor: lighten(@sapUiChart1, 20); //#6fa0e2
7
+ @_sap_ui_dt_Overlay_CuttedColor: @sapUiNeutralBG; // #fff
8
+ @_sap_ui_dt_Overlay_CuttedBorder: @sapUiSelected; //#8fb5ff
9
+ @_sap_ui_dt_Overlay_HighlightColor: @sapUiShellActiveBackground; //#ec8b46
10
+ @_sap_ui_dt_Overlay_ActiveBG: fade(@sapUiSelected, 10%); //rgba(143, 181, 255, 0.1);
9
11
 
10
12
  #overlay-container {
11
13
  position: absolute;
@@ -54,6 +56,16 @@
54
56
 
55
57
  .sapUiDtOverlayDropZone {
56
58
  z-index: 9999999 !important;
59
+
60
+ > .sapUiDtOverlayChildren {
61
+ > .sapUiDtOverlayMovable {
62
+ background: @_sap_ui_dt_Overlay_ActiveBG;
63
+ // no "border"
64
+ &:after {
65
+ content: none;
66
+ }
67
+ }
68
+ }
57
69
  }
58
70
 
59
71
  .sapUiDtOverlayTargetZone {
@@ -67,19 +79,42 @@
67
79
  .sapUiDtOverlaySelected {
68
80
  &:after {
69
81
  content: " ";
70
- outline: 0.125rem dashed @_sap_ui_dt_Overlay_SelectionColor; //2px
82
+ outline: 0.125rem solid @_sap_ui_dt_Overlay_SelectionColor; //2px
71
83
  outline-offset: -0.125rem; //2px
84
+ border: none;
85
+ }
86
+
87
+ &.sapUiDtOverlayWithScrollBar:after {
88
+ bottom: 0;
89
+ right: 0;
90
+ top: 0;
91
+ left: 0;
92
+ width: initial;
93
+ height: initial;
94
+ }
95
+
96
+ &.sapUiDtOverlayFocusable {
97
+ &:focus {
98
+ &:before {
99
+ top: 0.125rem; //2px
100
+ left: 0.125rem; //2px
101
+ bottom: 0.125rem; //2px
102
+ right: 0.125rem; //2px
103
+ width: auto;
104
+ height: auto;
105
+ }
106
+ }
72
107
  }
73
108
  }
74
109
 
75
110
  .sapUiDtOverlayHighlighted:not(.sapUiDtOverlaySelected) {
76
111
  &:after {
77
- content: " ";
78
- outline: 0.0625rem solid @_sap_ui_dt_Overlay_HighlightColor; //1px
79
- outline-offset: -0.0625rem; //1px
80
- box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3);
112
+ content: " ";
113
+ outline: 0.0625rem solid @_sap_ui_dt_Overlay_HighlightColor; //1px
114
+ outline-offset: -0.0625rem; //1px
115
+ box-shadow: 0 0.1875rem 0.375rem 0 rgba(0, 0, 0, 0.3);
81
116
  }
82
- }
117
+ }
83
118
 
84
119
  .sapUiDtOverlayMovable {
85
120
  cursor: move;
@@ -88,6 +123,12 @@
88
123
  .sapUiDtOverlayCutted {
89
124
  background-color: @_sap_ui_dt_Overlay_CuttedColor !important;
90
125
  opacity: 0.5;
126
+
127
+ &:after {
128
+ content: " ";
129
+ outline: 0.063rem solid @_sap_ui_dt_Overlay_CuttedBorder; //1px
130
+ outline-offset: -0.125rem; //2px
131
+ }
91
132
  }
92
133
 
93
134
  .sapUiDtDragGhostWrapper {
@@ -103,13 +144,15 @@
103
144
 
104
145
  /* fix for chrome */
105
146
  .sap-desktop[data-sap-ui-browser^="cr"] {
106
-
107
147
  .sapUiDtDragGhostWrapper {
108
- padding-left : -500px;
148
+ padding-left: -500px;
109
149
  padding-bottom: 500px;
110
150
  bottom: -1000px;
111
151
  }
152
+ }
112
153
 
154
+ .sapUiDtDragGhost {
155
+ background: @_sap_ui_dt_Overlay_ActiveBG;
113
156
  }
114
157
 
115
158
  .sapUiDtClonedDom {
@@ -0,0 +1,31 @@
1
+ /******************************************************************
2
+ Style of the DT Contextmenu - sap_hcb Theme
3
+ *******************************************************************/
4
+ @_sap_ui_dt_ContextMenu_OpenSubMenuBG: @sapUiSelected; //#0f5d94
5
+ @_sap_ui_dt_ContextMenu_OpenSubMenuBorder: @sapUiNeutralBG; //000
6
+
7
+ .sapUiDtContextMenu {
8
+ .sapUiMnuLst {
9
+ .sapUiMnuItm {
10
+ border-top: 0.0625rem solid transparent; //1px
11
+ &.sapUiMnuItmDsbl {
12
+ opacity: 1;
13
+ }
14
+ }
15
+ }
16
+ }
17
+
18
+
19
+ .sapUiDtContextMiniMenu {
20
+ .sapUiMnuItm {
21
+ border: none;
22
+
23
+ &.sapUiMnuItmSubMnuOpen {
24
+ background-color: @_sap_ui_dt_ContextMenu_OpenSubMenuBorder;
25
+
26
+ .sapUiIcon {
27
+ background-color: @_sap_ui_dt_ContextMenu_OpenSubMenuBG;
28
+ }
29
+ }
30
+ }
31
+ }
@@ -1,5 +1,8 @@
1
- @_sap_ui_dt_Overlay_FocusColor : rgba(255, 255, 255, 0.8);
2
- @_sap_ui_dt_Overlay_TargetZoneColor : lime;
3
- @_sap_ui_dt_Overlay_SelectionColor : white;
4
- @_sap_ui_dt_Overlay_CuttedColor : #555;
5
- @_sap_ui_dt_Overlay_HighlightColor : orange;
1
+ /******************************************************************
2
+ Style of the DT Overlays - sap_hcb Theme
3
+ *******************************************************************/
4
+ @_sap_ui_dt_Overlay_FocusColor: fade(@sapUiNeutralBorder, 80%); //rgba(255, 255, 255, 0.8)
5
+ @_sap_ui_dt_Overlay_TargetZoneColor: @sapUiContentHelpColor; //#03b803
6
+ @_sap_ui_dt_Overlay_SelectionColor: @sapUiNeutralElement; //#ffffff
7
+ @_sap_ui_dt_Overlay_CuttedColor: @sapUiHcReducedAltForeground; // #999
8
+ @_sap_ui_dt_Overlay_HighlightColor: @sapUiWarningBorder; // #ffab1d
@@ -7,3 +7,4 @@
7
7
  @import "../base/library.source.less";
8
8
  @import "../../../../../sap/ui/core/themes/sap_hcb/global.less";
9
9
  @import "Overlay.less";
10
+ @import "ContextMenu.less";
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  *
31
31
  * @namespace
32
32
  * @author SAP SE
33
- * @version 1.101.0
33
+ * @version 1.102.2
34
34
  *
35
35
  * @private
36
36
  * @since 1.64