@openui5/sap.ui.dt 1.127.1 → 1.129.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.
- package/THIRDPARTY.txt +1 -1
- package/package.json +2 -2
- package/src/sap/ui/dt/.library +1 -1
- package/src/sap/ui/dt/AggregationDesignTimeMetadata.js +1 -1
- package/src/sap/ui/dt/AggregationOverlay.js +1 -1
- package/src/sap/ui/dt/ControlObserver.js +1 -1
- package/src/sap/ui/dt/DOMUtil.js +1 -1
- package/src/sap/ui/dt/DesignTime.js +52 -6
- package/src/sap/ui/dt/DesignTimeMetadata.js +1 -1
- package/src/sap/ui/dt/ElementDesignTimeMetadata.js +1 -1
- package/src/sap/ui/dt/ElementOverlay.js +1 -1
- package/src/sap/ui/dt/ElementUtil.js +1 -1
- package/src/sap/ui/dt/ManagedObjectObserver.js +13 -5
- package/src/sap/ui/dt/MetadataPropagationUtil.js +4 -4
- package/src/sap/ui/dt/MutationObserver.js +1 -1
- package/src/sap/ui/dt/Overlay.js +1 -1
- package/src/sap/ui/dt/OverlayRegistry.js +1 -1
- package/src/sap/ui/dt/OverlayUtil.js +1 -1
- package/src/sap/ui/dt/Plugin.js +3 -5
- package/src/sap/ui/dt/ScrollbarSynchronizer.js +1 -1
- package/src/sap/ui/dt/SelectionManager.js +16 -7
- package/src/sap/ui/dt/SelectionMode.js +1 -1
- package/src/sap/ui/dt/TaskManager.js +2 -4
- package/src/sap/ui/dt/TaskRunner.js +1 -1
- package/src/sap/ui/dt/Util.js +1 -1
- package/src/sap/ui/dt/enablement/ElementEnablementTest.js +1 -1
- package/src/sap/ui/dt/enablement/Test.js +1 -1
- package/src/sap/ui/dt/enablement/Util.js +1 -1
- package/src/sap/ui/dt/enablement/report/LibraryReport.js +2 -2
- package/src/sap/ui/dt/enablement/report/QUnitReport.js +1 -1
- package/src/sap/ui/dt/enablement/report/Statistic.js +1 -1
- package/src/sap/ui/dt/enablement/report/StatisticRenderer.js +1 -1
- package/src/sap/ui/dt/enablement/report/Table.js +1 -1
- package/src/sap/ui/dt/enablement/report/TableRenderer.js +1 -1
- package/src/sap/ui/dt/library.js +2 -2
- package/src/sap/ui/dt/plugin/ContextMenu.js +46 -61
- package/src/sap/ui/dt/plugin/ControlDragDrop.js +1 -1
- package/src/sap/ui/dt/plugin/CutPaste.js +1 -1
- package/src/sap/ui/dt/plugin/DragDrop.js +1 -1
- package/src/sap/ui/dt/plugin/ElementMover.js +1 -1
- package/src/sap/ui/dt/plugin/MouseSelection.js +1 -1
- package/src/sap/ui/dt/plugin/ToolHooks.js +1 -1
- package/src/sap/ui/dt/themes/base/ContextMenu.less +11 -77
- package/src/sap/ui/dt/themes/base/Overlay.less +33 -19
- package/src/sap/ui/dt/themes/base/library.source.less +2 -1
- package/src/sap/ui/dt/util/ZIndexManager.js +1 -1
package/THIRDPARTY.txt
CHANGED
|
@@ -468,7 +468,7 @@ License: Apache-2.0
|
|
|
468
468
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
469
469
|
Contained in: lib/jsdoc/ui5/plugin.js
|
|
470
470
|
|
|
471
|
-
Component: SAP Theming Base Content, version: 11.
|
|
471
|
+
Component: SAP Theming Base Content, version: 11.18.0
|
|
472
472
|
Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
|
|
473
473
|
License: Apache-2.0
|
|
474
474
|
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.
|
|
3
|
+
"version": "1.129.0",
|
|
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.
|
|
17
|
+
"@openui5/sap.ui.core": "1.129.0"
|
|
18
18
|
}
|
|
19
19
|
}
|
package/src/sap/ui/dt/.library
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
|
|
8
8
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
|
|
9
|
-
<version>1.
|
|
9
|
+
<version>1.129.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>SAP UI library: sap.ui.dt (by SAP, Author)</documentation>
|
|
12
12
|
|
package/src/sap/ui/dt/DOMUtil.js
CHANGED
|
@@ -69,7 +69,7 @@ sap.ui.define([
|
|
|
69
69
|
* @extends sap.ui.base.ManagedObject
|
|
70
70
|
*
|
|
71
71
|
* @author SAP SE
|
|
72
|
-
* @version 1.
|
|
72
|
+
* @version 1.129.0
|
|
73
73
|
*
|
|
74
74
|
* @constructor
|
|
75
75
|
* @private
|
|
@@ -725,8 +725,8 @@ sap.ui.define([
|
|
|
725
725
|
*/
|
|
726
726
|
DesignTime.prototype.createOverlay = function(vArg) {
|
|
727
727
|
// Function can receive an element as the only argument or object with parameters
|
|
728
|
-
|
|
729
|
-
|
|
728
|
+
const mParams = { ...(isPlainObject(vArg) ? vArg : { element: vArg }) };
|
|
729
|
+
const iTaskId = this._oTaskManager.add({
|
|
730
730
|
type: "createOverlay"
|
|
731
731
|
});
|
|
732
732
|
|
|
@@ -736,8 +736,8 @@ sap.ui.define([
|
|
|
736
736
|
return this._rejectCreateOverlay(mParams.element);
|
|
737
737
|
}
|
|
738
738
|
|
|
739
|
-
|
|
740
|
-
|
|
739
|
+
const sElementId = mParams.element.getId();
|
|
740
|
+
const oElementOverlay = OverlayRegistry.getOverlay(sElementId);
|
|
741
741
|
|
|
742
742
|
// 2. ElementOverlay is already created
|
|
743
743
|
if (oElementOverlay) {
|
|
@@ -791,7 +791,7 @@ sap.ui.define([
|
|
|
791
791
|
}.bind(this));
|
|
792
792
|
}.bind(this))
|
|
793
793
|
.catch(function(vError) {
|
|
794
|
-
|
|
794
|
+
const oError = Util.propagateError(
|
|
795
795
|
vError,
|
|
796
796
|
"DesignTime#createOverlay",
|
|
797
797
|
`Failed attempt to create overlay for element '${sElementId}'`
|
|
@@ -950,6 +950,46 @@ sap.ui.define([
|
|
|
950
950
|
}, {});
|
|
951
951
|
}
|
|
952
952
|
|
|
953
|
+
/**
|
|
954
|
+
* Destroy children of an aggregation binding template.
|
|
955
|
+
* @param {sap.ui.dt.ElementOverlay} oTargetOverlay - ElementOverlay to destroy children for
|
|
956
|
+
* @param {string} sAggregationName - Aggregation name
|
|
957
|
+
*/
|
|
958
|
+
DesignTime.prototype._destroyChildrenForAggregationBindingTemplate = function(oTargetOverlay, sAggregationName) {
|
|
959
|
+
const oTemplateRootOverlays = oTargetOverlay.getAggregationBindingTemplateOverlays();
|
|
960
|
+
oTemplateRootOverlays.forEach((oTemplateRootOverlay) => {
|
|
961
|
+
if (oTemplateRootOverlay.getAggregationName() === sAggregationName) {
|
|
962
|
+
oTemplateRootOverlay.destroy();
|
|
963
|
+
}
|
|
964
|
+
});
|
|
965
|
+
};
|
|
966
|
+
|
|
967
|
+
/**
|
|
968
|
+
* Create children of an aggregation binding template. It is called when the aggregation binding
|
|
969
|
+
* is changed during runtime.
|
|
970
|
+
* @param {sap.ui.dt.ElementOverlay} oElementOverlay - ElementOverlay to create children for
|
|
971
|
+
* @returns {Promise} Resolves when whole hierarchy of children for specified ElementOverlay is created
|
|
972
|
+
* @private
|
|
973
|
+
*/
|
|
974
|
+
DesignTime.prototype._createChildrenForAggregationBindingTemplate = function(oElementOverlay) {
|
|
975
|
+
const aAggregationNames = oElementOverlay.getAggregationNames();
|
|
976
|
+
const mParentAggregationMetadata = oElementOverlay.getDesignTimeMetadata().getData();
|
|
977
|
+
const mAggregationBindingTemplates = getAggregationBindingTemplates(oElementOverlay, aAggregationNames);
|
|
978
|
+
const aTemplateAggregationNames = Object.keys(mAggregationBindingTemplates);
|
|
979
|
+
|
|
980
|
+
// Consider each aggregation binding template which is not nested inside an existing template structure as a root template
|
|
981
|
+
// Separate root templates and their children from the instances of the root template as well as all nested template instances
|
|
982
|
+
const bHasTemplateAggregation = !isEmptyObject(mAggregationBindingTemplates);
|
|
983
|
+
|
|
984
|
+
return this._createChildrenOverlays(
|
|
985
|
+
oElementOverlay,
|
|
986
|
+
mParentAggregationMetadata,
|
|
987
|
+
aTemplateAggregationNames,
|
|
988
|
+
bHasTemplateAggregation,
|
|
989
|
+
mAggregationBindingTemplates
|
|
990
|
+
);
|
|
991
|
+
};
|
|
992
|
+
|
|
953
993
|
/**
|
|
954
994
|
* Creates children for specified ElementOverlay.
|
|
955
995
|
* @param {sap.ui.dt.ElementOverlay} oElementOverlay - ElementOverlay to create children for
|
|
@@ -1260,6 +1300,12 @@ sap.ui.define([
|
|
|
1260
1300
|
this.fireElementPropertyChanged(oParams);
|
|
1261
1301
|
}
|
|
1262
1302
|
break;
|
|
1303
|
+
case "bindAggregation":
|
|
1304
|
+
this._createChildrenForAggregationBindingTemplate(oElementOverlay);
|
|
1305
|
+
break;
|
|
1306
|
+
case "unbindAggregation":
|
|
1307
|
+
this._destroyChildrenForAggregationBindingTemplate(oElementOverlay, oParams.name);
|
|
1308
|
+
break;
|
|
1263
1309
|
default:
|
|
1264
1310
|
break;
|
|
1265
1311
|
}
|
|
@@ -23,7 +23,7 @@ sap.ui.define([
|
|
|
23
23
|
* @class The ManagedObjectObserver observes changes of a ManagedObject and propagates them via events.
|
|
24
24
|
* @extends sap.ui.base.ManagedObject
|
|
25
25
|
* @author SAP SE
|
|
26
|
-
* @version 1.
|
|
26
|
+
* @version 1.129.0
|
|
27
27
|
* @constructor
|
|
28
28
|
* @private
|
|
29
29
|
* @since 1.30
|
|
@@ -161,9 +161,13 @@ sap.ui.define([
|
|
|
161
161
|
this._fnOriginalBindAggregation = oTarget.bindAggregation;
|
|
162
162
|
oTarget.bindAggregation = function(...aArgs) {
|
|
163
163
|
const [sAggregationName] = aArgs;
|
|
164
|
-
|
|
164
|
+
const vOriginalReturn = this._fnOriginalBindAggregation.apply(oTarget, aArgs);
|
|
165
165
|
if (this._isAggregationObservable(sAggregationName)) {
|
|
166
|
-
this.fireModified(
|
|
166
|
+
this.fireModified({
|
|
167
|
+
type: "bindAggregation",
|
|
168
|
+
name: sAggregationName,
|
|
169
|
+
target: oTarget
|
|
170
|
+
});
|
|
167
171
|
}
|
|
168
172
|
return vOriginalReturn;
|
|
169
173
|
}.bind(this);
|
|
@@ -172,9 +176,13 @@ sap.ui.define([
|
|
|
172
176
|
this._fnOriginalUnBindAggregation = oTarget.unbindAggregation;
|
|
173
177
|
oTarget.unbindAggregation = function(...aArgs) {
|
|
174
178
|
const [sAggregationName] = aArgs;
|
|
175
|
-
|
|
179
|
+
const vOriginalReturn = this._fnOriginalUnBindAggregation.apply(oTarget, aArgs);
|
|
176
180
|
if (this._isAggregationObservable(sAggregationName)) {
|
|
177
|
-
this.fireModified(
|
|
181
|
+
this.fireModified({
|
|
182
|
+
type: "unbindAggregation",
|
|
183
|
+
name: sAggregationName,
|
|
184
|
+
target: oTarget
|
|
185
|
+
});
|
|
178
186
|
}
|
|
179
187
|
return vOriginalReturn;
|
|
180
188
|
}.bind(this);
|
|
@@ -21,7 +21,7 @@ sap.ui.define([
|
|
|
21
21
|
*
|
|
22
22
|
* @namespace
|
|
23
23
|
* @author SAP SE
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.129.0
|
|
25
25
|
* @private
|
|
26
26
|
* @since 1.54
|
|
27
27
|
* @alias sap.ui.dt.MetadataPropagationUtil
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
!mAggregationMetadata.propagationInfos) {
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
|
-
return
|
|
37
|
+
return [...mAggregationMetadata.propagationInfos];
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
MetadataPropagationUtil._getCurrentRelevantContainerPropagation = function(mElementDtMetadataForAggregation, oElement) {
|
|
@@ -106,7 +106,7 @@ sap.ui.define([
|
|
|
106
106
|
var mNewPropagationInfo;
|
|
107
107
|
var mMetadataFunctionPropagation;
|
|
108
108
|
var mRelevantContainerPropagation;
|
|
109
|
-
var mMetadata =
|
|
109
|
+
var mMetadata = { ...mOriginalMetadata };
|
|
110
110
|
|
|
111
111
|
var aPropagatedRelevantContainersFromParent = MetadataPropagationUtil._getParentPropagationInfo(mParentAggregationMetadata);
|
|
112
112
|
|
|
@@ -116,7 +116,7 @@ sap.ui.define([
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
if (aPropagatedRelevantContainersFromParent || !isEmptyObject(mRelevantContainerPropagation) || !isEmptyObject(mMetadataFunctionPropagation)) {
|
|
119
|
-
mNewPropagationInfo =
|
|
119
|
+
mNewPropagationInfo = { ...mRelevantContainerPropagation, ...mMetadataFunctionPropagation };
|
|
120
120
|
return MetadataPropagationUtil._setPropagationInfo(mMetadata, mNewPropagationInfo, aPropagatedRelevantContainersFromParent);
|
|
121
121
|
}
|
|
122
122
|
return mMetadata;
|
|
@@ -32,7 +32,7 @@ sap.ui.define([
|
|
|
32
32
|
* @class The MutationObserver observes changes of a ManagedObject and propagates them via events.
|
|
33
33
|
* @extends sap.ui.base.ManagedObject
|
|
34
34
|
* @author SAP SE
|
|
35
|
-
* @version 1.
|
|
35
|
+
* @version 1.129.0
|
|
36
36
|
* @constructor
|
|
37
37
|
* @private
|
|
38
38
|
* @since 1.30
|
package/src/sap/ui/dt/Overlay.js
CHANGED
package/src/sap/ui/dt/Plugin.js
CHANGED
|
@@ -27,7 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
* @extends sap.ui.base.ManagedObject
|
|
28
28
|
*
|
|
29
29
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.129.0
|
|
31
31
|
*
|
|
32
32
|
* @constructor
|
|
33
33
|
* @private
|
|
@@ -374,7 +374,6 @@ sap.ui.define([
|
|
|
374
374
|
* @param {string} mPropertyBag.pluginId The ID of the plugin
|
|
375
375
|
* @param {number} mPropertyBag.rank The rank deciding the position of the action in the context menu
|
|
376
376
|
* @param {string} mPropertyBag.icon an icon for the Button inside the context menu
|
|
377
|
-
* @param {string} mPropertyBag.group A group for buttons which should be grouped together in the MiniMenu
|
|
378
377
|
* @return {object[]} Returns an array with the object containing the required data for a context menu item
|
|
379
378
|
*/
|
|
380
379
|
Plugin.prototype._getMenuItems = async function(aElementOverlays, mPropertyBag) {
|
|
@@ -383,8 +382,7 @@ sap.ui.define([
|
|
|
383
382
|
handler: this.handler.bind(this),
|
|
384
383
|
enabled: this.isEnabled.bind(this),
|
|
385
384
|
rank: mPropertyBag.rank,
|
|
386
|
-
icon: mPropertyBag.icon
|
|
387
|
-
group: mPropertyBag.group
|
|
385
|
+
icon: mPropertyBag.icon
|
|
388
386
|
}, aElementOverlays);
|
|
389
387
|
|
|
390
388
|
var aResponsibleElementOverlays = oMenuItem.responsible || aElementOverlays;
|
|
@@ -462,7 +460,7 @@ sap.ui.define([
|
|
|
462
460
|
return true;
|
|
463
461
|
}
|
|
464
462
|
}.bind(this));
|
|
465
|
-
return
|
|
463
|
+
return { ...oMenuItem, ...(bEnhanceMenuItem && {responsible: aResponsibleElementOverlays}) };
|
|
466
464
|
};
|
|
467
465
|
|
|
468
466
|
return Plugin;
|
|
@@ -32,7 +32,7 @@ function(
|
|
|
32
32
|
* @extends sap.ui.base.ManagedObject
|
|
33
33
|
*
|
|
34
34
|
* @author SAP SE
|
|
35
|
-
* @version 1.
|
|
35
|
+
* @version 1.129.0
|
|
36
36
|
*
|
|
37
37
|
* @constructor
|
|
38
38
|
* @private
|
|
@@ -302,9 +302,9 @@ function(
|
|
|
302
302
|
};
|
|
303
303
|
|
|
304
304
|
/**
|
|
305
|
-
*
|
|
305
|
+
* Adds hover effect to the specified overlays.
|
|
306
306
|
* @param {sap.ui.dt.ElementOverlay|sap.ui.dt.ElementOverlay[]|sap.ui.core.Control|sap.ui.core.Control[]|String|String[]} vObjects
|
|
307
|
-
* Objects
|
|
307
|
+
* Objects can be:
|
|
308
308
|
* - a single overlay
|
|
309
309
|
* - an array of overlays
|
|
310
310
|
* - an element which has an overlay
|
|
@@ -314,15 +314,24 @@ function(
|
|
|
314
314
|
*/
|
|
315
315
|
SelectionManager.prototype.addHover = function(vObjects) {
|
|
316
316
|
getOverlays(vObjects).forEach(function(oElementOverlay) {
|
|
317
|
-
|
|
318
|
-
oElementOverlay.addStyleClass("sapUiRtaOverlayHover");
|
|
317
|
+
oElementOverlay.addStyleClass("sapUiDtOverlayHover");
|
|
319
318
|
});
|
|
320
319
|
};
|
|
321
320
|
|
|
321
|
+
/**
|
|
322
|
+
* Removes hover effect from the specified overlays.
|
|
323
|
+
* @param {sap.ui.dt.ElementOverlay|sap.ui.dt.ElementOverlay[]|sap.ui.core.Control|sap.ui.core.Control[]|String|String[]} vObjects
|
|
324
|
+
* Objects can be:
|
|
325
|
+
* - a single overlay
|
|
326
|
+
* - an array of overlays
|
|
327
|
+
* - an element which has an overlay
|
|
328
|
+
* - an array of elements
|
|
329
|
+
* - a single control ID or Overlay ID
|
|
330
|
+
* - an array of control IDs or overlay IDs
|
|
331
|
+
*/
|
|
322
332
|
SelectionManager.prototype.removeHover = function(vObjects) {
|
|
323
333
|
getOverlays(vObjects).forEach(function(oElementOverlay) {
|
|
324
|
-
|
|
325
|
-
oElementOverlay.removeStyleClass("sapUiRtaOverlayHover");
|
|
334
|
+
oElementOverlay.removeStyleClass("sapUiDtOverlayHover");
|
|
326
335
|
});
|
|
327
336
|
};
|
|
328
337
|
|
|
@@ -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.
|
|
24
|
+
* @version 1.129.0
|
|
25
25
|
*
|
|
26
26
|
* @constructor
|
|
27
27
|
* @private
|
|
@@ -121,9 +121,7 @@ function(
|
|
|
121
121
|
TaskManager.prototype._addTask = function(mTask) {
|
|
122
122
|
var iTaskId = this._iNextId++;
|
|
123
123
|
this._mQueuedTasks[mTask.type] ||= [];
|
|
124
|
-
this._mQueuedTasks[mTask.type].push(
|
|
125
|
-
id: iTaskId
|
|
126
|
-
}));
|
|
124
|
+
this._mQueuedTasks[mTask.type].push({ ...mTask, id: iTaskId });
|
|
127
125
|
this._iTaskCounter++;
|
|
128
126
|
if (!this.getSuppressEvents()) {
|
|
129
127
|
this.fireAdd({
|
package/src/sap/ui/dt/Util.js
CHANGED
|
@@ -27,7 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
* @extends sap.ui.dt.enablement.Test
|
|
28
28
|
*
|
|
29
29
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.129.0
|
|
31
31
|
*
|
|
32
32
|
* @constructor
|
|
33
33
|
* @private
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
|
|
75
75
|
var oElementTestDataWithoutCreate = null;
|
|
76
76
|
if (oElementTestData.create) {
|
|
77
|
-
oElementTestDataWithoutCreate =
|
|
77
|
+
oElementTestDataWithoutCreate = { ...oElementTestData };
|
|
78
78
|
delete oElementTestDataWithoutCreate.create;
|
|
79
79
|
oElementTestData.groupPostfix = "with create method";
|
|
80
80
|
}
|
package/src/sap/ui/dt/library.js
CHANGED
|
@@ -123,7 +123,7 @@ sap.ui.define([
|
|
|
123
123
|
* @namespace
|
|
124
124
|
* @alias sap.ui.dt
|
|
125
125
|
* @author SAP SE
|
|
126
|
-
* @version 1.
|
|
126
|
+
* @version 1.129.0
|
|
127
127
|
* @since 1.30
|
|
128
128
|
* @private
|
|
129
129
|
* @ui5-restricted
|
|
@@ -131,7 +131,7 @@ sap.ui.define([
|
|
|
131
131
|
var thisLib = Lib.init({
|
|
132
132
|
name: "sap.ui.dt",
|
|
133
133
|
apiVersion: 2,
|
|
134
|
-
version: "1.
|
|
134
|
+
version: "1.129.0",
|
|
135
135
|
dependencies: ["sap.ui.core"],
|
|
136
136
|
types: [],
|
|
137
137
|
interfaces: [],
|
|
@@ -4,25 +4,27 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
|
-
"sap/
|
|
7
|
+
"sap/base/assert",
|
|
8
8
|
"sap/m/Menu",
|
|
9
9
|
"sap/m/MenuItem",
|
|
10
|
-
"sap/ui/
|
|
11
|
-
"sap/ui/dt/OverlayRegistry",
|
|
10
|
+
"sap/ui/base/DesignTime",
|
|
12
11
|
"sap/ui/dt/util/_createPromise",
|
|
13
|
-
"sap/ui/
|
|
14
|
-
"sap/
|
|
15
|
-
"sap/ui/
|
|
12
|
+
"sap/ui/dt/Plugin",
|
|
13
|
+
"sap/ui/dt/OverlayRegistry",
|
|
14
|
+
"sap/ui/dt/Util",
|
|
15
|
+
"sap/ui/events/KeyCodes",
|
|
16
|
+
"sap/ui/Device"
|
|
16
17
|
], function(
|
|
17
|
-
|
|
18
|
+
assert,
|
|
18
19
|
Menu,
|
|
19
20
|
MenuItem,
|
|
20
|
-
|
|
21
|
-
OverlayRegistry,
|
|
21
|
+
BaseDesignTime,
|
|
22
22
|
_createPromise,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
Plugin,
|
|
24
|
+
OverlayRegistry,
|
|
25
|
+
DtUtil,
|
|
26
|
+
KeyCodes,
|
|
27
|
+
Device
|
|
26
28
|
) {
|
|
27
29
|
"use strict";
|
|
28
30
|
|
|
@@ -34,13 +36,13 @@ sap.ui.define([
|
|
|
34
36
|
* @class The ContextMenu registers event handler to open the context menu. Menu entries can dynamically be added
|
|
35
37
|
* @extends sap.ui.dt.Plugin
|
|
36
38
|
* @author SAP SE
|
|
37
|
-
* @version 1.
|
|
39
|
+
* @version 1.129.0
|
|
38
40
|
* @constructor
|
|
39
41
|
* @private
|
|
40
42
|
* @since 1.53
|
|
41
43
|
* @alias sap.ui.dt.plugin.ContextMenu
|
|
42
44
|
*/
|
|
43
|
-
|
|
45
|
+
const ContextMenu = Plugin.extend("sap.ui.dt.plugin.ContextMenu", /** @lends sap.ui.rta.plugin.ContextMenu.prototype */ {
|
|
44
46
|
metadata: {
|
|
45
47
|
library: "sap.ui.dt",
|
|
46
48
|
properties: {
|
|
@@ -60,14 +62,13 @@ sap.ui.define([
|
|
|
60
62
|
|
|
61
63
|
});
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
var miniMenuStyleClass = "sapUiDtContextMiniMenu";
|
|
65
|
+
const sMainStyleClass = "sapUiDtContextMenu";
|
|
65
66
|
|
|
66
67
|
ContextMenu.prototype.init = function() {
|
|
67
68
|
this.oContextMenuControl = new Menu();
|
|
68
69
|
this.oContextMenuControl.attachItemSelected(this._onItemSelected, this);
|
|
69
70
|
this.oContextMenuControl.attachClosed(this._contextMenuClosed, this);
|
|
70
|
-
this.oContextMenuControl.addStyleClass(
|
|
71
|
+
this.oContextMenuControl.addStyleClass(sMainStyleClass);
|
|
71
72
|
this._aMenuItems = [];
|
|
72
73
|
this._aGroupedItems = [];
|
|
73
74
|
this._aSubMenus = [];
|
|
@@ -96,7 +97,7 @@ sap.ui.define([
|
|
|
96
97
|
* @param {boolean} bPersistOneTime flag to mark that the Button persist the next Menu clearing
|
|
97
98
|
*/
|
|
98
99
|
ContextMenu.prototype.addMenuItem = function(mMenuItem, bRetrievedFromPlugin, bPersistOneTime) {
|
|
99
|
-
|
|
100
|
+
const mMenuItemEntry = {
|
|
100
101
|
menuItem: mMenuItem,
|
|
101
102
|
fromPlugin: !!bRetrievedFromPlugin,
|
|
102
103
|
bPersistOneTime
|
|
@@ -135,27 +136,22 @@ sap.ui.define([
|
|
|
135
136
|
/**
|
|
136
137
|
* Opens the Context Menu
|
|
137
138
|
* @param {sap.ui.dt.Overlay} oOverlay - Overlay object
|
|
138
|
-
* @param {boolean} bContextMenu - Whether the control should be opened as a context menu
|
|
139
139
|
* @param {boolean} bIsSubMenu - Whether the new ContextMenu is a SubMenu opened by a menu item inside another ContextMenu
|
|
140
140
|
* @param {object} oEvent - Click event of the menu
|
|
141
141
|
*/
|
|
142
|
-
ContextMenu.prototype.open = function(oOverlay,
|
|
143
|
-
|
|
142
|
+
ContextMenu.prototype.open = function(oOverlay, bIsSubMenu, oEvent) {
|
|
143
|
+
let aSelectedOverlays;
|
|
144
144
|
function addMenuItems(oMenu, aMenuItems) {
|
|
145
145
|
aMenuItems.forEach(function(oMenuItem, index) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
var sTooltip;
|
|
149
|
-
if (!bContextMenu) {
|
|
150
|
-
sTooltip = sText;
|
|
151
|
-
}
|
|
146
|
+
const sText = typeof oMenuItem.text === "function" ? oMenuItem.text(oOverlay) : oMenuItem.text;
|
|
147
|
+
const bEnabled = typeof oMenuItem.enabled === "function" ? oMenuItem.enabled(aSelectedOverlays) : oMenuItem.enabled;
|
|
152
148
|
oMenu.addItem(
|
|
153
149
|
new MenuItem({
|
|
154
150
|
key: oMenuItem.id,
|
|
155
151
|
icon: oMenuItem.icon,
|
|
156
152
|
text: sText,
|
|
157
153
|
enabled: bEnabled
|
|
158
|
-
})
|
|
154
|
+
})
|
|
159
155
|
);
|
|
160
156
|
if (oMenuItem.submenu) {
|
|
161
157
|
addMenuItems(oMenu.getItems()[index], oMenuItem.submenu);
|
|
@@ -163,13 +159,7 @@ sap.ui.define([
|
|
|
163
159
|
});
|
|
164
160
|
}
|
|
165
161
|
|
|
166
|
-
|
|
167
|
-
if (this._bContextMenu) {
|
|
168
|
-
this.oContextMenuControl.removeStyleClass(miniMenuStyleClass);
|
|
169
|
-
} else {
|
|
170
|
-
this.oContextMenuControl.addStyleClass(miniMenuStyleClass);
|
|
171
|
-
}
|
|
172
|
-
var oNewContextElement = oOverlay.getElement();
|
|
162
|
+
const oNewContextElement = oOverlay.getElement();
|
|
173
163
|
if (this._fnCancelMenuPromise) {
|
|
174
164
|
// Menu is still opening
|
|
175
165
|
if (this.getContextElement() === oNewContextElement) {
|
|
@@ -200,9 +190,9 @@ sap.ui.define([
|
|
|
200
190
|
// Remove all previous entries retrieved by plugins (the list should always be rebuilt)
|
|
201
191
|
this.oContextMenuControl.destroyItems();
|
|
202
192
|
|
|
203
|
-
|
|
193
|
+
let oPromise = Promise.resolve();
|
|
204
194
|
if (!bIsSubMenu) {
|
|
205
|
-
|
|
195
|
+
const oDtSyncPromise = _createPromise(function(resolve, reject) {
|
|
206
196
|
DtUtil.waitForSynced(this.getDesignTime())().then(resolve).catch(reject);
|
|
207
197
|
}.bind(this));
|
|
208
198
|
this._fnCancelMenuPromise = oDtSyncPromise.cancel;
|
|
@@ -210,17 +200,17 @@ sap.ui.define([
|
|
|
210
200
|
.then(function() {
|
|
211
201
|
this._aGroupedItems = [];
|
|
212
202
|
this._aSubMenus = [];
|
|
213
|
-
|
|
214
|
-
|
|
203
|
+
const aPluginItemPromises = [];
|
|
204
|
+
const oPlugins = this.getDesignTime().getPlugins();
|
|
215
205
|
oPlugins.forEach(function(oPlugin) {
|
|
216
|
-
|
|
206
|
+
let vMenuItems = oPlugin.getMenuItems(aSelectedOverlays);
|
|
217
207
|
if (!(vMenuItems instanceof Promise)) {
|
|
218
208
|
vMenuItems = Promise.resolve(vMenuItems);
|
|
219
209
|
}
|
|
220
210
|
aPluginItemPromises.push(vMenuItems);
|
|
221
211
|
});
|
|
222
212
|
|
|
223
|
-
|
|
213
|
+
const oPluginItemsPromise = _createPromise(function(resolve, reject) {
|
|
224
214
|
Promise.all(aPluginItemPromises).then(resolve).catch(reject);
|
|
225
215
|
});
|
|
226
216
|
this._fnCancelMenuPromise = oPluginItemsPromise.cancel;
|
|
@@ -233,14 +223,7 @@ sap.ui.define([
|
|
|
233
223
|
})
|
|
234
224
|
.then(function(aPluginMenuItems) {
|
|
235
225
|
aPluginMenuItems.forEach(function(mMenuItem) {
|
|
236
|
-
|
|
237
|
-
var bEnabled = typeof mMenuItem.enabled === "function" ? mMenuItem.enabled(aSelectedOverlays) : mMenuItem.enabled;
|
|
238
|
-
if (!bEnabled && !bContextMenu) {
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
if (mMenuItem.group !== undefined && !bContextMenu) {
|
|
242
|
-
this._addMenuItemToGroup(mMenuItem);
|
|
243
|
-
} else if (mMenuItem.submenu !== undefined) {
|
|
226
|
+
if (mMenuItem.submenu !== undefined) {
|
|
244
227
|
this._addSubMenu(mMenuItem);
|
|
245
228
|
} else {
|
|
246
229
|
this.addMenuItem(mMenuItem, true);
|
|
@@ -253,7 +236,7 @@ sap.ui.define([
|
|
|
253
236
|
}
|
|
254
237
|
|
|
255
238
|
oPromise.then(function() {
|
|
256
|
-
|
|
239
|
+
let aMenuItems = this._aMenuItems.map(function(mMenuItemEntry) {
|
|
257
240
|
return mMenuItemEntry.menuItem;
|
|
258
241
|
});
|
|
259
242
|
|
|
@@ -305,18 +288,18 @@ sap.ui.define([
|
|
|
305
288
|
this._ensureSelection(this._oCurrentOverlay);
|
|
306
289
|
|
|
307
290
|
function callHandler(oMenuItem, oEventItem) {
|
|
308
|
-
|
|
291
|
+
const aSelection = oMenuItem.responsible || this.getSelectedOverlays() || [];
|
|
309
292
|
assert(aSelection.length > 0, "sap.ui.rta - Opening context menu, with empty selection - check event order");
|
|
310
|
-
|
|
293
|
+
const mPropertiesBag = {};
|
|
311
294
|
mPropertiesBag.eventItem = oEventItem;
|
|
312
295
|
mPropertiesBag.contextElement = this.getContextElement();
|
|
313
296
|
oMenuItem.handler(aSelection, mPropertiesBag);
|
|
314
297
|
}
|
|
315
298
|
|
|
316
|
-
|
|
299
|
+
const sSelectedItemId = oEventItem.getParameter("item").getKey();
|
|
317
300
|
|
|
318
301
|
this._aMenuItems.some(function(mMenuItemEntry) {
|
|
319
|
-
|
|
302
|
+
const oItem = mMenuItemEntry.menuItem;
|
|
320
303
|
if (sSelectedItemId === mMenuItemEntry.menuItem.id) {
|
|
321
304
|
callHandler.apply(this, [oItem, oEventItem]);
|
|
322
305
|
return true;
|
|
@@ -338,7 +321,7 @@ sap.ui.define([
|
|
|
338
321
|
* @param {sap.ui.base.Event} oEvent the event which was fired
|
|
339
322
|
*/
|
|
340
323
|
ContextMenu.prototype._onKeyUp = function(oEvent) {
|
|
341
|
-
|
|
324
|
+
const oOverlay = OverlayRegistry.getOverlay(oEvent.currentTarget.id);
|
|
342
325
|
// Prevents that the context menu opens after finishing a rename with ENTER
|
|
343
326
|
if (oEvent.keyCode === KeyCodes.ENTER && oOverlay.getIgnoreEnterKeyUpOnce()) {
|
|
344
327
|
oOverlay.setIgnoreEnterKeyUpOnce(false);
|
|
@@ -374,7 +357,7 @@ sap.ui.define([
|
|
|
374
357
|
* @param {sap.ui.base.Event} oEvent the event which was fired
|
|
375
358
|
*/
|
|
376
359
|
ContextMenu.prototype._onKeyDown = function(oEvent) {
|
|
377
|
-
|
|
360
|
+
const oOverlay = OverlayRegistry.getOverlay(oEvent.currentTarget.id);
|
|
378
361
|
if ((oEvent.keyCode === KeyCodes.SPACE) &&
|
|
379
362
|
(oEvent.shiftKey === false) &&
|
|
380
363
|
(oEvent.altKey === false) &&
|
|
@@ -393,11 +376,14 @@ sap.ui.define([
|
|
|
393
376
|
* @param {sap.ui.base.Event} oEvent the event which was fired
|
|
394
377
|
*/
|
|
395
378
|
ContextMenu.prototype._openContextMenu = function(oEvent) {
|
|
396
|
-
|
|
379
|
+
// Left mouse click in design mode should not open the context menu
|
|
380
|
+
if (oEvent.type === "click" && BaseDesignTime.isDesignModeEnabled()) {
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
const oOverlay = OverlayRegistry.getOverlay(oEvent.currentTarget.id);
|
|
397
384
|
if (oOverlay && oOverlay.isSelectable() && oOverlay.getSelected()) {
|
|
398
385
|
this._oCurrentOverlay = oOverlay;
|
|
399
|
-
|
|
400
|
-
this.open(oOverlay, bContextMenu, undefined, oEvent);
|
|
386
|
+
this.open(oOverlay, undefined, oEvent);
|
|
401
387
|
}
|
|
402
388
|
};
|
|
403
389
|
|
|
@@ -405,7 +391,6 @@ sap.ui.define([
|
|
|
405
391
|
* Called when ContextMenu gets closed
|
|
406
392
|
*/
|
|
407
393
|
ContextMenu.prototype._contextMenuClosed = function() {
|
|
408
|
-
this.oContextMenuControl.removeStyleClass(miniMenuStyleClass);
|
|
409
394
|
this.fireClosedContextMenu();
|
|
410
395
|
};
|
|
411
396
|
|
|
@@ -448,7 +433,7 @@ sap.ui.define([
|
|
|
448
433
|
* @param {object} mMenuItem The menu item to add to a group
|
|
449
434
|
*/
|
|
450
435
|
ContextMenu.prototype._addMenuItemToGroup = function(mMenuItem) {
|
|
451
|
-
|
|
436
|
+
const bGroupExists = this._aGroupedItems.some(function(_oGroupedItem) {
|
|
452
437
|
if (_oGroupedItem.sGroupName === mMenuItem.group) {
|
|
453
438
|
_oGroupedItem.aGroupedItems.push(mMenuItem);
|
|
454
439
|
return true;
|
|
@@ -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.
|
|
29
|
+
* @version 1.129.0
|
|
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.
|
|
36
|
+
* @version 1.129.0
|
|
37
37
|
* @constructor
|
|
38
38
|
* @private
|
|
39
39
|
* @since 1.34
|
|
@@ -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.
|
|
33
|
+
* @version 1.129.0
|
|
34
34
|
* @constructor
|
|
35
35
|
* @private
|
|
36
36
|
* @since 1.34
|
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
/******************************************************************
|
|
2
2
|
Style of the DT Contextmenu - base Theme
|
|
3
3
|
*******************************************************************/
|
|
4
|
-
@_sap_ui_dt_ContextMenu_HoverBGColor: @sapUiButtonLiteHoverBackground; //rgba(199,95,20,0.5)
|
|
5
|
-
@_sap_ui_dt_ContextMenu_OpenMenuBGColor: @sapUiListSelectionBackgroundColor; //#8fb5ff
|
|
6
|
-
|
|
7
4
|
.sapUiDtContextMenu {
|
|
8
|
-
&.sapUiMnu {
|
|
9
|
-
min-width: 4.25rem; //68px
|
|
10
|
-
}
|
|
11
|
-
|
|
12
5
|
.sapUiMnuLst {
|
|
13
6
|
padding: 0.1875rem;
|
|
14
7
|
|
|
15
8
|
.sapUiMnuItm {
|
|
16
9
|
.sapUiMnuItmIco {
|
|
17
10
|
padding: 0 0.375rem;
|
|
18
|
-
max-width: none;
|
|
19
11
|
|
|
20
12
|
.sapUiIcon {
|
|
21
13
|
min-width: 2.0rem;
|
|
@@ -27,79 +19,20 @@
|
|
|
27
19
|
}
|
|
28
20
|
}
|
|
29
21
|
}
|
|
30
|
-
|
|
31
|
-
&.sapUiSubmenu,
|
|
32
|
-
&:not(.sapUiDtContextMiniMenu) {
|
|
33
|
-
.sapUiMnuItm {
|
|
34
|
-
&.sapUiMnuItmHov {
|
|
35
|
-
&:not(.sapUiMnuItmDsbl) {
|
|
36
|
-
background-color: @_sap_ui_dt_ContextMenu_HoverBGColor;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
22
|
}
|
|
42
23
|
|
|
43
|
-
.
|
|
44
|
-
|
|
45
|
-
.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
border: 0.0625rem dotted;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
&.sapUiMnuItmHov {
|
|
57
|
-
background-color: transparent;
|
|
58
|
-
|
|
59
|
-
.sapUiIcon {
|
|
60
|
-
background-color: @_sap_ui_dt_ContextMenu_HoverBGColor;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
&.sapUiMnuItmSubMnuOpen {
|
|
65
|
-
background-color: transparent;
|
|
66
|
-
|
|
67
|
-
&:not(.sapUiMnuItmHov) {
|
|
68
|
-
.sapUiIcon {
|
|
69
|
-
background-color: @_sap_ui_dt_ContextMenu_OpenMenuBGColor;
|
|
24
|
+
.sapUiSizeCozy{
|
|
25
|
+
.sapUiDtContextMenu{
|
|
26
|
+
.sapUiMnuLst {
|
|
27
|
+
.sapUiMnuItm {
|
|
28
|
+
.sapUiMnuItmIco {
|
|
29
|
+
min-width: 1.125rem;
|
|
30
|
+
padding: 0;
|
|
31
|
+
> .sapUiIcon {
|
|
32
|
+
line-height: 1;
|
|
70
33
|
}
|
|
71
34
|
}
|
|
72
35
|
}
|
|
73
|
-
.sapUiMnuItmIco {
|
|
74
|
-
position: relative;
|
|
75
|
-
}
|
|
76
|
-
.sapUiMnuItmTxt {
|
|
77
|
-
display: none !important;
|
|
78
|
-
}
|
|
79
|
-
.sapUiMnuItmSbMnu {
|
|
80
|
-
padding-top: 0.25rem;
|
|
81
|
-
right: -0.2rem;
|
|
82
|
-
position: absolute;
|
|
83
|
-
}
|
|
84
|
-
.sapUiIcon {
|
|
85
|
-
border: 0.0625rem dotted transparent;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
.sapUiSizeCozy.sapUiMnu.sapUiMnuCozySupport {
|
|
92
|
-
&.sapUiDtContextMiniMenu {
|
|
93
|
-
.sapUiMnuItmIco {
|
|
94
|
-
width: 3rem;
|
|
95
|
-
+ .sapUiMnuItmTxt {
|
|
96
|
-
margin-left: 2.5rem;
|
|
97
|
-
}
|
|
98
|
-
.sapUiIcon {
|
|
99
|
-
height: 2.625rem;
|
|
100
|
-
line-height: 2.625rem !important;
|
|
101
|
-
min-width: 3rem;
|
|
102
|
-
}
|
|
103
36
|
}
|
|
104
37
|
}
|
|
105
38
|
}
|
|
@@ -111,6 +44,7 @@
|
|
|
111
44
|
|
|
112
45
|
.sapUiMnuItmIco {
|
|
113
46
|
padding: 0;
|
|
47
|
+
max-width: none;
|
|
114
48
|
+ .sapUiMnuItmTxt {
|
|
115
49
|
margin-left: 0.5rem;
|
|
116
50
|
}
|
|
@@ -124,6 +58,6 @@
|
|
|
124
58
|
html.sap-desktop, html.sap-tablet {
|
|
125
59
|
|
|
126
60
|
& .sapUiSizeCozy .sapUiDtContextMenu .sapUiMnuLst > .sapUiMnuItm > .sapUiMnuItmIco + .sapUiMnuItmTxt {
|
|
127
|
-
margin-left:
|
|
61
|
+
margin-left: 1.75rem;
|
|
128
62
|
}
|
|
129
63
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/******************************************************************
|
|
2
2
|
Style of the DT Overlays - base Theme
|
|
3
3
|
*******************************************************************/
|
|
4
|
-
@
|
|
5
|
-
@
|
|
6
|
-
@
|
|
7
|
-
@
|
|
8
|
-
@
|
|
9
|
-
@
|
|
10
|
-
@
|
|
4
|
+
@_sap_ui_dt_Overlay_FocusBorderColor: @sapUiContentFocusColor; //#000
|
|
5
|
+
@_sap_ui_dt_Overlay_TargetZoneOutlineColor: @sapUiSelected; //#8fb5ff
|
|
6
|
+
@_sap_ui_dt_Overlay_SelectionOutlineColor: @sapUiSelected; //#8fb5ff
|
|
7
|
+
@_sap_ui_dt_Overlay_CuttedBackgroundColor: @sapUiContentImagePlaceholderBackground; // #fff
|
|
8
|
+
@_sap_ui_dt_Overlay_CuttedBorderColor: @sapUiSelected; //#8fb5ff
|
|
9
|
+
@_sap_ui_dt_Overlay_HighlightOutlineColor: @sapUiShellSelectedBackground; //#8fb5ff
|
|
10
|
+
@_sap_ui_dt_Overlay_HoverBackgroundColor: fade(@sapUiSelected, 5%); //rgba(143, 181, 255, 0.1);
|
|
11
|
+
@_sap_ui_dt_Overlay_DropZoneBackgroundColor: fade(@sapUiSelected, 10%); //rgba(143, 181, 255, 0.1);
|
|
12
|
+
@_sap_ui_dt_Overlay_BoxShadow: @sapUiUx3ToolPopupShadow; //0px 6px 12px 0px fade(black, 30);
|
|
11
13
|
|
|
12
14
|
#overlay-container {
|
|
13
15
|
position: absolute;
|
|
@@ -42,7 +44,7 @@
|
|
|
42
44
|
&:focus {
|
|
43
45
|
&:before {
|
|
44
46
|
content: " ";
|
|
45
|
-
border: 0.0625rem dotted @
|
|
47
|
+
border: 0.0625rem dotted @_sap_ui_dt_Overlay_FocusBorderColor; //1px
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
50
|
}
|
|
@@ -59,7 +61,7 @@
|
|
|
59
61
|
|
|
60
62
|
> .sapUiDtOverlayChildren {
|
|
61
63
|
> .sapUiDtOverlayMovable {
|
|
62
|
-
background: @
|
|
64
|
+
background: @_sap_ui_dt_Overlay_DropZoneBackgroundColor;
|
|
63
65
|
// no "border"
|
|
64
66
|
&:after {
|
|
65
67
|
content: none;
|
|
@@ -71,7 +73,7 @@
|
|
|
71
73
|
.sapUiDtOverlayTargetZone {
|
|
72
74
|
&:after {
|
|
73
75
|
content: " ";
|
|
74
|
-
outline: 0.125rem dashed @
|
|
76
|
+
outline: 0.125rem dashed @_sap_ui_dt_Overlay_TargetZoneOutlineColor; //2px
|
|
75
77
|
outline-offset: -0.125rem; //2px
|
|
76
78
|
}
|
|
77
79
|
}
|
|
@@ -79,7 +81,7 @@
|
|
|
79
81
|
.sapUiDtOverlaySelected {
|
|
80
82
|
&:after {
|
|
81
83
|
content: " ";
|
|
82
|
-
outline: 0.125rem solid @
|
|
84
|
+
outline: 0.125rem solid @_sap_ui_dt_Overlay_SelectionOutlineColor; //2px
|
|
83
85
|
outline-offset: -0.125rem; //2px
|
|
84
86
|
border: none;
|
|
85
87
|
}
|
|
@@ -110,9 +112,9 @@
|
|
|
110
112
|
.sapUiDtOverlayHighlighted:not(.sapUiDtOverlaySelected) {
|
|
111
113
|
&:after {
|
|
112
114
|
content: " ";
|
|
113
|
-
outline: 0.0625rem solid @
|
|
115
|
+
outline: 0.0625rem solid @_sap_ui_dt_Overlay_HighlightOutlineColor; //1px
|
|
114
116
|
outline-offset: -0.0625rem; //1px
|
|
115
|
-
box-shadow:
|
|
117
|
+
box-shadow: @_sap_ui_dt_Overlay_BoxShadow;
|
|
116
118
|
}
|
|
117
119
|
}
|
|
118
120
|
|
|
@@ -126,12 +128,12 @@
|
|
|
126
128
|
}
|
|
127
129
|
|
|
128
130
|
.sapUiDtOverlayCutted {
|
|
129
|
-
background-color: @
|
|
131
|
+
background-color: @_sap_ui_dt_Overlay_CuttedBackgroundColor !important;
|
|
130
132
|
opacity: 0.5;
|
|
131
133
|
|
|
132
134
|
&:after {
|
|
133
135
|
content: " ";
|
|
134
|
-
outline: 0.063rem solid @
|
|
136
|
+
outline: 0.063rem solid @_sap_ui_dt_Overlay_CuttedBorderColor; //1px
|
|
135
137
|
outline-offset: -0.125rem; //2px
|
|
136
138
|
}
|
|
137
139
|
}
|
|
@@ -159,10 +161,6 @@
|
|
|
159
161
|
top: 100vh;
|
|
160
162
|
}
|
|
161
163
|
|
|
162
|
-
.sapUiDtDragGhost {
|
|
163
|
-
background: @_sap_ui_dt_Overlay_ActiveBG;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
164
|
.sapUiDtClonedDom {
|
|
167
165
|
position: absolute;
|
|
168
166
|
top: 0;
|
|
@@ -176,4 +174,20 @@
|
|
|
176
174
|
|
|
177
175
|
.sapUiDtOverlayScrollContainer {
|
|
178
176
|
position: absolute;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.sapUiDtOverlayHover {
|
|
180
|
+
-webkit-transition: background 0.1s cubic-bezier(1, .01, 1, 0);
|
|
181
|
+
-moz-transition: background 0.1s cubic-bezier(1, .01, 1, 0);
|
|
182
|
+
-o-transition: background 0.1s cubic-bezier(1, .01, 1, 0);
|
|
183
|
+
transition: background 0.1s cubic-bezier(1, .01, 1, 0);
|
|
184
|
+
background: @_sap_ui_dt_Overlay_HoverBackgroundColor;
|
|
185
|
+
|
|
186
|
+
&:after {
|
|
187
|
+
content: " ";
|
|
188
|
+
transition: box-shadow .25s;
|
|
189
|
+
box-shadow: @_sap_ui_dt_Overlay_BoxShadow;
|
|
190
|
+
outline: 0.0625rem solid @_sap_ui_dt_Overlay_SelectionOutlineColor; //1px
|
|
191
|
+
outline-offset: -0.0625rem; //1px
|
|
192
|
+
}
|
|
179
193
|
}
|