@openui5/sap.uxap 1.141.2 → 1.143.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/README.md +2 -2
- package/REUSE.toml +39 -1
- package/THIRDPARTY.txt +36 -3
- package/package.json +5 -5
- package/src/sap/uxap/.library +1 -1
- package/src/sap/uxap/BlockBaseMetadata.js +1 -1
- package/src/sap/uxap/ObjectPageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/uxap/ObjectPageDynamicHeaderContent.js +1 -1
- package/src/sap/uxap/ObjectPageDynamicHeaderTitle.js +1 -1
- package/src/sap/uxap/ObjectPageLayout.js +31 -5
- package/src/sap/uxap/ObjectPageLayoutABHelper.js +28 -1
- package/src/sap/uxap/ObjectPageLayoutRenderer.js +4 -22
- package/src/sap/uxap/ObjectPageLazyLoader.js +1 -1
- package/src/sap/uxap/ObjectPageSection.js +8 -3
- package/src/sap/uxap/ObjectPageSectionBase.js +3 -0
- package/src/sap/uxap/changeHandler/AddIFrameObjectPageLayout.js +1 -1
- package/src/sap/uxap/changeHandler/MoveObjectPageSection.js +1 -1
- package/src/sap/uxap/changeHandler/RenameObjectPageSection.js +1 -1
- package/src/sap/uxap/changeHandler/UnstashObjectPageSection.js +1 -1
- package/src/sap/uxap/library.js +2 -2
- package/src/sap/uxap/themes/base/ObjectPageSection.less +0 -4
- package/src/sap/uxap/themes/base/ObjectPageSubSection.less +4 -42
- package/src/sap/uxap/themes/sap_hcb/ObjectPageSubSection.less +1 -9
- package/src/sap/uxap/themes/sap_hcb/base_ObjectPageSubSection.less +5 -29
package/README.md
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
Runtime resources of the [OpenUI5](https://github.com/UI5/openui5) UI Library **sap.uxap**.
|
|
5
5
|
|
|
6
6
|
## Usage
|
|
7
|
-
Add this library as a dependency to your UI5 project by using [UI5
|
|
7
|
+
Add this library as a dependency to your UI5 project by using [UI5 CLI](https://ui5.github.io/cli/):
|
|
8
8
|
|
|
9
9
|
```
|
|
10
10
|
ui5 add sap.uxap
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
For more information, please refer to our documentation on [Consuming OpenUI5 Libraries](https://
|
|
13
|
+
For more information, please refer to our documentation on [Consuming OpenUI5 Libraries](https://ui5.github.io/cli/pages/OpenUI5/).
|
|
14
14
|
|
|
15
15
|
## License
|
|
16
16
|
OpenUI5 is licensed under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), see [LICENSE.txt](LICENSE.txt).
|
package/REUSE.toml
CHANGED
|
@@ -21,6 +21,44 @@ SPDX-License-Identifier = "Apache-2.0"
|
|
|
21
21
|
#
|
|
22
22
|
|
|
23
23
|
|
|
24
|
+
# Library: sap.f:
|
|
25
|
+
|
|
26
|
+
[[annotations]]
|
|
27
|
+
path = "src/sap.f/src/sap/f/thirdparty/**"
|
|
28
|
+
precedence = "aggregate"
|
|
29
|
+
SPDX-FileCopyrightText = "SAP"
|
|
30
|
+
SPDX-License-Identifier = "Apache-2.0"
|
|
31
|
+
SPDX-FileComment = "these files belong to: UI5 Web Components"
|
|
32
|
+
|
|
33
|
+
[[annotations]]
|
|
34
|
+
path = "src/sap.f/src/sap/f/thirdparty/**"
|
|
35
|
+
precedence = "aggregate"
|
|
36
|
+
SPDX-FileCopyrightText = "SAP"
|
|
37
|
+
SPDX-License-Identifier = "Apache-2.0"
|
|
38
|
+
SPDX-FileComment = "these files belong to: UI5 Web Components Fiori"
|
|
39
|
+
|
|
40
|
+
[[annotations]]
|
|
41
|
+
path = "src/sap.f/src/sap/f/thirdparty/**"
|
|
42
|
+
precedence = "aggregate"
|
|
43
|
+
SPDX-FileCopyrightText = "SAP"
|
|
44
|
+
SPDX-License-Identifier = "Apache-2.0"
|
|
45
|
+
SPDX-FileComment = "these files belong to: UI5 Web Components Icons"
|
|
46
|
+
|
|
47
|
+
[[annotations]]
|
|
48
|
+
path = "src/sap.f/src/sap/f/thirdparty/**"
|
|
49
|
+
precedence = "aggregate"
|
|
50
|
+
SPDX-FileCopyrightText = "SAP"
|
|
51
|
+
SPDX-License-Identifier = "Apache-2.0"
|
|
52
|
+
SPDX-FileComment = "these files belong to: UI5 Web Components Icons Business Suite"
|
|
53
|
+
|
|
54
|
+
[[annotations]]
|
|
55
|
+
path = "src/sap.f/src/sap/f/thirdparty/**"
|
|
56
|
+
precedence = "aggregate"
|
|
57
|
+
SPDX-FileCopyrightText = "SAP"
|
|
58
|
+
SPDX-License-Identifier = "Apache-2.0"
|
|
59
|
+
SPDX-FileComment = "these files belong to: UI5 Web Components Icons TNT"
|
|
60
|
+
|
|
61
|
+
|
|
24
62
|
# Library: sap.m:
|
|
25
63
|
|
|
26
64
|
[[annotations]]
|
|
@@ -347,7 +385,7 @@ SPDX-FileComment = "these files belong to: handlebars"
|
|
|
347
385
|
[[annotations]]
|
|
348
386
|
path = "src/sap.ui.core/src/sap/ui/thirdparty/require.js"
|
|
349
387
|
precedence = "aggregate"
|
|
350
|
-
SPDX-FileCopyrightText = "2010-
|
|
388
|
+
SPDX-FileCopyrightText = "2010-2024, jQuery Foundation and other contributors"
|
|
351
389
|
SPDX-License-Identifier = "MIT"
|
|
352
390
|
SPDX-FileComment = "these files belong to: requireJS"
|
|
353
391
|
|
package/THIRDPARTY.txt
CHANGED
|
@@ -4,6 +4,39 @@ each subcomponent.
|
|
|
4
4
|
The full text of all referenced licenses is appended at the end of this file.
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
Library: sap.f:
|
|
8
|
+
|
|
9
|
+
Component: UI5 Web Components, version: 2.15.0
|
|
10
|
+
Copyright: SAP
|
|
11
|
+
License: Apache-2.0
|
|
12
|
+
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
13
|
+
Contained in: src/sap.f/src/sap/f/thirdparty/**
|
|
14
|
+
|
|
15
|
+
Component: UI5 Web Components Fiori, version: 2.15.0
|
|
16
|
+
Copyright: SAP
|
|
17
|
+
License: Apache-2.0
|
|
18
|
+
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
19
|
+
Contained in: src/sap.f/src/sap/f/thirdparty/**
|
|
20
|
+
|
|
21
|
+
Component: UI5 Web Components Icons, version: 2.15.0
|
|
22
|
+
Copyright: SAP
|
|
23
|
+
License: Apache-2.0
|
|
24
|
+
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
25
|
+
Contained in: src/sap.f/src/sap/f/thirdparty/**
|
|
26
|
+
|
|
27
|
+
Component: UI5 Web Components Icons Business Suite, version: 2.15.0
|
|
28
|
+
Copyright: SAP
|
|
29
|
+
License: Apache-2.0
|
|
30
|
+
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
31
|
+
Contained in: src/sap.f/src/sap/f/thirdparty/**
|
|
32
|
+
|
|
33
|
+
Component: UI5 Web Components Icons TNT, version: 2.15.0
|
|
34
|
+
Copyright: SAP
|
|
35
|
+
License: Apache-2.0
|
|
36
|
+
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
37
|
+
Contained in: src/sap.f/src/sap/f/thirdparty/**
|
|
38
|
+
|
|
39
|
+
|
|
7
40
|
Library: sap.m:
|
|
8
41
|
|
|
9
42
|
Component: purify.js, version: 3.2.4
|
|
@@ -221,8 +254,8 @@ License: MIT
|
|
|
221
254
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
|
|
222
255
|
Contained in: src/sap.ui.core/src/sap/ui/thirdparty/handlebars.js
|
|
223
256
|
|
|
224
|
-
Component: requireJS, version: 2.
|
|
225
|
-
Copyright: 2010-
|
|
257
|
+
Component: requireJS, version: 2.3.7
|
|
258
|
+
Copyright: 2010-2024, jQuery Foundation and other contributors
|
|
226
259
|
License: MIT
|
|
227
260
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
|
|
228
261
|
Contained in: src/sap.ui.core/src/sap/ui/thirdparty/require.js
|
|
@@ -354,7 +387,7 @@ Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/D
|
|
|
354
387
|
|
|
355
388
|
Library: sap.ui.integration:
|
|
356
389
|
|
|
357
|
-
Component: UI5 Web Components, version:
|
|
390
|
+
Component: UI5 Web Components, version: 2.15.0
|
|
358
391
|
Copyright: SAP
|
|
359
392
|
License: Apache-2.0
|
|
360
393
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.uxap",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.143.0",
|
|
4
4
|
"description": "OpenUI5 UI Library sap.uxap",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
"url": "https://github.com/UI5/openui5.git"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@openui5/sap.f": "1.
|
|
18
|
-
"@openui5/sap.m": "1.
|
|
19
|
-
"@openui5/sap.ui.core": "1.
|
|
20
|
-
"@openui5/sap.ui.layout": "1.
|
|
17
|
+
"@openui5/sap.f": "1.143.0",
|
|
18
|
+
"@openui5/sap.m": "1.143.0",
|
|
19
|
+
"@openui5/sap.ui.core": "1.143.0",
|
|
20
|
+
"@openui5/sap.ui.layout": "1.143.0"
|
|
21
21
|
}
|
|
22
22
|
}
|
package/src/sap/uxap/.library
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
<name>sap.uxap</name>
|
|
5
5
|
<vendor>SAP SE</vendor>
|
|
6
|
-
<version>1.
|
|
6
|
+
<version>1.143.0</version>
|
|
7
7
|
<copyright>OpenUI5
|
|
8
8
|
* (c) Copyright 2025 SAP SE or an SAP affiliate company.
|
|
9
9
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
|
|
@@ -1253,6 +1253,9 @@ sap.ui.define([
|
|
|
1253
1253
|
oHeaderContent._setLandmarkInfo(this.getLandmarkInfo());
|
|
1254
1254
|
}
|
|
1255
1255
|
|
|
1256
|
+
if (exists(this._oABHelper) && this._oABHelper._setLandmarkInfo) {
|
|
1257
|
+
this._oABHelper._setLandmarkInfo(this.getLandmarkInfo());
|
|
1258
|
+
}
|
|
1256
1259
|
};
|
|
1257
1260
|
|
|
1258
1261
|
ObjectPageLayout.prototype._onAfterRenderingDomReady = function () {
|
|
@@ -1852,7 +1855,7 @@ sap.ui.define([
|
|
|
1852
1855
|
for (var i = 0; i < aSections.length; i++) {
|
|
1853
1856
|
var oSection = aSections[i];
|
|
1854
1857
|
if (oSection._getInternalVisible()) {
|
|
1855
|
-
oSection._setAriaLabelledByAnchorButton(aAnchorBarItems[i]
|
|
1858
|
+
oSection._setAriaLabelledByAnchorButton(aAnchorBarItems[i]);
|
|
1856
1859
|
}
|
|
1857
1860
|
}
|
|
1858
1861
|
|
|
@@ -3180,10 +3183,7 @@ sap.ui.define([
|
|
|
3180
3183
|
// (1) add top padding for the area underneath the title element
|
|
3181
3184
|
// so that the title does not overlap the content of the scroll container
|
|
3182
3185
|
oWrapperElement.style.paddingTop = iTitleHeight + "px";
|
|
3183
|
-
|
|
3184
|
-
if (this._oScroller) {
|
|
3185
|
-
this._oScroller.setScrollPaddingTop(iTitleHeight);
|
|
3186
|
-
}
|
|
3186
|
+
this._adjustScrollPaddingTop();
|
|
3187
3187
|
|
|
3188
3188
|
// (2) also make the area underneath the title invisible (using clip-path)
|
|
3189
3189
|
// to allow usage of *transparent background* of the title element
|
|
@@ -3202,6 +3202,29 @@ sap.ui.define([
|
|
|
3202
3202
|
this.getHeaderTitle() && this._shiftHeaderTitle();
|
|
3203
3203
|
};
|
|
3204
3204
|
|
|
3205
|
+
ObjectPageLayout.prototype._adjustScrollPaddingTop = function () {
|
|
3206
|
+
if (!this._$opWrapper?.length) {
|
|
3207
|
+
return;
|
|
3208
|
+
}
|
|
3209
|
+
|
|
3210
|
+
var oTitleElement = this._$titleArea?.length && this._$titleArea.get(0),
|
|
3211
|
+
iTitleHeight = (oTitleElement && oTitleElement.getBoundingClientRect().height) || 0,
|
|
3212
|
+
iScrollPosition = this._oScrollContainerLastState.iScrollTop,
|
|
3213
|
+
iOffsetScrollPaddingTop = 0,
|
|
3214
|
+
oSelectedSection = Element.getElementById(this.getSelectedSection());
|
|
3215
|
+
|
|
3216
|
+
// when the selected section is scrolled below the header
|
|
3217
|
+
if (this._oSectionInfo[oSelectedSection?.getId()]?.positionTop < iScrollPosition) {
|
|
3218
|
+
// to avoid focused content being hidden under the sticky Section's header, when browser automatically scrolls it into view
|
|
3219
|
+
iOffsetScrollPaddingTop = oSelectedSection?.$().find(".sapUxAPObjectPageSectionHeader").outerHeight() || 0;
|
|
3220
|
+
}
|
|
3221
|
+
|
|
3222
|
+
this._$opWrapper.get(0).style.scrollPaddingTop = (iTitleHeight + iOffsetScrollPaddingTop) + "px";
|
|
3223
|
+
if (this._oScroller) {
|
|
3224
|
+
this._oScroller.setScrollPaddingTop(iTitleHeight + iOffsetScrollPaddingTop);
|
|
3225
|
+
}
|
|
3226
|
+
};
|
|
3227
|
+
|
|
3205
3228
|
/**
|
|
3206
3229
|
* called when the screen is resize by users. Updates the screen height
|
|
3207
3230
|
* @param oEvent
|
|
@@ -3482,6 +3505,7 @@ sap.ui.define([
|
|
|
3482
3505
|
//don't apply parallax effects if there are not enough space for it
|
|
3483
3506
|
if (!bShouldPreserveHeaderInTitleArea && ((oHeader && this.getShowHeaderContent()) || this.getShowAnchorBar())) {
|
|
3484
3507
|
this._toggleHeader(bShouldStick, !!(oEvent && oEvent.type === "scroll"));
|
|
3508
|
+
this._scrollTo(iScrollTop); // to avoid snap/unsnap caused by the change in header height when there is a difference between the snapped and expanded title heights
|
|
3485
3509
|
}
|
|
3486
3510
|
|
|
3487
3511
|
if (!bShouldPreserveHeaderInTitleArea) {
|
|
@@ -3511,6 +3535,8 @@ sap.ui.define([
|
|
|
3511
3535
|
this.$("scroll").css("z-index", "0");
|
|
3512
3536
|
}
|
|
3513
3537
|
}
|
|
3538
|
+
|
|
3539
|
+
this._adjustScrollPaddingTop();
|
|
3514
3540
|
};
|
|
3515
3541
|
|
|
3516
3542
|
/**
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/ui/core/Element",
|
|
9
|
+
"sap/ui/core/Lib",
|
|
10
|
+
"sap/ui/core/library",
|
|
9
11
|
"sap/ui/base/Object",
|
|
10
12
|
"sap/ui/base/ManagedObject",
|
|
11
13
|
"sap/ui/base/ManagedObjectObserver",
|
|
@@ -13,7 +15,7 @@ sap.ui.define([
|
|
|
13
15
|
"sap/m/IconTabHeader",
|
|
14
16
|
"sap/m/library",
|
|
15
17
|
"sap/uxap/ObjectPageSection"
|
|
16
|
-
], function(Element, BaseObject, ManagedObject, ManagedObjectObserver, IconTabFilter, IconTabHeader, mobileLibrary, ObjectPageSection) {
|
|
18
|
+
], function(Element, coreLib, coreLibrary, BaseObject, ManagedObject, ManagedObjectObserver, IconTabFilter, IconTabHeader, mobileLibrary, ObjectPageSection) {
|
|
17
19
|
"use strict";
|
|
18
20
|
|
|
19
21
|
// shortcut for sap.m.TabsOverflowMode
|
|
@@ -111,6 +113,31 @@ sap.ui.define([
|
|
|
111
113
|
}
|
|
112
114
|
};
|
|
113
115
|
|
|
116
|
+
ABHelper.prototype._setLandmarkInfo = function (oLandmarkInfo) {
|
|
117
|
+
this._oLandmarkInfo = oLandmarkInfo;
|
|
118
|
+
|
|
119
|
+
this._applyAriaAttributes();
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
ABHelper.prototype._applyAriaAttributes = function () {
|
|
123
|
+
var $oAnchorBar = this._getAnchorBar().$(),
|
|
124
|
+
oObjectPageLayout = this.getObjectPageLayout(),
|
|
125
|
+
oFormattedLandmarkInfo = oObjectPageLayout._formatLandmarkInfo(this._oLandmarkInfo, "Navigation"),
|
|
126
|
+
oRb = coreLib.getResourceBundleFor("sap.uxap");
|
|
127
|
+
|
|
128
|
+
if (oFormattedLandmarkInfo.role) {
|
|
129
|
+
$oAnchorBar.attr("role", oFormattedLandmarkInfo.role);
|
|
130
|
+
} else if (oFormattedLandmarkInfo.role === ""){
|
|
131
|
+
$oAnchorBar.removeAttr("role");
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if (oFormattedLandmarkInfo.label) {
|
|
135
|
+
$oAnchorBar.attr("aria-label", oFormattedLandmarkInfo.label);
|
|
136
|
+
} else if (this._oLandmarkInfo?.getNavigationRole() !== coreLibrary.AccessibleLandmarkRole.None) {
|
|
137
|
+
$oAnchorBar.attr("aria-label", oRb.getText("NAVIGATION_ROLE_DESCRIPTION"));
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
114
141
|
/**
|
|
115
142
|
* build the anchorBar and all the anchorBar buttons
|
|
116
143
|
* @private
|
|
@@ -41,10 +41,8 @@ sap.ui.define(["sap/ui/core/Lib"],
|
|
|
41
41
|
bHeaderRoleSet = !!(oLandmarkInfo && oLandmarkInfo.getHeaderRole()),
|
|
42
42
|
bHeaderLabelSet = !!(oLandmarkInfo && oLandmarkInfo.getHeaderLabel()),
|
|
43
43
|
bRootRoleSet = !!(oLandmarkInfo && oLandmarkInfo.getRootRole()),
|
|
44
|
-
bNavigationRoleSet = !!(oLandmarkInfo && oLandmarkInfo.getNavigationRole()),
|
|
45
44
|
sRootRole = bRootRoleSet ? oLandmarkInfo.getRootRole() : undefined,
|
|
46
45
|
sHeaderRole = bHeaderRoleSet ? oLandmarkInfo.getHeaderRole() : undefined,
|
|
47
|
-
sNavigationRole = bNavigationRoleSet ? oLandmarkInfo.getNavigationRole() : undefined,
|
|
48
46
|
bRootLabelSet = !!(oLandmarkInfo && oLandmarkInfo.getRootLabel()),
|
|
49
47
|
bShowFooter = oControl.getShowFooter();
|
|
50
48
|
|
|
@@ -56,11 +54,9 @@ sap.ui.define(["sap/ui/core/Lib"],
|
|
|
56
54
|
if (!bRootRoleSet) {
|
|
57
55
|
oRm.attr("role", "main");
|
|
58
56
|
}
|
|
59
|
-
|
|
60
|
-
oRm.attr("aria-roledescription", oRb.getText("ROOT_ROLE_DESCRIPTION"));
|
|
61
|
-
}
|
|
57
|
+
|
|
62
58
|
if (!bRootLabelSet && sRootRole !== "None") {
|
|
63
|
-
oRm.attr("aria-label", sRootAriaLabelText);
|
|
59
|
+
oRm.attr("aria-label", sRootAriaLabelText + " " + oRb.getText("ROOT_ROLE_DESCRIPTION"));
|
|
64
60
|
}
|
|
65
61
|
oRm.class("sapUxAPObjectPageLayout");
|
|
66
62
|
if (bShowFooter) {
|
|
@@ -88,12 +84,8 @@ sap.ui.define(["sap/ui/core/Lib"],
|
|
|
88
84
|
oRm.attr("role", "banner");
|
|
89
85
|
}
|
|
90
86
|
|
|
91
|
-
if (sHeaderRole !== "None") {
|
|
92
|
-
oRm.attr("aria-roledescription", oRb.getText("HEADER_ROLE_DESCRIPTION"));
|
|
93
|
-
}
|
|
94
|
-
|
|
95
87
|
if (!bHeaderLabelSet && sHeaderRole !== "None") {
|
|
96
|
-
oRm.attr("aria-label", sHeaderAriaLabelText);
|
|
88
|
+
oRm.attr("aria-label", sHeaderAriaLabelText + " " + oRb.getText("HEADER_ROLE_DESCRIPTION"));
|
|
97
89
|
}
|
|
98
90
|
oRm.attr("data-sap-ui-customfastnavgroup", true)
|
|
99
91
|
.class("sapUxAPObjectPageHeaderTitle")
|
|
@@ -112,10 +104,6 @@ sap.ui.define(["sap/ui/core/Lib"],
|
|
|
112
104
|
oRm.openStart("div", oControl.getId() + "-stickyAnchorBar");
|
|
113
105
|
oRm.attr("data-sap-ui-customfastnavgroup", true);
|
|
114
106
|
|
|
115
|
-
if (sNavigationRole !== "None") {
|
|
116
|
-
oRm.attr("aria-roledescription", oRb.getText("NAVIGATION_ROLE_DESCRIPTION"));
|
|
117
|
-
}
|
|
118
|
-
|
|
119
107
|
if (!oControl._bHeaderInTitleArea) {
|
|
120
108
|
oRm.attr("aria-hidden", "true");
|
|
121
109
|
}
|
|
@@ -128,7 +116,6 @@ sap.ui.define(["sap/ui/core/Lib"],
|
|
|
128
116
|
oRm.class("sapUxAPObjectPageNavigation" + sBackgroundDesign);
|
|
129
117
|
}
|
|
130
118
|
|
|
131
|
-
oRm.accessibilityState(oControl, oControl._formatLandmarkInfo(oLandmarkInfo, "Navigation"));
|
|
132
119
|
oRm.openEnd();
|
|
133
120
|
|
|
134
121
|
// if the content is expanded render bars outside the scrolling div
|
|
@@ -159,10 +146,6 @@ sap.ui.define(["sap/ui/core/Lib"],
|
|
|
159
146
|
oRm.openStart("section", oControl.getId() + "-anchorBar");
|
|
160
147
|
oRm.attr("data-sap-ui-customfastnavgroup", true);
|
|
161
148
|
|
|
162
|
-
if (sNavigationRole !== "None") {
|
|
163
|
-
oRm.attr("aria-roledescription", oRb.getText("NAVIGATION_ROLE_DESCRIPTION"));
|
|
164
|
-
}
|
|
165
|
-
|
|
166
149
|
oRm.class("sapUxAPObjectPageNavigation")
|
|
167
150
|
.class("ui-helper-clearfix")
|
|
168
151
|
.class("sapContrastPlus");
|
|
@@ -171,7 +154,6 @@ sap.ui.define(["sap/ui/core/Lib"],
|
|
|
171
154
|
oRm.class("sapUxAPObjectPageNavigation" + sBackgroundDesign);
|
|
172
155
|
}
|
|
173
156
|
|
|
174
|
-
oRm.accessibilityState(oControl, oControl._formatLandmarkInfo(oLandmarkInfo, "Navigation"));
|
|
175
157
|
oRm.openEnd();
|
|
176
158
|
|
|
177
159
|
this._renderAnchorBar(oRm, oControl, oAnchorBar, !oControl._bHeaderInTitleArea);
|
|
@@ -322,7 +304,7 @@ sap.ui.define(["sap/ui/core/Lib"],
|
|
|
322
304
|
}
|
|
323
305
|
|
|
324
306
|
if (sFooterRole !== "None") {
|
|
325
|
-
oRm.attr("aria-
|
|
307
|
+
oRm.attr("aria-label", oRb.getText("FOOTER_ROLE_DESCRIPTION"));
|
|
326
308
|
}
|
|
327
309
|
|
|
328
310
|
oRm.accessibilityState(oObjectPageLayout, oObjectPageLayout._formatLandmarkInfo(oLandmarkInfo, "Footer"));
|
|
@@ -375,6 +375,10 @@ sap.ui.define([
|
|
|
375
375
|
return (this.getShowTitle() && this._getInternalTitleVisible()) || this._shouldDisplayButtonsInHeader();
|
|
376
376
|
};
|
|
377
377
|
|
|
378
|
+
ObjectPageSection.prototype._getWrapTitle = function () {
|
|
379
|
+
return this.getWrapTitle();
|
|
380
|
+
};
|
|
381
|
+
|
|
378
382
|
/**
|
|
379
383
|
* Determines if the <code>ObjectPageSection</code> title is forced to be visible.
|
|
380
384
|
* This is the case when the <code>ObjectPageSection</code> displays the expand/collapse button or the show/hide all button.
|
|
@@ -391,11 +395,12 @@ sap.ui.define([
|
|
|
391
395
|
* @param {boolean} bInvalidate Whether to invalidate the control or not
|
|
392
396
|
* @private
|
|
393
397
|
*/
|
|
394
|
-
ObjectPageSection.prototype._setAriaLabelledByAnchorButton = function (oAnchorButton
|
|
395
|
-
this._sAriaLabelledByAnchorButton
|
|
396
|
-
if (bInvalidate) {
|
|
398
|
+
ObjectPageSection.prototype._setAriaLabelledByAnchorButton = function (oAnchorButton) {
|
|
399
|
+
if (this._sAriaLabelledByAnchorButton && this._sAriaLabelledByAnchorButton !== oAnchorButton?.getId()) {
|
|
397
400
|
this.invalidate();
|
|
398
401
|
}
|
|
402
|
+
|
|
403
|
+
this._sAriaLabelledByAnchorButton = oAnchorButton?.getId();
|
|
399
404
|
};
|
|
400
405
|
|
|
401
406
|
/**
|
|
@@ -608,6 +608,9 @@ sap.ui.define([
|
|
|
608
608
|
};
|
|
609
609
|
|
|
610
610
|
ObjectPageSectionBase.prototype.setTitle = function (sValue, bSuppressInvalidate) {
|
|
611
|
+
if (this.getTitle() === sValue) {
|
|
612
|
+
return this;
|
|
613
|
+
}
|
|
611
614
|
|
|
612
615
|
this.setProperty("title", sValue, bSuppressInvalidate);
|
|
613
616
|
this._notifyObjectPageLayout();
|
package/src/sap/uxap/library.js
CHANGED
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @namespace
|
|
31
31
|
* @alias sap.uxap
|
|
32
32
|
* @author SAP SE
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.143.0
|
|
34
34
|
* @since 1.36
|
|
35
35
|
* @public
|
|
36
36
|
*/
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
"sap.uxap.ObjectPageHeaderLayoutData",
|
|
75
75
|
"sap.uxap.ObjectPageLazyLoader"
|
|
76
76
|
],
|
|
77
|
-
version: "1.
|
|
77
|
+
version: "1.143.0",
|
|
78
78
|
...{
|
|
79
79
|
interactionDocumentation: true
|
|
80
80
|
},
|
|
@@ -156,8 +156,4 @@ html[data-sap-ui-browser^="ie"].sap-desktop {
|
|
|
156
156
|
.sapUxAPObjectPageSectionHeader {
|
|
157
157
|
height: auto;
|
|
158
158
|
padding-bottom: 0;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
.sapUxAPObjectPageSection.sapUxAPObjectPageSectionWrapTitle .sapUxAPObjectPageSubSectionHeaderToolbar {
|
|
162
|
-
height: auto;
|
|
163
159
|
}
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
.sapUxAPObjectPageSubSection .sapUxAPObjectPageSubSectionHeader {
|
|
26
26
|
.sapMTB.sapUxAPObjectPageSubSectionHeaderToolbar {
|
|
27
27
|
background-color: @sapUiGlobalBackgroundColor;
|
|
28
|
+
height: auto;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
position: sticky;
|
|
@@ -93,16 +94,6 @@ html .sapUiContainer-Narrow .sapUxAPObjectPageSubSectionHeader {
|
|
|
93
94
|
padding: 0 0.25rem 0 0;
|
|
94
95
|
}
|
|
95
96
|
|
|
96
|
-
.sapUxAPObjectPageLayout-Std-Phone .sapUxAPObjectPageSubSectionHeaderTitle,
|
|
97
|
-
html .sapUiContainer-Narrow .sapUxAPObjectPageSubSectionHeaderTitle {
|
|
98
|
-
height: auto;
|
|
99
|
-
overflow: auto;
|
|
100
|
-
float: none;
|
|
101
|
-
white-space: normal;
|
|
102
|
-
word-wrap: break-word;
|
|
103
|
-
word-break: break-all;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
97
|
/* tablet display */
|
|
107
98
|
|
|
108
99
|
.sapUxAPObjectPageLayout-Std-Tablet .sapUxAPObjectPageSubSectionHeader,
|
|
@@ -136,13 +127,6 @@ Doing so will result in less generated CSS, as well as less future maintanance i
|
|
|
136
127
|
margin-left: 0;
|
|
137
128
|
}
|
|
138
129
|
|
|
139
|
-
.sapUxAPObjectPageSubSectionHeader.titleOnLeftLayout .sapUxAPObjectPageSubSectionHeaderTitle {
|
|
140
|
-
height: auto;
|
|
141
|
-
white-space: normal;
|
|
142
|
-
word-wrap: break-word;
|
|
143
|
-
line-height: normal;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
130
|
.sapUxAPObjectPageSubSectionHeader.titleOnLeftLayout .sapUxAPObjectPageSubSectionHeaderActions {
|
|
147
131
|
float: none;
|
|
148
132
|
display: inline-block;
|
|
@@ -230,10 +214,6 @@ Doing so will result in less generated CSS, as well as less future maintanance i
|
|
|
230
214
|
|
|
231
215
|
/* compact size */
|
|
232
216
|
.sapUiSizeCompact {
|
|
233
|
-
.sapUxAPObjectPageSubSectionHeaderTitle {
|
|
234
|
-
height: 2rem;
|
|
235
|
-
line-height: 2rem;
|
|
236
|
-
}
|
|
237
217
|
.sapUxAPObjectPageLayout-Std-Phone .sapUxAPBlockContainer .sapUiFormResGrid > div,
|
|
238
218
|
.sapUxAPObjectPageLayout-Std-Phone .sapUxAPBlockContainer .sapUiFormCLContainer {
|
|
239
219
|
padding: 1rem 0;
|
|
@@ -267,25 +247,7 @@ html[data-sap-ui-browser^="ie"].sap-desktop {
|
|
|
267
247
|
}
|
|
268
248
|
|
|
269
249
|
// Styles needed for wrapTitle property
|
|
270
|
-
.sapUxAPObjectPageSubSection.
|
|
271
|
-
.sapUxAPObjectPageSubSectionHeader
|
|
272
|
-
.sapUxAPObjectPageSubSectionTitle {
|
|
250
|
+
.sapUxAPObjectPageSubSection .sapUxAPObjectPageSubSectionHeader .sapUxAPObjectPageSubSectionTitle {
|
|
273
251
|
height: auto;
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
overflow: auto;
|
|
277
|
-
line-height: inherit;
|
|
278
|
-
border-bottom: none;
|
|
279
|
-
position: relative;
|
|
280
|
-
top: 0rem;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
.sapUxAPObjectPageSubSection.sapUxAPObjectPageSubSectionWrapTitle
|
|
284
|
-
.sapUxAPObjectPageSubSectionHeader {
|
|
285
|
-
height: auto;
|
|
286
|
-
padding-bottom: 0;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
.sapUxAPObjectPageSubSection.sapUxAPObjectPageSubSectionWrapTitle .sapUxAPObjectPageSubSectionHeaderToolbar {
|
|
290
|
-
height: auto;
|
|
291
|
-
}
|
|
252
|
+
line-height: normal;
|
|
253
|
+
}
|
|
@@ -3,17 +3,9 @@
|
|
|
3
3
|
/* High Contrast Black theme */
|
|
4
4
|
/* ============================================== */
|
|
5
5
|
|
|
6
|
-
.sapUxAPObjectPageSubSectionFocusable:focus
|
|
7
|
-
.sapUxAPObjectPageSubSectionHeaderTitle:focus {
|
|
6
|
+
.sapUxAPObjectPageSubSectionFocusable:focus {
|
|
8
7
|
outline: 0.125rem dotted @sapUiContentFocusColor;
|
|
9
8
|
outline-offset: -0.125rem;
|
|
10
9
|
border-color: transparent;
|
|
11
10
|
border-radius: 0;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/* IE ignores outline-offset. Use an overlay: */
|
|
15
|
-
html[data-sap-ui-browser^="ie"] .sapUxAPObjectPageSubSection, .sapUxAPObjectPageSubSectionHeaderTitle {
|
|
16
|
-
&:focus:before {
|
|
17
|
-
border-width: 0.125rem;
|
|
18
|
-
}
|
|
19
11
|
}
|
|
@@ -26,14 +26,6 @@
|
|
|
26
26
|
justify-content: space-between;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
.sapUxAPObjectPageSubSectionHeaderTitle {
|
|
30
|
-
white-space: normal;
|
|
31
|
-
line-height: 3rem;
|
|
32
|
-
color: @sapUiGroupTitleTextColor;
|
|
33
|
-
font-size: @sapMFontHeader4Size;
|
|
34
|
-
font-weight: normal;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
29
|
.sapUxAPSubSectionSeeMoreContainer {
|
|
38
30
|
text-align: right;
|
|
39
31
|
width: auto;
|
|
@@ -60,16 +52,6 @@ html .sapUiContainer-Narrow .sapUxAPObjectPageSubSectionHeader {
|
|
|
60
52
|
padding: 0 1rem;
|
|
61
53
|
}
|
|
62
54
|
|
|
63
|
-
.sapUxAPObjectPageLayout-Std-Phone .sapUxAPObjectPageSubSectionHeaderTitle,
|
|
64
|
-
html .sapUiContainer-Narrow .sapUxAPObjectPageSubSectionHeaderTitle {
|
|
65
|
-
height: auto;
|
|
66
|
-
overflow: auto;
|
|
67
|
-
float: none;
|
|
68
|
-
white-space: normal;
|
|
69
|
-
word-wrap: break-word;
|
|
70
|
-
word-break: break-all;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
55
|
/* tablet display */
|
|
74
56
|
|
|
75
57
|
.sapUxAPObjectPageLayout-Std-Tablet .sapUxAPObjectPageSubSectionHeader,
|
|
@@ -103,13 +85,6 @@ Doing so will result in less generated CSS, as well as less future maintanance i
|
|
|
103
85
|
margin-left: 0;
|
|
104
86
|
}
|
|
105
87
|
|
|
106
|
-
.sapUxAPObjectPageSubSectionHeader.titleOnLeftLayout .sapUxAPObjectPageSubSectionHeaderTitle {
|
|
107
|
-
height: auto;
|
|
108
|
-
white-space: normal;
|
|
109
|
-
word-wrap: break-word;
|
|
110
|
-
line-height: normal;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
88
|
.sapUxAPObjectPageSubSectionHeader.titleOnLeftLayout .sapUxAPObjectPageSubSectionHeaderActions {
|
|
114
89
|
float: none;
|
|
115
90
|
display: inline-block;
|
|
@@ -201,10 +176,6 @@ Doing so will result in less generated CSS, as well as less future maintanance i
|
|
|
201
176
|
|
|
202
177
|
/* compact size */
|
|
203
178
|
.sapUiSizeCompact {
|
|
204
|
-
.sapUxAPObjectPageSubSectionHeaderTitle {
|
|
205
|
-
height: 2rem;
|
|
206
|
-
line-height: 2rem;
|
|
207
|
-
}
|
|
208
179
|
.sapUxAPObjectPageLayout-Std-Phone .sapUxAPBlockContainer .sapUiFormResGrid > div,
|
|
209
180
|
.sapUxAPObjectPageLayout-Std-Phone .sapUxAPBlockContainer .sapUiFormCLContainer {
|
|
210
181
|
padding: 1rem 0;
|
|
@@ -237,3 +208,8 @@ html[data-sap-ui-browser^="ie"].sap-desktop {
|
|
|
237
208
|
}
|
|
238
209
|
}
|
|
239
210
|
|
|
211
|
+
// Styles needed for wrapping title
|
|
212
|
+
.sapUxAPObjectPageSubSection .sapUxAPObjectPageSubSectionHeader .sapUxAPObjectPageSubSectionTitle {
|
|
213
|
+
height: auto;
|
|
214
|
+
line-height: normal;
|
|
215
|
+
}
|