@openui5/sap.f 1.132.1 → 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 +2 -9
- package/LICENSES/LicenseRef-Unicode-3.0.txt +39 -0
- package/THIRDPARTY.txt +45 -78
- 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 +12 -7
- 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 +2 -2
- 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 +28 -37
- package/src/sap/f/themes/base/CardLoading.less +3 -3
- package/src/sap/f/themes/base/DynamicPage.less +9 -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/LICENSES/Unicode-DFS-2015.txt +0 -51
|
@@ -108,7 +108,7 @@ sap.ui.define([
|
|
|
108
108
|
*
|
|
109
109
|
* @extends sap.ui.core.Control
|
|
110
110
|
* @author SAP SE
|
|
111
|
-
* @version 1.
|
|
111
|
+
* @version 1.134.0
|
|
112
112
|
*
|
|
113
113
|
* @constructor
|
|
114
114
|
* @public
|
|
@@ -851,9 +851,9 @@ sap.ui.define([
|
|
|
851
851
|
FlexibleColumnLayout.prototype._onColumnsLabelChanged = function (oEvent) {
|
|
852
852
|
var sColumn = oEvent.getParameter("column"),
|
|
853
853
|
sLabel = oEvent.getParameter("label"),
|
|
854
|
-
$Column = this._$columns[sColumn];
|
|
854
|
+
$Column = this._$columns?.[sColumn];
|
|
855
855
|
|
|
856
|
-
$Column.attr("aria-label", sLabel);
|
|
856
|
+
$Column?.length && $Column.attr("aria-label", sLabel);
|
|
857
857
|
};
|
|
858
858
|
|
|
859
859
|
/**
|
|
@@ -1728,12 +1728,17 @@ sap.ui.define([
|
|
|
1728
1728
|
this._previewResizedColumnsOnMoveSeparator(iCursonX, true /* resize end */);
|
|
1729
1729
|
this._saveResizedColumWidths();
|
|
1730
1730
|
|
|
1731
|
-
if (this._oMoveInfo.layout
|
|
1732
|
-
this.
|
|
1733
|
-
|
|
1731
|
+
if (this._oMoveInfo.layout == this.getLayout()) {
|
|
1732
|
+
this._exitInteractiveResizeMode();
|
|
1733
|
+
return;
|
|
1734
1734
|
}
|
|
1735
|
+
this.setLayout(this._oMoveInfo.layout);
|
|
1735
1736
|
|
|
1736
|
-
|
|
1737
|
+
try {
|
|
1738
|
+
this._fireStateChange(true, false);
|
|
1739
|
+
} finally {
|
|
1740
|
+
this._exitInteractiveResizeMode();
|
|
1741
|
+
}
|
|
1737
1742
|
};
|
|
1738
1743
|
|
|
1739
1744
|
/**
|
|
@@ -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
|
*
|
|
@@ -15,7 +15,6 @@ sap.ui.define([
|
|
|
15
15
|
"sap/base/strings/capitalize",
|
|
16
16
|
"sap/ui/core/Lib",
|
|
17
17
|
"sap/ui/core/RenderManager",
|
|
18
|
-
'sap/ui/core/delegate/ItemNavigation',
|
|
19
18
|
"sap/ui/base/ManagedObjectObserver",
|
|
20
19
|
"sap/ui/core/Control",
|
|
21
20
|
"sap/ui/core/Element",
|
|
@@ -37,7 +36,6 @@ sap.ui.define([
|
|
|
37
36
|
capitalize,
|
|
38
37
|
Library,
|
|
39
38
|
RenderManager,
|
|
40
|
-
ItemNavigation,
|
|
41
39
|
ManagedObjectObserver,
|
|
42
40
|
Control,
|
|
43
41
|
Element,
|
|
@@ -50,21 +48,6 @@ sap.ui.define([
|
|
|
50
48
|
) {
|
|
51
49
|
"use strict";
|
|
52
50
|
|
|
53
|
-
/**
|
|
54
|
-
* For these controls check if the grid item visual focus can be displayed from the control inside.
|
|
55
|
-
*/
|
|
56
|
-
var mOwnVisualFocusControls = {
|
|
57
|
-
"sap.f.Card": function (oCard) {
|
|
58
|
-
return oCard.getCardHeader() || oCard.getCardContent();
|
|
59
|
-
},
|
|
60
|
-
"sap.ui.integration.widgets.Card": function (oCard) {
|
|
61
|
-
return oCard.getCardHeader() || oCard.getCardContent();
|
|
62
|
-
},
|
|
63
|
-
"sap.m.GenericTile": function () {
|
|
64
|
-
return true;
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
|
|
68
51
|
/**
|
|
69
52
|
* Gets the column-span property from the item's layout data.
|
|
70
53
|
* @private
|
|
@@ -116,6 +99,9 @@ sap.ui.define([
|
|
|
116
99
|
*
|
|
117
100
|
* All rows have the same height and all columns have the same width. Their sizes can be configured with the use of the <code>layout</code> aggregation and <code>{@link sap.f.GridContainerSettings}</code>.
|
|
118
101
|
*
|
|
102
|
+
* **Note:** To ensure better keyboard and accessibility support,
|
|
103
|
+
* child items should implement <code>sap.f.IGridContainerItem</code> interface.
|
|
104
|
+
*
|
|
119
105
|
* <h3>Usage</h3>
|
|
120
106
|
*
|
|
121
107
|
* <i>When to use</i>
|
|
@@ -177,7 +163,7 @@ sap.ui.define([
|
|
|
177
163
|
* @see {@link sap.f.dnd.GridDropInfo}
|
|
178
164
|
*
|
|
179
165
|
* @author SAP SE
|
|
180
|
-
* @version 1.
|
|
166
|
+
* @version 1.134.0
|
|
181
167
|
*
|
|
182
168
|
* @extends sap.ui.core.Control
|
|
183
169
|
*
|
|
@@ -398,6 +384,10 @@ sap.ui.define([
|
|
|
398
384
|
}
|
|
399
385
|
|
|
400
386
|
oContainer._reflectItemVisibilityToWrapper(this);
|
|
387
|
+
|
|
388
|
+
if (this.isA("sap.f.IGridContainerItem")) {
|
|
389
|
+
this.setGridItemRole("listitem");
|
|
390
|
+
}
|
|
401
391
|
};
|
|
402
392
|
|
|
403
393
|
/**
|
|
@@ -407,8 +397,6 @@ sap.ui.define([
|
|
|
407
397
|
GridContainer.prototype._onAfterItemRendering = function () {
|
|
408
398
|
var oContainer = this.getParent();
|
|
409
399
|
|
|
410
|
-
oContainer._checkOwnVisualFocus(this);
|
|
411
|
-
|
|
412
400
|
oContainer._resizeListeners[this.getId()] = ResizeHandler.register(this, oContainer._resizeItemHandler);
|
|
413
401
|
|
|
414
402
|
oContainer._setItemNavigationItems();
|
|
@@ -416,28 +404,6 @@ sap.ui.define([
|
|
|
416
404
|
oContainer._applyItemAutoRows(this);
|
|
417
405
|
};
|
|
418
406
|
|
|
419
|
-
GridContainer.prototype._onItemWrapperFocusIn = function (oEvent) {
|
|
420
|
-
var oFocusedDomRef = this._oItemNavigation.getFocusedDomRef(),
|
|
421
|
-
oControl,
|
|
422
|
-
sAccText;
|
|
423
|
-
|
|
424
|
-
if (!oFocusedDomRef || !oFocusedDomRef.firstChild) {
|
|
425
|
-
return;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
oControl = Element.closestTo(oFocusedDomRef.firstChild);
|
|
429
|
-
|
|
430
|
-
if (!oControl || !oControl.getAriaRoleDescription) {
|
|
431
|
-
return;
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
// announce the aria role description text, if any
|
|
435
|
-
sAccText = oControl.getAriaRoleDescription();
|
|
436
|
-
if (sAccText) {
|
|
437
|
-
InvisibleMessage.getInstance().announce(sAccText);
|
|
438
|
-
}
|
|
439
|
-
};
|
|
440
|
-
|
|
441
407
|
/**
|
|
442
408
|
* Reflects "visible" behavior of the control to the wrapper element - sapFGridContainerItemWrapper.
|
|
443
409
|
*
|
|
@@ -445,7 +411,6 @@ sap.ui.define([
|
|
|
445
411
|
* @param {sap.ui.core.Control} oItem The control of which we will check "visible" property.
|
|
446
412
|
*/
|
|
447
413
|
GridContainer.prototype._reflectItemVisibilityToWrapper = function (oItem) {
|
|
448
|
-
|
|
449
414
|
var oItemWrapper = GridContainerUtils.getItemWrapper(oItem),
|
|
450
415
|
$oItemWrapper;
|
|
451
416
|
|
|
@@ -504,32 +469,28 @@ sap.ui.define([
|
|
|
504
469
|
if (!this._isRenderingFinished) {
|
|
505
470
|
return;
|
|
506
471
|
}
|
|
507
|
-
var
|
|
508
|
-
aWrapperItemsDomRef = [];
|
|
472
|
+
var aItemsDomRef = [];
|
|
509
473
|
|
|
510
474
|
//Initialize the ItemNavigation
|
|
511
|
-
if (!
|
|
512
|
-
|
|
475
|
+
if (!this._oItemNavigation) {
|
|
476
|
+
this._oItemNavigation = new GridContainerItemNavigation()
|
|
513
477
|
.setCycling(false)
|
|
514
478
|
.setDisabledModifiers({
|
|
515
479
|
sapnext : ["alt", "meta", "ctrl"],
|
|
516
480
|
sapprevious : ["alt", "meta", "ctrl"]
|
|
517
481
|
})
|
|
518
482
|
.setTableMode(true, true)
|
|
519
|
-
.setFocusedIndex(0)
|
|
520
|
-
.attachEvent(ItemNavigation.Events.AfterFocus, this._onItemWrapperFocusIn.bind(this));
|
|
483
|
+
.setFocusedIndex(0);
|
|
521
484
|
|
|
522
|
-
|
|
485
|
+
this.addDelegate(this._oItemNavigation);
|
|
523
486
|
}
|
|
524
487
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
aWrapperItemsDomRef.push(oWrapperItem);
|
|
528
|
-
}
|
|
488
|
+
this.getItems().map((oItem) => {
|
|
489
|
+
aItemsDomRef.push(GridContainerUtils.getItemFocusDomRef(oItem));
|
|
529
490
|
});
|
|
530
491
|
|
|
531
|
-
|
|
532
|
-
|
|
492
|
+
this._oItemNavigation.setRootDomRef(this.getDomRef());
|
|
493
|
+
this._oItemNavigation.setItemDomRefs(aItemsDomRef);
|
|
533
494
|
};
|
|
534
495
|
|
|
535
496
|
/**
|
|
@@ -955,8 +916,15 @@ sap.ui.define([
|
|
|
955
916
|
mStyles = mStylesInfo.styles,
|
|
956
917
|
aClasses = mStylesInfo.classes,
|
|
957
918
|
oWrapper = document.createElement("div");
|
|
958
|
-
|
|
919
|
+
|
|
920
|
+
oWrapper.setAttribute("id", GridContainerRenderer.generateWrapperId(oItem, this));
|
|
921
|
+
|
|
922
|
+
if (!oItem.isA("sap.f.IGridContainerItem")) {
|
|
959
923
|
oWrapper.setAttribute("tabindex", "0");
|
|
924
|
+
oWrapper.classList.add("sapFGCFocusable");
|
|
925
|
+
} else {
|
|
926
|
+
oItem.setGridItemRole("listitem");
|
|
927
|
+
}
|
|
960
928
|
|
|
961
929
|
mStyles.forEach(function (sValue, sKey) {
|
|
962
930
|
oWrapper.style.setProperty(sKey, sValue);
|
|
@@ -979,53 +947,8 @@ sap.ui.define([
|
|
|
979
947
|
this.fireEvent("borderReached", mParameters);
|
|
980
948
|
};
|
|
981
949
|
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
* Stops propagation to avoid triggering the listeners for the same keys of the parent control (the AnchorBar)
|
|
985
|
-
*/
|
|
986
|
-
["onkeypress", "onkeyup", "onkeydown", "onsapenter", "onsapselect", "onsapspace"].forEach(function (sName) {
|
|
987
|
-
GridContainer.prototype[sName] = function (oEvent) {
|
|
988
|
-
if (!this._isItemWrapper(oEvent.target)) {
|
|
989
|
-
return;
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
if (sName === "onsapspace") {
|
|
993
|
-
// prevent page scrolling
|
|
994
|
-
oEvent.preventDefault();
|
|
995
|
-
}
|
|
996
|
-
|
|
997
|
-
var oItem = Element.closestTo(oEvent.target.firstChild);
|
|
998
|
-
|
|
999
|
-
if (oItem) {
|
|
1000
|
-
var oFocusDomRef = oItem.getFocusDomRef(),
|
|
1001
|
-
oFocusControl = Element.closestTo(oFocusDomRef);
|
|
1002
|
-
|
|
1003
|
-
if (oFocusControl && oFocusControl[sName]) {
|
|
1004
|
-
oFocusControl[sName].call(oFocusControl, oEvent);
|
|
1005
|
-
}
|
|
1006
|
-
}
|
|
1007
|
-
};
|
|
1008
|
-
});
|
|
1009
|
-
|
|
1010
|
-
/**
|
|
1011
|
-
* Checks if the control will display the grid item visual focus.
|
|
1012
|
-
* @param {sap.ui.core.Control} oControl The control
|
|
1013
|
-
* @private
|
|
1014
|
-
*/
|
|
1015
|
-
GridContainer.prototype._checkOwnVisualFocus = function (oControl) {
|
|
1016
|
-
var sName = oControl.getMetadata().getName(),
|
|
1017
|
-
oFocusDomRef;
|
|
1018
|
-
|
|
1019
|
-
if (mOwnVisualFocusControls[sName] && mOwnVisualFocusControls[sName](oControl)) {
|
|
1020
|
-
oFocusDomRef = oControl.getFocusDomRef();
|
|
1021
|
-
|
|
1022
|
-
// remove the focus DOM ref from the tab chain
|
|
1023
|
-
if (oFocusDomRef.getAttribute("tabindex") === "0") {
|
|
1024
|
-
oFocusDomRef.setAttribute("tabindex", -1);
|
|
1025
|
-
oFocusDomRef.tabIndex = -1;
|
|
1026
|
-
}
|
|
1027
|
-
GridContainerUtils.getItemWrapper(oControl).classList.add("sapFGridContainerItemWrapperNoVisualFocus");
|
|
1028
|
-
}
|
|
950
|
+
GridContainer.prototype._isListItem = function (oControl) {
|
|
951
|
+
return oControl.isA("sap.f.IGridContainerItem");
|
|
1029
952
|
};
|
|
1030
953
|
|
|
1031
954
|
/**
|
|
@@ -1038,11 +961,14 @@ sap.ui.define([
|
|
|
1038
961
|
return;
|
|
1039
962
|
}
|
|
1040
963
|
|
|
1041
|
-
|
|
964
|
+
const oSource = oEvent.srcControl;
|
|
965
|
+
const bIsGridContainerItem = oSource?.isA("sap.f.IGridContainerItem");
|
|
966
|
+
|
|
967
|
+
if (!bIsGridContainerItem && !oEvent.target.classList.contains("sapFGridContainerItemWrapper")) {
|
|
1042
968
|
return;
|
|
1043
969
|
}
|
|
1044
970
|
|
|
1045
|
-
var oItem = Element.closestTo(oEvent.target.firstElementChild),
|
|
971
|
+
var oItem = bIsGridContainerItem ? oSource : Element.closestTo(oEvent.target.firstElementChild),
|
|
1046
972
|
iLength = this.getItems().length,
|
|
1047
973
|
iItemIndex = this.indexOfItem(oItem),
|
|
1048
974
|
iInsertAt = -1,
|
|
@@ -1169,14 +1095,38 @@ sap.ui.define([
|
|
|
1169
1095
|
return GridNavigationMatrix.create(this.getDomRef("listUl"), aItemsDomRefs);
|
|
1170
1096
|
};
|
|
1171
1097
|
|
|
1172
|
-
GridContainer.prototype._isItemWrapper = function (oElement) {
|
|
1173
|
-
return oElement.classList.contains("sapFGridContainerItemWrapper");
|
|
1174
|
-
};
|
|
1175
|
-
|
|
1176
1098
|
GridContainer.prototype._handleThemeApplied = function () {
|
|
1177
1099
|
this._bThemeApplied = true;
|
|
1178
1100
|
Theming.detachApplied(this._handleThemeAppliedBound);
|
|
1179
1101
|
};
|
|
1180
1102
|
|
|
1103
|
+
/**
|
|
1104
|
+
* Keyboard handling of [keydown], [keyup], [enter], [space] keys
|
|
1105
|
+
* Stops propagation to avoid triggering the listeners for the same keys of the parent control (the AnchorBar)
|
|
1106
|
+
*/
|
|
1107
|
+
["onkeypress", "onkeyup", "onkeydown", "onsapenter", "onsapselect", "onsapspace"].forEach(function (sName) {
|
|
1108
|
+
GridContainer.prototype[sName] = function (oEvent) {
|
|
1109
|
+
if (!oEvent.target?.classList.contains("sapFGCFocusable")) {
|
|
1110
|
+
return;
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
if (sName === "onsapspace") {
|
|
1114
|
+
// prevent page scrolling
|
|
1115
|
+
oEvent.preventDefault();
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
var oItem = Element.closestTo(oEvent.target.firstChild);
|
|
1119
|
+
|
|
1120
|
+
if (oItem) {
|
|
1121
|
+
var oFocusDomRef = oItem.getFocusDomRef(),
|
|
1122
|
+
oFocusControl = Element.closestTo(oFocusDomRef);
|
|
1123
|
+
|
|
1124
|
+
if (oFocusControl && oFocusControl[sName]) {
|
|
1125
|
+
oFocusControl[sName].call(oFocusControl, oEvent);
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
};
|
|
1129
|
+
});
|
|
1130
|
+
|
|
1181
1131
|
return GridContainer;
|
|
1182
1132
|
});
|
|
@@ -100,6 +100,7 @@ sap.ui.define([], function () {
|
|
|
100
100
|
var mStylesInfo = this.getStylesForItemWrapper(oItem, oControl),
|
|
101
101
|
mStyles = mStylesInfo.styles,
|
|
102
102
|
aClasses = mStylesInfo.classes,
|
|
103
|
+
bIsListItem = oControl._isListItem(oItem),
|
|
103
104
|
mAccState = {
|
|
104
105
|
role: "listitem"
|
|
105
106
|
};
|
|
@@ -108,9 +109,13 @@ sap.ui.define([], function () {
|
|
|
108
109
|
mAccState.roledescription = oItem.getAriaRoleDescription();
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
oRM.openStart("div", this.generateWrapperId(oItem, oControl))
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
oRM.openStart("div", this.generateWrapperId(oItem, oControl));
|
|
113
|
+
|
|
114
|
+
if (!bIsListItem) {
|
|
115
|
+
oRM.attr("tabindex", "0")
|
|
116
|
+
.class("sapFGCFocusable")
|
|
117
|
+
.accessibilityState(oControl, mAccState);
|
|
118
|
+
}
|
|
114
119
|
|
|
115
120
|
mStyles.forEach(function (sValue, sKey) {
|
|
116
121
|
oRM.style(sKey, sValue);
|
|
@@ -58,14 +58,14 @@ sap.ui.define([
|
|
|
58
58
|
* Can be used to define the sizes of columns and rows for different screen sizes, by using the <code>layout</code> aggregations of <code>sap.f.GridContainer</code>.
|
|
59
59
|
*
|
|
60
60
|
* @author SAP SE
|
|
61
|
-
* @version 1.
|
|
61
|
+
* @version 1.134.0
|
|
62
62
|
*
|
|
63
63
|
* @extends sap.ui.base.ManagedObject
|
|
64
64
|
*
|
|
65
65
|
* @see {@link topic:32d4b9c2b981425dbc374d3e9d5d0c2e Grid Controls}
|
|
66
66
|
*
|
|
67
67
|
* @author SAP SE
|
|
68
|
-
* @version 1.
|
|
68
|
+
* @version 1.134.0
|
|
69
69
|
*
|
|
70
70
|
* @since 1.65
|
|
71
71
|
* @public
|
|
@@ -43,6 +43,14 @@ sap.ui.define([
|
|
|
43
43
|
return null;
|
|
44
44
|
},
|
|
45
45
|
|
|
46
|
+
getItemFocusDomRef: function (oItem) {
|
|
47
|
+
if (oItem.isA("sap.f.IGridContainerItem")) {
|
|
48
|
+
return oItem.getFocusDomRef();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return this.getItemWrapper(oItem);
|
|
52
|
+
},
|
|
53
|
+
|
|
46
54
|
createConfig: function (oGrid, oItem) {
|
|
47
55
|
return {
|
|
48
56
|
grid: oGrid,
|
package/src/sap/f/GridList.js
CHANGED
|
@@ -93,7 +93,7 @@ sap.ui.define([
|
|
|
93
93
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout MDN web docs: CSS Grid Layout}
|
|
94
94
|
*
|
|
95
95
|
* @author SAP SE
|
|
96
|
-
* @version 1.
|
|
96
|
+
* @version 1.134.0
|
|
97
97
|
*
|
|
98
98
|
* @extends sap.m.ListBase
|
|
99
99
|
* @implements sap.ui.layout.cssgrid.IGridConfigurable
|
package/src/sap/f/ShellBar.js
CHANGED
package/src/sap/f/SidePanel.js
CHANGED
|
@@ -94,7 +94,7 @@ sap.ui.define([
|
|
|
94
94
|
*
|
|
95
95
|
* Each click/tap fires an event, and in the event handler specific content can be added/changed
|
|
96
96
|
* to the <code>content</code> aggregation of the clicked/tapped action item or data can be
|
|
97
|
-
*
|
|
97
|
+
* retrieved from the same aggregation depending on the state of the action item.
|
|
98
98
|
*
|
|
99
99
|
* If the side content is displayed, there is automatically generated header of the side content which
|
|
100
100
|
* contains the icon and title of the selected action item and a close button that closes the area where
|
|
@@ -151,7 +151,7 @@ sap.ui.define([
|
|
|
151
151
|
* @extends sap.ui.core.Control
|
|
152
152
|
*
|
|
153
153
|
* @author SAP SE
|
|
154
|
-
* @version 1.
|
|
154
|
+
* @version 1.134.0
|
|
155
155
|
*
|
|
156
156
|
* @constructor
|
|
157
157
|
* @public
|