@sapui5/sap.suite.ui.commons 1.150.0 → 1.152.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/package.json +1 -1
- package/src/sap/suite/ui/commons/.library +1 -1
- package/src/sap/suite/ui/commons/AriaProperties.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilder.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderExpression.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderFunction.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderGroup.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderItem.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderValidationResult.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderVariable.js +1 -1
- package/src/sap/suite/ui/commons/CloudFilePicker.js +1 -1
- package/src/sap/suite/ui/commons/MicroProcessFlow.js +1 -1
- package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +1 -1
- package/src/sap/suite/ui/commons/TimelineItem.js +2 -3
- package/src/sap/suite/ui/commons/TimelineNavigator.js +12 -9
- package/src/sap/suite/ui/commons/collaboration/UniversalCollaborationBar.js +475 -360
- package/src/sap/suite/ui/commons/flexibility/changeHandler/PropertyChangeMapper.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CropCustomShapeHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CropEllipseHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CropRectangleHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CustomSizeItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/FilterHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/FlipHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/HistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditor.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditorContainer.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditorResponsiveContainer.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ResizeHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/RotateHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/library.js +1 -1
- package/src/sap/suite/ui/commons/messagebundle_de.properties +2 -2
- package/src/sap/suite/ui/commons/messagebundle_en_US_saptrc.properties +616 -537
- package/src/sap/suite/ui/commons/messagebundle_mk.properties +1 -1
- package/src/sap/suite/ui/commons/messagebundle_pl.properties +1 -1
- package/src/sap/suite/ui/commons/networkgraph/ElementBase.js +7 -2
- package/src/sap/suite/ui/commons/networkgraph/Graph.js +19 -7
- package/src/sap/suite/ui/commons/networkgraph/GraphRenderer.js +1 -1
- package/src/sap/suite/ui/commons/networkgraph/Group.js +1 -1
- package/src/sap/suite/ui/commons/networkgraph/KeyboardNavigator.js +2 -0
- package/src/sap/suite/ui/commons/networkgraph/Line.js +24 -0
- package/src/sap/suite/ui/commons/networkgraph/Node.js +1 -1
- package/src/sap/suite/ui/commons/networkgraph/Tooltip.js +3 -1
- package/src/sap/suite/ui/commons/networkgraph/util/ConnectionPathUtils.js +323 -129
- package/src/sap/suite/ui/commons/networkgraph/util/DependencyLayoutHelper.js +21 -6
- package/src/sap/suite/ui/commons/statusindicator/Circle.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/CustomShape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/DiscreteThreshold.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/FillingOption.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/LibraryShape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/Path.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/PropertyThreshold.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/Rectangle.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/Shape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/ShapeGroup.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/SimpleShape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/StatusIndicator.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccount.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountGroup.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountItem.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountItemProperty.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountPanel.js +1 -1
- package/src/sap/suite/ui/commons/themes/base/MicroProcessFlow.less +2 -1
- package/src/sap/suite/ui/commons/themes/base/NetworkGraph.less +23 -6
- package/src/sap/suite/ui/commons/themes/base/Timeline.less +2 -2
- package/src/sap/suite/ui/commons/themes/sap_belize_base/NetworkGraph.less +23 -6
- package/src/sap/suite/ui/commons/themes/sap_belize_base/Timeline.less +2 -2
- package/src/sap/suite/ui/commons/themes/sap_belize_hcb/NetworkGraph.less +23 -2
- package/src/sap/suite/ui/commons/themes/sap_belize_hcw/NetworkGraph.less +23 -2
- package/src/sap/suite/ui/commons/themes/sap_hcb/base_NetworkGraph.less +23 -6
|
@@ -462,7 +462,7 @@ IMGEDITOR_FILTER_SEPIA=Sepia
|
|
|
462
462
|
IMGEDITOR_FILTER_GRAYSCALE=\u0421\u043A\u0430\u043B\u0430 \u0441\u043E \u0441\u0438\u0432\u0438 \u0442\u043E\u043D\u043E\u0432\u0438
|
|
463
463
|
IMGEDITOR_FILTER_SATURATION=\u0417\u0430\u0441\u0438\u0442\u0435\u043D\u043E\u0441\u0442
|
|
464
464
|
IMGEDITOR_FILTER_HUE=\u041D\u0438\u0458\u0430\u043D\u0441\u0430
|
|
465
|
-
IMGEDITOR_FILTER_INVERT=\
|
|
465
|
+
IMGEDITOR_FILTER_INVERT=\u0418\u043D\u0432\u0435\u0440\u0437\u0438\u0458\u0430
|
|
466
466
|
IMGEDITOR_FILTER_BRIGHTNESS=\u0421\u0432\u0435\u0442\u043B\u0438\u043D\u0430
|
|
467
467
|
IMGEDITOR_FILTER_CONTRAST=\u041A\u043E\u043D\u0442\u0440\u0430\u0441\u0442
|
|
468
468
|
IMGEDITOR_FILTER_BLUR=\u0417\u0430\u043C\u0430\u0442\u0435\u043D\u043E
|
|
@@ -301,7 +301,7 @@ NETWORK_GRAPH_LINE_NAVIGATION_TAB_TO_TARGET=Aby przej\u015B\u0107 do {0}, naci\u
|
|
|
301
301
|
NETWORK_GRAPH_LINE_NAVIGATION_SHIFT_TAB_TO_SOURCE=Aby przej\u015B\u0107 z powrotem do {0}, naci\u015Bnij klawisze Shift + Tab
|
|
302
302
|
NETWORK_GRAPH_LINE_NAVIGATION_ARROW_KEYS=Aby przej\u015B\u0107 do innych konektor\u00F3w z {0}, u\u017Cyj klawiszy strza\u0142ek
|
|
303
303
|
NETWORK_GRAPH_NAVIGATION_ALT_CONNECTORS=Aby dowiedzie\u0107 si\u0119 o mo\u017Cliwych konektorach, naci\u015Bnij ALT +
|
|
304
|
-
NETWORK_GRAPH_NAVIGATION_ALT_CONNECTOR_ANNOUNCE=Przejd\u017A do konektora {0} na {1}, konektora {2} \u0142\u0105cz\u0105cego {3} z {4}, naci\u015Bnij ALT + {5}
|
|
304
|
+
NETWORK_GRAPH_NAVIGATION_ALT_CONNECTOR_ANNOUNCE=Przejd\u017A do konektora\: {0} na\: {1}, konektora {2} \u0142\u0105cz\u0105cego {3} z {4}, naci\u015Bnij ALT + {5}
|
|
305
305
|
NETWORK_GRAPH_LINE_ACCESSIBILITY_STATUS=Status to
|
|
306
306
|
NETWORK_GRAPH_LINE_ACCESSIBILITY_CONNECTION_FROM_TO=Po\u0142\u0105czenie z {0} do {1}
|
|
307
307
|
|
|
@@ -500,7 +500,7 @@ sap.ui.define([
|
|
|
500
500
|
|
|
501
501
|
ElementBase.prototype._appendActionButton = function (mArguments, $wrapper) {
|
|
502
502
|
var sId = mArguments.id ? "id=\"" + mArguments.id + "\"" : "";
|
|
503
|
-
var sButtonHtml = "<div " + sId + " title=\"" + mArguments.title + "\"class=\"sapSuiteUiCommonsNetworkGraphDivActionButtonBackground\">";
|
|
503
|
+
var sButtonHtml = "<div " + sId + " title=\"" + mArguments.title + "\" role=\"button\" aria-label=\"" + mArguments.title + "\" class=\"sapSuiteUiCommonsNetworkGraphDivActionButtonBackground\">";
|
|
504
504
|
sButtonHtml += "<div class=\"sapSuiteUiCommonsNetworkGraphDivActionButton ";
|
|
505
505
|
|
|
506
506
|
if (!mArguments.enable) {
|
|
@@ -509,7 +509,7 @@ sap.ui.define([
|
|
|
509
509
|
}
|
|
510
510
|
sButtonHtml += "\">";
|
|
511
511
|
|
|
512
|
-
sButtonHtml += this._renderHtmlIcon(mArguments.icon, (mArguments.class || ""));
|
|
512
|
+
sButtonHtml += this._renderHtmlIcon(mArguments.icon, (mArguments.class || ""), null, null, mArguments.title);
|
|
513
513
|
|
|
514
514
|
sButtonHtml += "</div>";
|
|
515
515
|
sButtonHtml += "<div class=\"sapSuiteUiCommonsNetworkActionButtonFocusCircle\"></div>";
|
|
@@ -536,6 +536,11 @@ sap.ui.define([
|
|
|
536
536
|
(Math.min(iY1, iY2) < iBottom);
|
|
537
537
|
};
|
|
538
538
|
|
|
539
|
+
ElementBase._isRectFullyOnScreen = function (iX1, iX2, iY1, iY2, iLeft, iRight, iTop, iBottom) {
|
|
540
|
+
return (Math.min(iX1, iX2) >= iLeft) && (Math.max(iX1, iX2) <= iRight) &&
|
|
541
|
+
(Math.min(iY1, iY2) >= iTop) && (Math.max(iY1, iY2) <= iBottom);
|
|
542
|
+
};
|
|
543
|
+
|
|
539
544
|
ElementBase.prototype._isOnScreen = function (iLeft, iRight, iTop, iBottom) {
|
|
540
545
|
return false;
|
|
541
546
|
};
|
|
@@ -306,6 +306,15 @@ sap.ui.define([
|
|
|
306
306
|
*/
|
|
307
307
|
labels: {
|
|
308
308
|
type: "object", group: "Appearance", defaultValue: {}
|
|
309
|
+
},
|
|
310
|
+
/**
|
|
311
|
+
* Enables enhanced line routing for the network graph.
|
|
312
|
+
* When set to <code>true</code>, overlapping connections are visually separated.
|
|
313
|
+
* @public
|
|
314
|
+
* @since 1.151
|
|
315
|
+
*/
|
|
316
|
+
enableEnhancedLineRouting: {
|
|
317
|
+
type: "boolean", group: "Behavior", defaultValue: true
|
|
309
318
|
}
|
|
310
319
|
},
|
|
311
320
|
aggregations: {
|
|
@@ -1297,6 +1306,7 @@ sap.ui.define([
|
|
|
1297
1306
|
this._updateAccessibility(oFocus);
|
|
1298
1307
|
}
|
|
1299
1308
|
this._updateAccessibility(oFocus);
|
|
1309
|
+
this._ensureOnScreen(oFocus ? oFocus.item : null);
|
|
1300
1310
|
return;
|
|
1301
1311
|
}
|
|
1302
1312
|
|
|
@@ -1353,6 +1363,7 @@ sap.ui.define([
|
|
|
1353
1363
|
return sTitleLabel;
|
|
1354
1364
|
};
|
|
1355
1365
|
if (this.getDomRef("wrapper")) {
|
|
1366
|
+
this.getDomRef("wrapper").setAttribute("aria-live", "assertive");
|
|
1356
1367
|
this._setAriaLabelForWrapper();
|
|
1357
1368
|
}
|
|
1358
1369
|
if (oFocus) {
|
|
@@ -1371,6 +1382,8 @@ sap.ui.define([
|
|
|
1371
1382
|
} else {
|
|
1372
1383
|
fnSetDefaultAccessibilityTitle();
|
|
1373
1384
|
}
|
|
1385
|
+
} else if (oFocus.item instanceof Line) {
|
|
1386
|
+
this._setAccessibilityTitle(oFocus.item._getActionButtonTitle(oFocus.button));
|
|
1374
1387
|
} else {
|
|
1375
1388
|
fnSetDefaultAccessibilityTitle();
|
|
1376
1389
|
}
|
|
@@ -3004,7 +3017,7 @@ sap.ui.define([
|
|
|
3004
3017
|
* @private
|
|
3005
3018
|
*/
|
|
3006
3019
|
Graph.prototype._ensureOnScreen = function (oItem) {
|
|
3007
|
-
if (!oItem || !this.$scroller) {
|
|
3020
|
+
if (!oItem || !this.$scroller || typeof oItem._isOnScreen !== "function") {
|
|
3008
3021
|
return;
|
|
3009
3022
|
}
|
|
3010
3023
|
|
|
@@ -3036,7 +3049,9 @@ sap.ui.define([
|
|
|
3036
3049
|
iCenterY = oItem.getY();
|
|
3037
3050
|
}
|
|
3038
3051
|
|
|
3039
|
-
|
|
3052
|
+
const iItemRight = oItem instanceof Node ? oItem.getX() + oItem._iWidth : iCenterX;
|
|
3053
|
+
const iItemBottom = oItem instanceof Node ? oItem.getY() + oItem._iHeight : iCenterY;
|
|
3054
|
+
if (iCenterX < iLeft || iCenterX > iRight || iItemRight > iRight) {
|
|
3040
3055
|
let iTargetScrollLeft = iCenterX * this._fZoomLevel - this.$scroller.width() / 2;
|
|
3041
3056
|
|
|
3042
3057
|
if (this._bIsRtl) {
|
|
@@ -3046,7 +3061,7 @@ sap.ui.define([
|
|
|
3046
3061
|
|
|
3047
3062
|
oScroller.scrollLeft = iTargetScrollLeft;
|
|
3048
3063
|
}
|
|
3049
|
-
if (iCenterY < iTop || iCenterY > iBottom) {
|
|
3064
|
+
if (iCenterY < iTop || iCenterY > iBottom || iItemBottom > iBottom) {
|
|
3050
3065
|
oScroller.scrollTop = iCenterY * this._fZoomLevel - this.$scroller.height() / 2;
|
|
3051
3066
|
}
|
|
3052
3067
|
}
|
|
@@ -3306,10 +3321,7 @@ sap.ui.define([
|
|
|
3306
3321
|
} else {
|
|
3307
3322
|
sLabel = oItem._getAccessibilityLabel(this);
|
|
3308
3323
|
}
|
|
3309
|
-
if (oWrapper
|
|
3310
|
-
// Switch to assertive only when deliberately updating text, so re-render
|
|
3311
|
-
// of the div (which resets to default text) does not trigger an announcement.
|
|
3312
|
-
oWrapper[0].setAttribute("aria-live", "assertive");
|
|
3324
|
+
if (oWrapper) {
|
|
3313
3325
|
oWrapper.html(encodeXML(sLabel));
|
|
3314
3326
|
}
|
|
3315
3327
|
};
|
|
@@ -43,6 +43,7 @@ sap.ui.define([
|
|
|
43
43
|
oRM.openStart("div", oNetworkGraph.getId() + "-wrapper" );
|
|
44
44
|
oRM.class("sapSuiteUiCommonsNetworkGraphContentWrapper");
|
|
45
45
|
oRM.attr("tabindex", "0");
|
|
46
|
+
oRM.attr("aria-live", "assertive");
|
|
46
47
|
oRM.attr("aria-label", oResourceBundle.getText("NETWORK_GRAPH_ACCESSIBILITY_LABEL"));
|
|
47
48
|
oRM.attr("role", "application");
|
|
48
49
|
oRM.openEnd();
|
|
@@ -53,7 +54,6 @@ sap.ui.define([
|
|
|
53
54
|
*/
|
|
54
55
|
oRM.openStart("div", oNetworkGraph.getId() + "-accessibility" );
|
|
55
56
|
oRM.class("sapSuiteUiCommonsNetworkGraphContentWrapperAccessibility");
|
|
56
|
-
oRM.attr("aria-live", "off");
|
|
57
57
|
oRM.openEnd();
|
|
58
58
|
oRM.text(oResourceBundle.getText("NETWORK_GRAPH_ACCESSIBILITY_CONTENT"));
|
|
59
59
|
oRM.close("div");
|
|
@@ -773,7 +773,7 @@ sap.ui.define([
|
|
|
773
773
|
Group.prototype._isOnScreen = function (iLeft, iRight, iTop, iBottom) {
|
|
774
774
|
var iX = this.getX(),
|
|
775
775
|
iY = this.getY();
|
|
776
|
-
return ElementBase.
|
|
776
|
+
return ElementBase._isRectFullyOnScreen(iX, iX + this._iWidth, iY, iY + this._iHeight, iLeft, iRight, iTop, iBottom);
|
|
777
777
|
};
|
|
778
778
|
|
|
779
779
|
/* =========================================================== */
|
|
@@ -480,8 +480,10 @@ sap.ui.define([
|
|
|
480
480
|
KeyboardNavigator.prototype._handleTab = function (oEvent, sDirection) {
|
|
481
481
|
const oFocus = this.getFocus(),
|
|
482
482
|
bBackward = sDirection === mDirections.LEFT;
|
|
483
|
+
this._oWrapperDom.setAttribute("aria-live", "assertive");
|
|
483
484
|
this._oGraph._setAriaLabelForWrapper(oResourceBundle.getText("NETWORK_GRAPH_ACCESSIBILITY_LABEL"));
|
|
484
485
|
if (this._ignoreEvent(oEvent)) {
|
|
486
|
+
this._oWrapperDom.setAttribute("aria-live","off");
|
|
485
487
|
this._oWrapperDom.classList.remove("sapSuiteUiCommonsNetworkGraphContentFocusHidden");
|
|
486
488
|
if (oEvent.target.getAttribute("title") === oResourceBundle.getText("CALCULATION_BUILDER_ENTER_FULL_SCREEN_BUTTON")){
|
|
487
489
|
this.isFromFullscreen = true;
|
|
@@ -367,6 +367,19 @@ sap.ui.define([
|
|
|
367
367
|
oRm.text(sTooltipText);
|
|
368
368
|
oRm.close("title");
|
|
369
369
|
}
|
|
370
|
+
} else {
|
|
371
|
+
var oFrom = this.getFromNode(),
|
|
372
|
+
oTo = this.getToNode();
|
|
373
|
+
if (oFrom && oTo) {
|
|
374
|
+
var sFromText = oFrom.getTitle() || oFrom.getAltText();
|
|
375
|
+
var sToText = oTo.getTitle() || oTo.getAltText();
|
|
376
|
+
var sLineTitle = this.getTitle() ? (this.getTitle() + " ") : "";
|
|
377
|
+
var sHoverTooltip = sLineTitle + sFromText + " - " + sToText;
|
|
378
|
+
oRm.openStart("title");
|
|
379
|
+
oRm.openEnd();
|
|
380
|
+
oRm.text(sHoverTooltip);
|
|
381
|
+
oRm.close("title");
|
|
382
|
+
}
|
|
370
383
|
}
|
|
371
384
|
|
|
372
385
|
// invisible wrapper for better event handling
|
|
@@ -923,6 +936,17 @@ sap.ui.define([
|
|
|
923
936
|
return aSentenceParts.join('. ');
|
|
924
937
|
};
|
|
925
938
|
|
|
939
|
+
/**
|
|
940
|
+
* Returns the accessible title for a Line action button.
|
|
941
|
+
* @param {object} oItem - DOM element of the focused action button
|
|
942
|
+
* @returns {string}
|
|
943
|
+
* @private
|
|
944
|
+
*/
|
|
945
|
+
Line.prototype._getActionButtonTitle = function (oItem) {
|
|
946
|
+
var sTitle = jQuery(oItem).attr("title");
|
|
947
|
+
return (sTitle ? sTitle + " " : "") + oResourceBundle.getText("NETWORK_GRAPH_ACCESSIBILITY_ACTION_BUTTON");
|
|
948
|
+
};
|
|
949
|
+
|
|
926
950
|
/* =========================================================== */
|
|
927
951
|
/* Public methods */
|
|
928
952
|
/* =========================================================== */
|
|
@@ -4066,7 +4066,7 @@ sap.ui.define([
|
|
|
4066
4066
|
Node.prototype._isOnScreen = function(iLeft, iRight, iTop, iBottom) {
|
|
4067
4067
|
var iX = this.getX(),
|
|
4068
4068
|
iY = this.getY();
|
|
4069
|
-
return ElementBase.
|
|
4069
|
+
return ElementBase._isRectFullyOnScreen(iX, iX + this._iWidth, iY, iY + this._iHeight, iLeft, iRight, iTop, iBottom);
|
|
4070
4070
|
};
|
|
4071
4071
|
|
|
4072
4072
|
Node.prototype.getFocusDomRef = function() {
|
|
@@ -102,7 +102,9 @@ sap.ui.define([
|
|
|
102
102
|
}.bind(this),
|
|
103
103
|
beforeOpen: function () {
|
|
104
104
|
this._fnCreate();
|
|
105
|
-
|
|
105
|
+
if (this.oCloseButton) {
|
|
106
|
+
this._oPopover.setInitialFocus(this.oCloseButton.getId());
|
|
107
|
+
}
|
|
106
108
|
if (this._oOpener && this._oElement && this._oElement._setActionButtonFocus) {
|
|
107
109
|
this._oElement._setActionButtonFocus(this._oOpener, false);
|
|
108
110
|
}
|