@openui5/sap.f 1.133.0 → 1.134.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/.reuse/dep5 +0 -7
- package/THIRDPARTY.txt +1 -22
- package/package.json +4 -4
- package/src/sap/f/.library +1 -1
- package/src/sap/f/Avatar.js +1 -1
- package/src/sap/f/AvatarGroup.js +1 -1
- package/src/sap/f/AvatarGroupItem.js +1 -1
- package/src/sap/f/CalendarAppointmentInCard.js +1 -1
- package/src/sap/f/CalendarInCard.js +1 -1
- package/src/sap/f/Card.js +1 -1
- package/src/sap/f/CardBase.js +65 -25
- package/src/sap/f/CardRenderer.js +9 -6
- package/src/sap/f/DynamicPage.js +12 -1
- package/src/sap/f/DynamicPageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/f/DynamicPageHeader.js +1 -1
- package/src/sap/f/DynamicPageRenderer.js +1 -1
- package/src/sap/f/DynamicPageTitle.js +34 -1
- package/src/sap/f/FlexibleColumnLayout.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutAccessibleLandmarkInfo.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutData.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutDataForDesktop.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutDataForTablet.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutSemanticHelper.js +1 -1
- package/src/sap/f/GridContainer.js +60 -110
- package/src/sap/f/GridContainerItemLayoutData.js +1 -1
- package/src/sap/f/GridContainerRenderer.js +8 -3
- package/src/sap/f/GridContainerSettings.js +2 -2
- package/src/sap/f/GridContainerUtils.js +8 -0
- package/src/sap/f/GridList.js +1 -1
- package/src/sap/f/GridListItem.js +1 -1
- package/src/sap/f/IllustratedMessage.js +1 -1
- package/src/sap/f/Illustration.js +1 -1
- package/src/sap/f/PlanningCalendarInCardLegend.js +1 -1
- package/src/sap/f/ProductSwitch.js +1 -1
- package/src/sap/f/ProductSwitchItem.js +1 -1
- package/src/sap/f/SearchManager.js +1 -1
- package/src/sap/f/ShellBar.js +1 -1
- package/src/sap/f/ShellBarRenderer.js +1 -0
- package/src/sap/f/SidePanel.js +1 -1
- package/src/sap/f/SidePanelItem.js +1 -1
- package/src/sap/f/cards/BaseHeader.js +35 -20
- package/src/sap/f/cards/BaseHeaderRenderer.js +212 -3
- package/src/sap/f/cards/Header.js +2 -8
- package/src/sap/f/cards/HeaderRenderer.js +0 -161
- package/src/sap/f/cards/NumericHeader.js +3 -9
- package/src/sap/f/cards/NumericHeaderRenderer.js +54 -126
- package/src/sap/f/cards/NumericIndicators.js +1 -1
- package/src/sap/f/cards/NumericSideIndicator.js +1 -1
- package/src/sap/f/cards/loading/AnalyticalPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/CalendarPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/GenericPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/ListPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/ObjectPlaceholder.js +1 -1
- package/src/sap/f/cards/loading/PlaceholderBase.js +1 -1
- package/src/sap/f/cards/loading/TablePlaceholder.js +1 -1
- package/src/sap/f/cards/loading/TimelinePlaceholder.js +1 -1
- package/src/sap/f/changeHandler/MoveDynamicPageTitleActions.js +1 -1
- package/src/sap/f/delegate/GridContainerItemNavigation.js +24 -202
- package/src/sap/f/delegate/GridItemNavigation.js +23 -10
- package/src/sap/f/dnd/GridDragOver.js +1 -1
- package/src/sap/f/dnd/GridDropInfo.js +1 -1
- package/src/sap/f/library.js +36 -2
- package/src/sap/f/messagebundle.properties +0 -3
- package/src/sap/f/messagebundle_ar.properties +0 -2
- package/src/sap/f/messagebundle_bg.properties +0 -2
- package/src/sap/f/messagebundle_ca.properties +0 -2
- package/src/sap/f/messagebundle_cnr.properties +0 -2
- package/src/sap/f/messagebundle_cs.properties +0 -2
- package/src/sap/f/messagebundle_cy.properties +0 -2
- package/src/sap/f/messagebundle_da.properties +0 -2
- package/src/sap/f/messagebundle_de.properties +0 -2
- package/src/sap/f/messagebundle_el.properties +0 -2
- package/src/sap/f/messagebundle_en.properties +0 -2
- package/src/sap/f/messagebundle_en_GB.properties +0 -2
- package/src/sap/f/messagebundle_en_US_saprigi.properties +0 -2
- package/src/sap/f/messagebundle_es.properties +0 -2
- package/src/sap/f/messagebundle_es_MX.properties +0 -2
- package/src/sap/f/messagebundle_et.properties +0 -2
- package/src/sap/f/messagebundle_fi.properties +0 -2
- package/src/sap/f/messagebundle_fr.properties +0 -2
- package/src/sap/f/messagebundle_fr_CA.properties +0 -2
- package/src/sap/f/messagebundle_hi.properties +0 -2
- package/src/sap/f/messagebundle_hr.properties +0 -2
- package/src/sap/f/messagebundle_hu.properties +0 -2
- package/src/sap/f/messagebundle_id.properties +0 -2
- package/src/sap/f/messagebundle_it.properties +0 -2
- package/src/sap/f/messagebundle_iw.properties +0 -2
- package/src/sap/f/messagebundle_ja.properties +0 -2
- package/src/sap/f/messagebundle_kk.properties +0 -2
- package/src/sap/f/messagebundle_ko.properties +0 -2
- package/src/sap/f/messagebundle_lt.properties +0 -2
- package/src/sap/f/messagebundle_lv.properties +0 -2
- package/src/sap/f/messagebundle_mk.properties +0 -2
- package/src/sap/f/messagebundle_ms.properties +0 -2
- package/src/sap/f/messagebundle_nl.properties +0 -2
- package/src/sap/f/messagebundle_no.properties +0 -2
- package/src/sap/f/messagebundle_pl.properties +0 -2
- package/src/sap/f/messagebundle_pt.properties +0 -2
- package/src/sap/f/messagebundle_pt_PT.properties +0 -2
- package/src/sap/f/messagebundle_ro.properties +0 -2
- package/src/sap/f/messagebundle_ru.properties +0 -2
- package/src/sap/f/messagebundle_sh.properties +0 -2
- package/src/sap/f/messagebundle_sk.properties +0 -2
- package/src/sap/f/messagebundle_sl.properties +0 -2
- package/src/sap/f/messagebundle_sr.properties +0 -2
- package/src/sap/f/messagebundle_sv.properties +0 -2
- package/src/sap/f/messagebundle_th.properties +0 -2
- package/src/sap/f/messagebundle_tr.properties +0 -2
- package/src/sap/f/messagebundle_uk.properties +0 -2
- package/src/sap/f/messagebundle_vi.properties +0 -2
- package/src/sap/f/messagebundle_zh_CN.properties +0 -2
- package/src/sap/f/messagebundle_zh_TW.properties +0 -2
- package/src/sap/f/semantic/AddAction.js +1 -1
- package/src/sap/f/semantic/CloseAction.js +1 -1
- package/src/sap/f/semantic/CopyAction.js +1 -1
- package/src/sap/f/semantic/DeleteAction.js +1 -1
- package/src/sap/f/semantic/DiscussInJamAction.js +1 -1
- package/src/sap/f/semantic/EditAction.js +1 -1
- package/src/sap/f/semantic/ExitFullScreenAction.js +1 -1
- package/src/sap/f/semantic/FavoriteAction.js +1 -1
- package/src/sap/f/semantic/FlagAction.js +1 -1
- package/src/sap/f/semantic/FooterMainAction.js +1 -1
- package/src/sap/f/semantic/FullScreenAction.js +1 -1
- package/src/sap/f/semantic/MainAction.js +1 -1
- package/src/sap/f/semantic/MessagesIndicator.js +1 -1
- package/src/sap/f/semantic/NegativeAction.js +1 -1
- package/src/sap/f/semantic/PositiveAction.js +1 -1
- package/src/sap/f/semantic/PrintAction.js +1 -1
- package/src/sap/f/semantic/SemanticButton.js +1 -1
- package/src/sap/f/semantic/SemanticConfiguration.js +1 -1
- package/src/sap/f/semantic/SemanticControl.js +1 -1
- package/src/sap/f/semantic/SemanticPage.js +1 -1
- package/src/sap/f/semantic/SemanticToggleButton.js +1 -1
- package/src/sap/f/semantic/SendEmailAction.js +1 -1
- package/src/sap/f/semantic/SendMessageAction.js +1 -1
- package/src/sap/f/semantic/ShareInJamAction.js +1 -1
- package/src/sap/f/semantic/TitleMainAction.js +1 -1
- package/src/sap/f/shellBar/AdditionalContentSupport.js +1 -1
- package/src/sap/f/shellBar/CoPilot.js +1 -1
- package/src/sap/f/shellBar/ControlSpacer.js +1 -1
- package/src/sap/f/shellBar/Factory.js +7 -1
- package/src/sap/f/shellBar/Search.js +1 -1
- package/src/sap/f/themes/base/Card.less +77 -41
- package/src/sap/f/themes/base/CardHeaders.less +27 -37
- package/src/sap/f/themes/base/CardLoading.less +3 -3
- package/src/sap/f/themes/base/DynamicPage.less +5 -0
- package/src/sap/f/themes/base/GridContainer.less +10 -13
- package/src/sap/f/themes/sap_hcb/base_Card.less +3 -10
- package/src/sap/f/themes/sap_hcb/base_GridContainer.less +0 -13
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
package/.reuse/dep5
CHANGED
|
@@ -364,13 +364,6 @@ Copyright:
|
|
|
364
364
|
License: Apache-2.0 and ISC
|
|
365
365
|
Comment: these files contain content from SAP and node-lru-cache: LRUPersistentCache.js is overall written by SAP, but portions ('Least Recently Used' logic) are taken from the node-lru-cache project (see https://github.com/isaacs/node-lru-cache/blob/v2.7.3/README.md) and modified.
|
|
366
366
|
|
|
367
|
-
Files: src/sap.ui.core/test/sap/ui/core/qunit/i18n/helper/_timezones.js
|
|
368
|
-
Copyright:
|
|
369
|
-
2009-2024 SAP SE or an SAP affiliate company and OpenUI5 contributors
|
|
370
|
-
Arthur David Olson, Paul Eggert and other contributors
|
|
371
|
-
License: Apache-2.0 and LicenseRef-tzdata-PublicDomain
|
|
372
|
-
Comment: these files contain content from SAP and Time Zone Database: _timezones.js is overall written by SAP, but the list of IANA timezone IDs is taken from the Timezone Database
|
|
373
|
-
|
|
374
367
|
|
|
375
368
|
# Library: sap.ui.documentation:
|
|
376
369
|
|
package/THIRDPARTY.txt
CHANGED
|
@@ -22,7 +22,7 @@ Contained in: src/sap.m/test/sap/m/qunit/_thirdparty/qunit-composite.css
|
|
|
22
22
|
|
|
23
23
|
Library: sap.ui.codeeditor:
|
|
24
24
|
|
|
25
|
-
Component: Ace (Ajax.org Cloud9 Editor), version: 1.
|
|
25
|
+
Component: Ace (Ajax.org Cloud9 Editor), version: 1.36.5
|
|
26
26
|
Copyright: 2010, Ajax.org B.V.
|
|
27
27
|
License: BSD-3-Clause
|
|
28
28
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
|
|
@@ -342,12 +342,6 @@ License: ISC
|
|
|
342
342
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/ISC.txt
|
|
343
343
|
Contained in: src/sap.ui.core/src/sap/ui/core/cache/LRUPersistentCache.js
|
|
344
344
|
|
|
345
|
-
Component: Time Zone Database, version: 2024b
|
|
346
|
-
Copyright: Arthur David Olson, Paul Eggert and other contributors
|
|
347
|
-
License: LicenseRef-tzdata-PublicDomain
|
|
348
|
-
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/LicenseRef-tzdata-PublicDomain.txt
|
|
349
|
-
Contained in: src/sap.ui.core/test/sap/ui/core/qunit/i18n/helper/_timezones.js
|
|
350
|
-
|
|
351
345
|
|
|
352
346
|
Library: sap.ui.documentation:
|
|
353
347
|
|
|
@@ -1015,21 +1009,6 @@ END of license: LicenseRef-Unicode-3.0
|
|
|
1015
1009
|
=================================
|
|
1016
1010
|
|
|
1017
1011
|
|
|
1018
|
-
=================================
|
|
1019
|
-
BEGIN of license: LicenseRef-tzdata-PublicDomain
|
|
1020
|
-
=================================
|
|
1021
|
-
|
|
1022
|
-
Unless specified below, all files in the tz code and data (including
|
|
1023
|
-
this LICENSE file) are in the public domain.
|
|
1024
|
-
|
|
1025
|
-
If the files date.c, newstrftime.3, and strftime.c are present, they
|
|
1026
|
-
contain material derived from BSD and use the BSD 3-clause license.
|
|
1027
|
-
|
|
1028
|
-
=================================
|
|
1029
|
-
END of license: LicenseRef-tzdata-PublicDomain
|
|
1030
|
-
=================================
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
1012
|
=================================
|
|
1034
1013
|
BEGIN of license: MIT
|
|
1035
1014
|
=================================
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.f",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.134.0",
|
|
4
4
|
"description": "OpenUI5 UI Library sap.f",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"url": "https://github.com/SAP/openui5.git"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@openui5/sap.m": "1.
|
|
18
|
-
"@openui5/sap.ui.core": "1.
|
|
19
|
-
"@openui5/sap.ui.layout": "1.
|
|
17
|
+
"@openui5/sap.m": "1.134.0",
|
|
18
|
+
"@openui5/sap.ui.core": "1.134.0",
|
|
19
|
+
"@openui5/sap.ui.layout": "1.134.0"
|
|
20
20
|
}
|
|
21
21
|
}
|
package/src/sap/f/.library
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2009-2025 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.134.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>SAPUI5 library with Fiori controls.</documentation>
|
|
12
12
|
|
package/src/sap/f/Avatar.js
CHANGED
package/src/sap/f/AvatarGroup.js
CHANGED
package/src/sap/f/Card.js
CHANGED
package/src/sap/f/CardBase.js
CHANGED
|
@@ -37,7 +37,7 @@ sap.ui.define([
|
|
|
37
37
|
* @extends sap.ui.core.Control
|
|
38
38
|
*
|
|
39
39
|
* @author SAP SE
|
|
40
|
-
* @version 1.
|
|
40
|
+
* @version 1.134.0
|
|
41
41
|
*
|
|
42
42
|
* @constructor
|
|
43
43
|
* @public
|
|
@@ -48,7 +48,8 @@ sap.ui.define([
|
|
|
48
48
|
library: "sap.f",
|
|
49
49
|
interfaces: [
|
|
50
50
|
"sap.f.ICard",
|
|
51
|
-
"sap.m.IBadge"
|
|
51
|
+
"sap.m.IBadge",
|
|
52
|
+
"sap.f.IGridContainerItem"
|
|
52
53
|
],
|
|
53
54
|
properties: {
|
|
54
55
|
|
|
@@ -63,7 +64,10 @@ sap.ui.define([
|
|
|
63
64
|
height: {type: "sap.ui.core.CSSSize", group: "Appearance", defaultValue: "auto"},
|
|
64
65
|
|
|
65
66
|
/**
|
|
66
|
-
* Defines the role of the
|
|
67
|
+
* Defines the accessibility role of the control.
|
|
68
|
+
*
|
|
69
|
+
* **Note:** When the control is placed inside a <code>sap.f.GridContainer</code>,
|
|
70
|
+
* its accessibility role is overridden by the accessibility role specified by the <code>sap.f.GridContainer</code>.
|
|
67
71
|
*
|
|
68
72
|
* @experimental since 1.131
|
|
69
73
|
*/
|
|
@@ -92,7 +96,9 @@ sap.ui.define([
|
|
|
92
96
|
events: {
|
|
93
97
|
/**
|
|
94
98
|
* Fired when action is added on card level.
|
|
95
|
-
*
|
|
99
|
+
*
|
|
100
|
+
* **Note**: Can be used only if <code>semanticRole</code> is <code>sap.f.cards.SemanticRole.ListItem</code>
|
|
101
|
+
* or the control is placed inside a <code>sap.f.GridContainer</code>.
|
|
96
102
|
* @experimental since 1.131
|
|
97
103
|
*/
|
|
98
104
|
press: {}
|
|
@@ -118,6 +124,8 @@ sap.ui.define([
|
|
|
118
124
|
this._ariaText = new InvisibleText({id: this.getId() + "-ariaText"});
|
|
119
125
|
this._ariaText.setText(this._oRb.getText("ARIA_ROLEDESCRIPTION_CARD"));
|
|
120
126
|
|
|
127
|
+
this._sGridItemRole = null;
|
|
128
|
+
|
|
121
129
|
this.initCardBadgeEnablement();
|
|
122
130
|
};
|
|
123
131
|
|
|
@@ -205,7 +213,7 @@ sap.ui.define([
|
|
|
205
213
|
* @protected
|
|
206
214
|
*/
|
|
207
215
|
CardBase.prototype.getFocusDomRef = function () {
|
|
208
|
-
if (this.
|
|
216
|
+
if (this.isRoleListItem()) {
|
|
209
217
|
return this.getDomRef();
|
|
210
218
|
}
|
|
211
219
|
|
|
@@ -261,13 +269,6 @@ sap.ui.define([
|
|
|
261
269
|
const sBlockingMessageAriaLabelsIds = this._getBlockingMessageAriaLabelledByIds();
|
|
262
270
|
|
|
263
271
|
if (oHeader) {
|
|
264
|
-
if (this._isInsideGridContainer()) {
|
|
265
|
-
if (sBlockingMessageAriaLabelsIds) {
|
|
266
|
-
return oHeader._getAriaLabelledBy() + " " + sBlockingMessageAriaLabelsIds;
|
|
267
|
-
}
|
|
268
|
-
return oHeader._getAriaLabelledBy();
|
|
269
|
-
}
|
|
270
|
-
|
|
271
272
|
if (oHeader._getTitle && oHeader._getTitle()) {
|
|
272
273
|
if (sBlockingMessageAriaLabelsIds) {
|
|
273
274
|
return oHeader._getTitle().getId() + " " + sBlockingMessageAriaLabelsIds;
|
|
@@ -305,6 +306,9 @@ sap.ui.define([
|
|
|
305
306
|
* @param {object} oEvent event
|
|
306
307
|
*/
|
|
307
308
|
CardBase.prototype.ontap = function (oEvent) {
|
|
309
|
+
if (this.isMouseInteractionDisabled()) {
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
308
312
|
this._handleTapOrSelect(oEvent);
|
|
309
313
|
};
|
|
310
314
|
|
|
@@ -323,7 +327,9 @@ sap.ui.define([
|
|
|
323
327
|
* @param {object} oEvent event
|
|
324
328
|
*/
|
|
325
329
|
CardBase.prototype._handleTapOrSelect = function (oEvent) {
|
|
326
|
-
if (!this.isInteractive() ||
|
|
330
|
+
if (!this.isInteractive() ||
|
|
331
|
+
oEvent.isMarked() ||
|
|
332
|
+
!this.isRoleListItem()) {
|
|
327
333
|
return;
|
|
328
334
|
}
|
|
329
335
|
|
|
@@ -337,16 +343,6 @@ sap.ui.define([
|
|
|
337
343
|
oEvent.preventDefault();
|
|
338
344
|
};
|
|
339
345
|
|
|
340
|
-
/**
|
|
341
|
-
* Returns if the control is inside a sap.f.GridContainer
|
|
342
|
-
*
|
|
343
|
-
* @private
|
|
344
|
-
*/
|
|
345
|
-
CardBase.prototype._isInsideGridContainer = function() {
|
|
346
|
-
var oParent = this.getParent();
|
|
347
|
-
return oParent && oParent.isA("sap.f.GridContainer");
|
|
348
|
-
};
|
|
349
|
-
|
|
350
346
|
/**
|
|
351
347
|
* @ui5-restricted
|
|
352
348
|
*/
|
|
@@ -360,14 +356,58 @@ sap.ui.define([
|
|
|
360
356
|
return null;
|
|
361
357
|
};
|
|
362
358
|
|
|
359
|
+
/**
|
|
360
|
+
* Checks if the card is interactive.
|
|
361
|
+
* @private
|
|
362
|
+
* @ui5-restricted sap.f.CardRenderer
|
|
363
|
+
* @returns {boolean} Whether the card is interactive.
|
|
364
|
+
*/
|
|
363
365
|
CardBase.prototype.isInteractive = function() {
|
|
364
366
|
const bIsInteractive = this.hasListeners("press");
|
|
365
367
|
|
|
366
|
-
if (bIsInteractive && this.
|
|
367
|
-
Log.error("The full card cannot be interactive if the 'semanticRole' is not 'ListItem'", this);
|
|
368
|
+
if (bIsInteractive && !this.isRoleListItem()) {
|
|
369
|
+
Log.error("The full card cannot be interactive if the 'semanticRole' is not 'ListItem' or the control is not placed inside a sap.f.GridContainer", this);
|
|
368
370
|
}
|
|
369
371
|
return bIsInteractive;
|
|
370
372
|
};
|
|
371
373
|
|
|
374
|
+
/**
|
|
375
|
+
* Checks if the card should be fully interactive with the mouse.
|
|
376
|
+
* @private
|
|
377
|
+
* @ui5-restricted sap.f.CardRenderer
|
|
378
|
+
* @returns {boolean} False if the card should not be fully interactive with the mouse.
|
|
379
|
+
*/
|
|
380
|
+
CardBase.prototype.isMouseInteractionDisabled = function() {
|
|
381
|
+
return false;
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Sets the accessibility role for the <code>sap.f.GridContainer</code> item.
|
|
386
|
+
*
|
|
387
|
+
* **Note:** This method is automatically called by the <code>sap.f.GridContainer</code> control.
|
|
388
|
+
*
|
|
389
|
+
* @param {string} sRole The accessibility role for the <code>sap.f.GridContainer</code> item
|
|
390
|
+
* @private
|
|
391
|
+
* @ui5-restricted sap.f.GridContainer
|
|
392
|
+
*
|
|
393
|
+
*/
|
|
394
|
+
CardBase.prototype.setGridItemRole = function (sRole) {
|
|
395
|
+
this._sGridItemRole = sRole;
|
|
396
|
+
};
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* Returns the accessibility role for the <code>sap.f.GridContainer</code> item.
|
|
400
|
+
*
|
|
401
|
+
* @returns {string} The accessibility role for the <code>sap.f.GridContainer</code> item
|
|
402
|
+
* @public
|
|
403
|
+
*/
|
|
404
|
+
CardBase.prototype.getGridItemRole = function () {
|
|
405
|
+
return this._sGridItemRole;
|
|
406
|
+
};
|
|
407
|
+
|
|
408
|
+
CardBase.prototype.isRoleListItem = function () {
|
|
409
|
+
return (this.getSemanticRole() === SemanticRole.ListItem) || this.getGridItemRole();
|
|
410
|
+
};
|
|
411
|
+
|
|
372
412
|
return CardBase;
|
|
373
413
|
});
|
|
@@ -13,8 +13,7 @@ sap.ui.define([
|
|
|
13
13
|
library
|
|
14
14
|
) {
|
|
15
15
|
"use strict";
|
|
16
|
-
var HeaderPosition = library.cards.HeaderPosition
|
|
17
|
-
SemanticRole = library.cards.SemanticRole;
|
|
16
|
+
var HeaderPosition = library.cards.HeaderPosition;
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
19
|
* <code>Card</code> renderer.
|
|
@@ -84,7 +83,8 @@ sap.ui.define([
|
|
|
84
83
|
bHasContent = !!oContent,
|
|
85
84
|
bCardHeaderBottom = bHasHeader && oCard.getCardHeaderPosition() === HeaderPosition.Bottom,
|
|
86
85
|
sTooltip = oCard.getTooltip_AsString(),
|
|
87
|
-
bHasCardBadgeCustomData = oCard._getCardBadgeCustomData().length > 0
|
|
86
|
+
bHasCardBadgeCustomData = oCard._getCardBadgeCustomData().length > 0,
|
|
87
|
+
sAriaRole = oCard.getGridItemRole() || oCard.getSemanticRole().toLowerCase();
|
|
88
88
|
|
|
89
89
|
oRm.class("sapFCard")
|
|
90
90
|
.style("width", oCard.getWidth());
|
|
@@ -102,13 +102,16 @@ sap.ui.define([
|
|
|
102
102
|
oRm.class("sapFCardSectionInteractive");
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
if (oCard.getSemanticRole() === SemanticRole.ListItem) {
|
|
105
|
+
if (oCard.isRoleListItem()) {
|
|
107
106
|
oRm.class("sapFCardFocus");
|
|
108
107
|
oRm.attr("tabindex", "0");
|
|
109
108
|
|
|
110
109
|
if (bIsInteractive) {
|
|
111
110
|
oRm.class("sapFCardInteractive");
|
|
111
|
+
|
|
112
|
+
if (oCard.isMouseInteractionDisabled()) {
|
|
113
|
+
oRm.class("sapFCardDisableMouseInteraction");
|
|
114
|
+
}
|
|
112
115
|
}
|
|
113
116
|
}
|
|
114
117
|
|
|
@@ -127,7 +130,7 @@ sap.ui.define([
|
|
|
127
130
|
//Accessibility state
|
|
128
131
|
oRm.accessibilityState(oCard, {
|
|
129
132
|
// TODO if role is not only used with accessibility values, this should be changed
|
|
130
|
-
role:
|
|
133
|
+
role: sAriaRole,
|
|
131
134
|
labelledby: { value: oCard._getAriaLabelledIds(), append: true },
|
|
132
135
|
describedby: {value: bHasCardBadgeCustomData ? oCard._getInvisibleCardBadgeText().getId() : undefined}
|
|
133
136
|
});
|
package/src/sap/f/DynamicPage.js
CHANGED
|
@@ -118,7 +118,7 @@ sap.ui.define([
|
|
|
118
118
|
* @extends sap.ui.core.Control
|
|
119
119
|
*
|
|
120
120
|
* @author SAP SE
|
|
121
|
-
* @version 1.
|
|
121
|
+
* @version 1.134.0
|
|
122
122
|
*
|
|
123
123
|
* @constructor
|
|
124
124
|
* @public
|
|
@@ -2502,6 +2502,17 @@ sap.ui.define([
|
|
|
2502
2502
|
return {};
|
|
2503
2503
|
};
|
|
2504
2504
|
|
|
2505
|
+
DynamicPage.prototype._getAccessibilityStateTitle = function () {
|
|
2506
|
+
var oInfo = this._formatLandmarkInfo(this.getLandmarkInfo(), "Header"),
|
|
2507
|
+
oTitle = this.getTitle();
|
|
2508
|
+
|
|
2509
|
+
if (oTitle) {
|
|
2510
|
+
oInfo.label = oTitle._getTitleText() || oInfo.label;
|
|
2511
|
+
}
|
|
2512
|
+
|
|
2513
|
+
return oInfo;
|
|
2514
|
+
};
|
|
2515
|
+
|
|
2505
2516
|
/**
|
|
2506
2517
|
* Returns HTML tag of the page header.
|
|
2507
2518
|
*
|
|
@@ -60,7 +60,7 @@ sap.ui.define(["sap/ui/Device"], function (Device) {
|
|
|
60
60
|
if (!bHeaderHasContent) {
|
|
61
61
|
oRm.class("sapFDynamicPageTitleOnly");
|
|
62
62
|
}
|
|
63
|
-
oRm.accessibilityState(oDynamicPage, oDynamicPage.
|
|
63
|
+
oRm.accessibilityState(oDynamicPage, oDynamicPage._getAccessibilityStateTitle());
|
|
64
64
|
oRm.attr("data-sap-ui-customfastnavgroup", true);
|
|
65
65
|
|
|
66
66
|
oRm.openEnd();
|
|
@@ -95,7 +95,7 @@ sap.ui.define([
|
|
|
95
95
|
* @extends sap.ui.core.Control
|
|
96
96
|
*
|
|
97
97
|
* @author SAP SE
|
|
98
|
-
* @version 1.
|
|
98
|
+
* @version 1.134.0
|
|
99
99
|
*
|
|
100
100
|
* @constructor
|
|
101
101
|
* @public
|
|
@@ -378,6 +378,8 @@ sap.ui.define([
|
|
|
378
378
|
DynamicPageTitle.TOGGLE_HEADER_TEXT_ID = InvisibleText.getStaticId("sap.f", "TOGGLE_HEADER");
|
|
379
379
|
DynamicPageTitle.DEFAULT_HEADER_TEXT_ID = InvisibleText.getStaticId("sap.f", "DEFAULT_HEADER_TEXT");
|
|
380
380
|
|
|
381
|
+
DynamicPageTitle.KNOWN_HEADING_CONTROL_CLASS_NAMES = ["sap.m.Title", "sap.m.Text", "sap.m.FormattedText", "sap.m.Label"];
|
|
382
|
+
|
|
381
383
|
/**
|
|
382
384
|
* Retrieves the resource bundle for the <code>sap.f</code> library.
|
|
383
385
|
* @returns {Object} the resource bundle object
|
|
@@ -414,6 +416,20 @@ sap.ui.define([
|
|
|
414
416
|
return typeof oObject === "function";
|
|
415
417
|
}
|
|
416
418
|
|
|
419
|
+
function findTitleInFlexBox(oHeading) {
|
|
420
|
+
var oTitle = null;
|
|
421
|
+
|
|
422
|
+
for (var item of oHeading.getItems()) {
|
|
423
|
+
if (item.isA("sap.m.Title")) {
|
|
424
|
+
return item;
|
|
425
|
+
} else if (item.isA("sap.m.FlexBox")) {
|
|
426
|
+
oTitle = findTitleInFlexBox(item);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
return oTitle;
|
|
431
|
+
}
|
|
432
|
+
|
|
417
433
|
/* ========== LIFECYCLE METHODS ========== */
|
|
418
434
|
DynamicPageTitle.prototype.init = function () {
|
|
419
435
|
this._bExpandedState = true;
|
|
@@ -704,6 +720,23 @@ sap.ui.define([
|
|
|
704
720
|
|
|
705
721
|
/* ========== PRIVATE METHODS ========== */
|
|
706
722
|
|
|
723
|
+
DynamicPageTitle.prototype._getTitleText = function() {
|
|
724
|
+
var oHeading = this.getHeading(),
|
|
725
|
+
sClassName = oHeading && oHeading.getMetadata().getName(),
|
|
726
|
+
oTitle,
|
|
727
|
+
sTitleText;
|
|
728
|
+
|
|
729
|
+
if (DynamicPageTitle.KNOWN_HEADING_CONTROL_CLASS_NAMES.indexOf(sClassName) > -1) {
|
|
730
|
+
sTitleText = oHeading.getText();
|
|
731
|
+
} else if (oHeading?.isA("sap.m.FlexBox")) {
|
|
732
|
+
oTitle = findTitleInFlexBox(oHeading);
|
|
733
|
+
sTitleText = oTitle?.getText();
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
return sTitleText;
|
|
737
|
+
};
|
|
738
|
+
|
|
739
|
+
|
|
707
740
|
/**
|
|
708
741
|
* Creates and caches an instance of the {@link sap.ui.core.InvisibleText} control for the specified aria label.
|
|
709
742
|
* @param {string} sId The ID for the invisible text control.
|
|
@@ -49,7 +49,7 @@ sap.ui.define([
|
|
|
49
49
|
*
|
|
50
50
|
* For more information, see {@link sap.f.FlexibleColumnLayoutSemanticHelper#getCurrentUIState} and {@link sap.f.FlexibleColumnLayoutSemanticHelper#getNextUIState}
|
|
51
51
|
*
|
|
52
|
-
* @version 1.
|
|
52
|
+
* @version 1.134.0
|
|
53
53
|
* @param {sap.f.FlexibleColumnLayout} oFlexibleColumnLayout
|
|
54
54
|
* The <code>sap.f.FlexibleColumnLayout</code> object whose state will be manipulated.
|
|
55
55
|
*
|