@openui5/sap.f 1.116.0 → 1.117.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 +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 +1 -1
- package/src/sap/f/DynamicPage.js +38 -4
- package/src/sap/f/DynamicPageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/f/DynamicPageHeader.js +1 -1
- package/src/sap/f/DynamicPageTitle.js +1 -1
- package/src/sap/f/FlexibleColumnLayout.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutAccessibleLandmarkInfo.js +1 -1
- package/src/sap/f/FlexibleColumnLayoutSemanticHelper.js +1 -1
- package/src/sap/f/GridContainer.js +1 -1
- package/src/sap/f/GridContainerItemLayoutData.js +1 -1
- package/src/sap/f/GridContainerSettings.js +2 -2
- package/src/sap/f/GridList.js +1 -1
- package/src/sap/f/GridListItem.js +1 -1
- package/src/sap/f/GridNavigationMatrix.js +61 -33
- 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/SidePanel.js +17 -5
- package/src/sap/f/SidePanelItem.js +1 -1
- package/src/sap/f/SidePanelRenderer.js +1 -1
- package/src/sap/f/cards/BaseHeader.js +1 -1
- package/src/sap/f/cards/Header.js +9 -1
- package/src/sap/f/cards/HeaderRenderer.js +1 -1
- package/src/sap/f/cards/NumericHeader.js +1 -1
- 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 +1 -1
- package/src/sap/f/delegate/GridItemNavigation.js +135 -111
- package/src/sap/f/dnd/GridDragOver.js +1 -1
- package/src/sap/f/dnd/GridDropInfo.js +1 -1
- package/src/sap/f/library.js +2 -2
- package/src/sap/f/messagebundle_fr.properties +4 -4
- 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/Search.js +1 -1
- package/ui5.yaml +1 -1
|
@@ -30,7 +30,7 @@ sap.ui.define([], function () {
|
|
|
30
30
|
bLoading = oHeader.isLoading(),
|
|
31
31
|
oError = oHeader.getAggregation("_error"),
|
|
32
32
|
oToolbar = oHeader.getToolbar(),
|
|
33
|
-
bIconVisible = oHeader.
|
|
33
|
+
bIconVisible = oHeader.shouldShowIcon();
|
|
34
34
|
|
|
35
35
|
oRm.openStart("div", oHeader)
|
|
36
36
|
.class("sapFCardHeader");
|
|
@@ -8,18 +8,21 @@ sap.ui.define([
|
|
|
8
8
|
"sap/ui/core/delegate/ItemNavigation",
|
|
9
9
|
"sap/ui/events/KeyCodes",
|
|
10
10
|
"sap/base/Log",
|
|
11
|
-
"sap/f/library"
|
|
11
|
+
"sap/f/library",
|
|
12
|
+
"sap/f/GridNavigationMatrix"
|
|
12
13
|
], function (
|
|
13
14
|
Element,
|
|
14
15
|
ItemNavigation,
|
|
15
16
|
KeyCodes,
|
|
16
17
|
Log,
|
|
17
|
-
library
|
|
18
|
+
library,
|
|
19
|
+
GridNavigationMatrix
|
|
18
20
|
) {
|
|
19
21
|
"use strict";
|
|
20
22
|
|
|
21
23
|
// shortcut for sap.f.NavigationDirection
|
|
22
|
-
|
|
24
|
+
const NavigationDirection = library.NavigationDirection;
|
|
25
|
+
const PAGE_SIZE = 10;
|
|
23
26
|
|
|
24
27
|
/**
|
|
25
28
|
* Constructor for a new <code>sap.f.delegate.GridItemNavigation</code>.
|
|
@@ -31,7 +34,7 @@ sap.ui.define([
|
|
|
31
34
|
*
|
|
32
35
|
*
|
|
33
36
|
* @author SAP SE
|
|
34
|
-
* @version 1.
|
|
37
|
+
* @version 1.117.0
|
|
35
38
|
*
|
|
36
39
|
* @extends sap.ui.core.delegate.ItemNavigation
|
|
37
40
|
*
|
|
@@ -41,20 +44,22 @@ sap.ui.define([
|
|
|
41
44
|
*/
|
|
42
45
|
var GridItemNavigation = ItemNavigation.extend("sap.f.delegate.GridItemNavigation");
|
|
43
46
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
/**
|
|
48
|
+
* @override
|
|
49
|
+
*/
|
|
48
50
|
GridItemNavigation.prototype.onfocusin = function (oEvent) {
|
|
49
51
|
ItemNavigation.prototype.onfocusin.call(this, oEvent);
|
|
50
52
|
|
|
51
|
-
|
|
53
|
+
const aMatrix = this._getGridInstance().getNavigationMatrix();
|
|
52
54
|
|
|
53
55
|
if (aMatrix && oEvent.target === this.oDomRef) {
|
|
54
56
|
this._mCurrentPosition = this._findPositionInMatrix(aMatrix, this.getItemDomRefs().indexOf(this.iFocusedIndex));
|
|
55
57
|
}
|
|
56
58
|
};
|
|
57
59
|
|
|
60
|
+
/**
|
|
61
|
+
* @override
|
|
62
|
+
*/
|
|
58
63
|
GridItemNavigation.prototype.onsapfocusleave = function (oEvent) {
|
|
59
64
|
ItemNavigation.prototype.onsapfocusleave.call(this, oEvent);
|
|
60
65
|
|
|
@@ -63,54 +68,61 @@ sap.ui.define([
|
|
|
63
68
|
}
|
|
64
69
|
};
|
|
65
70
|
|
|
66
|
-
GridItemNavigation.prototype.ontap = function (oEvent) {
|
|
67
|
-
// reset focus position when navigation is performed without keyboard
|
|
68
|
-
this.resetFocusPosition();
|
|
69
|
-
};
|
|
70
|
-
|
|
71
71
|
/**
|
|
72
|
-
*
|
|
73
|
-
* Sets the focus to the next item
|
|
74
|
-
*
|
|
75
|
-
* @param {jQuery.Event} oEvent the browser event
|
|
76
|
-
* @private
|
|
72
|
+
* @override
|
|
77
73
|
*/
|
|
78
74
|
GridItemNavigation.prototype.onsapnext = function (oEvent) {
|
|
79
75
|
this._moveFocus(oEvent);
|
|
80
76
|
};
|
|
81
77
|
|
|
82
78
|
/**
|
|
83
|
-
*
|
|
84
|
-
* Sets the focus to the previous item
|
|
85
|
-
*
|
|
86
|
-
* @param {jQuery.Event} oEvent the browser event
|
|
87
|
-
* @private
|
|
79
|
+
* @override
|
|
88
80
|
*/
|
|
89
81
|
GridItemNavigation.prototype.onsapprevious = function (oEvent) {
|
|
90
82
|
this._moveFocus(oEvent);
|
|
91
83
|
};
|
|
92
84
|
|
|
85
|
+
/**
|
|
86
|
+
* @override
|
|
87
|
+
*/
|
|
88
|
+
GridItemNavigation.prototype.onsappageup = function(oEvent) {
|
|
89
|
+
this._moveFocus(oEvent);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* @override
|
|
94
|
+
*/
|
|
95
|
+
GridItemNavigation.prototype.onsappagedown = function (oEvent) {
|
|
96
|
+
this._moveFocus(oEvent);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
GridItemNavigation.prototype.resetFocusPosition = function () {
|
|
100
|
+
this._mCurrentPosition = null;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
GridItemNavigation.prototype.ontap = function () {
|
|
104
|
+
// reset focus position when navigation is performed without keyboard
|
|
105
|
+
this.resetFocusPosition();
|
|
106
|
+
};
|
|
107
|
+
|
|
93
108
|
GridItemNavigation.prototype._moveFocus = function (oEvent) {
|
|
94
|
-
|
|
95
|
-
oCurrentItem = oEvent.target,
|
|
96
|
-
aMatrix,
|
|
97
|
-
oStartPosition;
|
|
109
|
+
const oCurrentItem = oEvent.target;
|
|
98
110
|
|
|
99
111
|
// only react on events of the domrefs
|
|
100
|
-
if (
|
|
112
|
+
if (this.getItemDomRefs().indexOf(oCurrentItem) === -1) {
|
|
101
113
|
return;
|
|
102
114
|
}
|
|
103
115
|
|
|
104
116
|
oEvent.preventDefault();
|
|
105
117
|
|
|
106
|
-
aMatrix = this._getGridInstance().getNavigationMatrix();
|
|
118
|
+
const aMatrix = this._getGridInstance().getNavigationMatrix();
|
|
107
119
|
|
|
108
120
|
if (!aMatrix) {
|
|
109
121
|
// grid control is not rendered or theme is not applied yet
|
|
110
122
|
return;
|
|
111
123
|
}
|
|
112
124
|
|
|
113
|
-
oStartPosition = this._findPositionInMatrix(aMatrix, oCurrentItem);
|
|
125
|
+
const oStartPosition = this._findPositionInMatrix(aMatrix, oCurrentItem);
|
|
114
126
|
|
|
115
127
|
if (!this._mCurrentPosition) {
|
|
116
128
|
this._mCurrentPosition = {
|
|
@@ -132,133 +144,142 @@ sap.ui.define([
|
|
|
132
144
|
case KeyCodes.ARROW_LEFT:
|
|
133
145
|
this._moveFocusLeft(oStartPosition, aMatrix, oCurrentItem, oEvent);
|
|
134
146
|
break;
|
|
147
|
+
case KeyCodes.PAGE_DOWN:
|
|
148
|
+
this._moveFocusDown(oStartPosition, aMatrix, oCurrentItem, oEvent, PAGE_SIZE);
|
|
149
|
+
break;
|
|
150
|
+
case KeyCodes.PAGE_UP:
|
|
151
|
+
this._moveFocusUp(oStartPosition, aMatrix, oCurrentItem, oEvent, PAGE_SIZE);
|
|
152
|
+
break;
|
|
135
153
|
default:
|
|
136
154
|
break;
|
|
137
155
|
}
|
|
138
|
-
|
|
139
|
-
Log.info("Grid matrix position: (" + oStartPosition.row + ", " + oStartPosition.column + ")");
|
|
140
156
|
};
|
|
141
157
|
|
|
142
|
-
GridItemNavigation.prototype._moveFocusDown = function (oStartPosition, aMatrix, oCurrentItem, oEvent) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
158
|
+
GridItemNavigation.prototype._moveFocusDown = function (oStartPosition, aMatrix, oCurrentItem, oEvent, iMinSkipRows = 1) {
|
|
159
|
+
const oPosition = {
|
|
160
|
+
row: oStartPosition.row,
|
|
161
|
+
column: this._mCurrentPosition.column
|
|
162
|
+
};
|
|
163
|
+
const oNextItemPosition = { ...oPosition };
|
|
164
|
+
let oNextFocusItem = aMatrix[oNextItemPosition.row][oNextItemPosition.column];
|
|
165
|
+
|
|
166
|
+
while (
|
|
167
|
+
oPosition.row < aMatrix.length - 1
|
|
168
|
+
&& (oNextFocusItem === oCurrentItem || oPosition.row - oStartPosition.row < iMinSkipRows)
|
|
169
|
+
) {
|
|
170
|
+
oPosition.row += 1;
|
|
171
|
+
|
|
172
|
+
if (aMatrix[oPosition.row][oPosition.column] !== GridNavigationMatrix.EMPTY_CELL) {
|
|
173
|
+
oNextFocusItem = aMatrix[oPosition.row][oPosition.column];
|
|
174
|
+
oNextItemPosition.row = oPosition.row;
|
|
175
|
+
}
|
|
152
176
|
}
|
|
153
177
|
|
|
154
|
-
if (
|
|
178
|
+
if (oNextFocusItem === oCurrentItem) {
|
|
155
179
|
this._onBorderReached(oEvent);
|
|
156
180
|
return;
|
|
157
181
|
}
|
|
158
182
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
this.focusItem(aItemDomRefs.indexOf(oNextFocusItem), oEvent);
|
|
163
|
-
} else {
|
|
164
|
-
this._onBorderReached(oEvent);
|
|
165
|
-
}
|
|
183
|
+
this._mCurrentPosition = oNextItemPosition;
|
|
184
|
+
this.focusItem(this.getItemDomRefs().indexOf(oNextFocusItem), oEvent);
|
|
185
|
+
Log.info("Grid matrix position: (" + this._mCurrentPosition.row + ", " + this._mCurrentPosition.column + ")");
|
|
166
186
|
};
|
|
167
187
|
|
|
168
188
|
GridItemNavigation.prototype._moveFocusRight = function (oStartPosition, aMatrix, oCurrentItem, oEvent) {
|
|
169
|
-
var aItemDomRefs = this.getItemDomRefs(),
|
|
170
|
-
oNextFocusItem;
|
|
171
|
-
|
|
172
189
|
oStartPosition.row = this._mCurrentPosition.row;
|
|
190
|
+
let oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
|
|
173
191
|
|
|
174
|
-
while (
|
|
175
|
-
|
|
192
|
+
while (
|
|
193
|
+
oStartPosition.column < aMatrix[oStartPosition.row].length - 1
|
|
194
|
+
&& oNextFocusItem === oCurrentItem
|
|
195
|
+
) {
|
|
176
196
|
oStartPosition.column += 1;
|
|
197
|
+
|
|
198
|
+
if (aMatrix[oStartPosition.row][oStartPosition.column] !== GridNavigationMatrix.EMPTY_CELL) {
|
|
199
|
+
oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
|
|
200
|
+
}
|
|
177
201
|
}
|
|
178
202
|
|
|
179
|
-
if (
|
|
203
|
+
if (oNextFocusItem === oCurrentItem) {
|
|
180
204
|
this._onBorderReached(oEvent);
|
|
181
205
|
return;
|
|
182
206
|
}
|
|
183
207
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
this.focusItem(aItemDomRefs.indexOf(oNextFocusItem), oEvent);
|
|
188
|
-
} else {
|
|
189
|
-
this._onBorderReached(oEvent);
|
|
190
|
-
}
|
|
208
|
+
this._mCurrentPosition = oStartPosition;
|
|
209
|
+
this.focusItem(this.getItemDomRefs().indexOf(oNextFocusItem), oEvent);
|
|
210
|
+
Log.info("Grid matrix position: (" + this._mCurrentPosition.row + ", " + this._mCurrentPosition.column + ")");
|
|
191
211
|
};
|
|
192
212
|
|
|
193
|
-
GridItemNavigation.prototype._moveFocusUp = function (oStartPosition, aMatrix, oCurrentItem, oEvent) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
213
|
+
GridItemNavigation.prototype._moveFocusUp = function (oStartPosition, aMatrix, oCurrentItem, oEvent, iMinSkipRows = 1) {
|
|
214
|
+
const oPosition = {
|
|
215
|
+
row: oStartPosition.row,
|
|
216
|
+
column: this._mCurrentPosition.column
|
|
217
|
+
};
|
|
218
|
+
const oNextItemPosition = { ...oPosition };
|
|
219
|
+
let oNextFocusItem = aMatrix[oNextItemPosition.row][oNextItemPosition.column];
|
|
220
|
+
|
|
221
|
+
while (
|
|
222
|
+
oPosition.row > 0
|
|
223
|
+
&& (oNextFocusItem === oCurrentItem || oStartPosition.row - oPosition.row < iMinSkipRows)
|
|
224
|
+
) {
|
|
225
|
+
oPosition.row -= 1;
|
|
226
|
+
|
|
227
|
+
if (aMatrix[oPosition.row][oPosition.column] !== GridNavigationMatrix.EMPTY_CELL) {
|
|
228
|
+
oNextFocusItem = aMatrix[oPosition.row][oPosition.column];
|
|
229
|
+
oNextItemPosition.row = oPosition.row;
|
|
230
|
+
}
|
|
202
231
|
}
|
|
203
232
|
|
|
204
|
-
if (
|
|
233
|
+
if (oNextFocusItem === oCurrentItem) {
|
|
205
234
|
this._onBorderReached(oEvent);
|
|
206
235
|
return;
|
|
207
236
|
}
|
|
208
237
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
// move to the upper top row index
|
|
213
|
-
while (oStartPosition.row > 0 && aMatrix[oStartPosition.row - 1][oStartPosition.column] === oNextFocusItem) {
|
|
214
|
-
oStartPosition.row -= 1;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
this._mCurrentPosition = oStartPosition;
|
|
218
|
-
this.focusItem(aItemDomRefs.indexOf(oNextFocusItem), oEvent);
|
|
219
|
-
} else {
|
|
220
|
-
this._onBorderReached(oEvent);
|
|
238
|
+
// move to the upper top row index
|
|
239
|
+
while (oNextItemPosition.row > 0 && aMatrix[oNextItemPosition.row - 1][oNextItemPosition.column] === oNextFocusItem) {
|
|
240
|
+
oNextItemPosition.row -= 1;
|
|
221
241
|
}
|
|
242
|
+
|
|
243
|
+
this._mCurrentPosition = oNextItemPosition;
|
|
244
|
+
this.focusItem(this.getItemDomRefs().indexOf(oNextFocusItem), oEvent);
|
|
245
|
+
Log.info("Grid matrix position: (" + this._mCurrentPosition.row + ", " + this._mCurrentPosition.column + ")");
|
|
222
246
|
};
|
|
223
247
|
|
|
224
248
|
GridItemNavigation.prototype._moveFocusLeft = function (oStartPosition, aMatrix, oCurrentItem, oEvent) {
|
|
225
|
-
var aItemDomRefs = this.getItemDomRefs(),
|
|
226
|
-
oNextFocusItem;
|
|
227
|
-
|
|
228
249
|
oStartPosition.row = this._mCurrentPosition.row;
|
|
250
|
+
let oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
|
|
229
251
|
|
|
230
|
-
while (
|
|
231
|
-
|
|
252
|
+
while (
|
|
253
|
+
oStartPosition.column > 0
|
|
254
|
+
&& oNextFocusItem === oCurrentItem
|
|
255
|
+
) {
|
|
232
256
|
oStartPosition.column -= 1;
|
|
257
|
+
|
|
258
|
+
if (aMatrix[oStartPosition.row][oStartPosition.column] !== GridNavigationMatrix.EMPTY_CELL) {
|
|
259
|
+
oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
|
|
260
|
+
}
|
|
233
261
|
}
|
|
234
262
|
|
|
235
|
-
if (
|
|
263
|
+
if (oNextFocusItem === oCurrentItem) {
|
|
236
264
|
this._onBorderReached(oEvent);
|
|
237
265
|
return;
|
|
238
266
|
}
|
|
239
267
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
// move to the most left column index
|
|
244
|
-
while (oStartPosition.column > 0 && aMatrix[oStartPosition.row][oStartPosition.column - 1] === oNextFocusItem) {
|
|
245
|
-
oStartPosition.column -= 1;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
this._mCurrentPosition = oStartPosition;
|
|
249
|
-
this.focusItem(aItemDomRefs.indexOf(oNextFocusItem), oEvent);
|
|
250
|
-
} else {
|
|
251
|
-
this._onBorderReached(oEvent);
|
|
268
|
+
// move to the most left column index
|
|
269
|
+
while (oStartPosition.column > 0 && aMatrix[oStartPosition.row][oStartPosition.column - 1] === oNextFocusItem) {
|
|
270
|
+
oStartPosition.column -= 1;
|
|
252
271
|
}
|
|
272
|
+
|
|
273
|
+
this._mCurrentPosition = oStartPosition;
|
|
274
|
+
this.focusItem(this.getItemDomRefs().indexOf(oNextFocusItem), oEvent);
|
|
275
|
+
Log.info("Grid matrix position: (" + this._mCurrentPosition.row + ", " + this._mCurrentPosition.column + ")");
|
|
253
276
|
};
|
|
254
277
|
|
|
255
278
|
GridItemNavigation.prototype._findPositionInMatrix = function (aMatrix, oItem) {
|
|
256
|
-
|
|
257
|
-
var oMatrixPositions = null;
|
|
279
|
+
let oMatrixPositions = null;
|
|
258
280
|
|
|
259
281
|
aMatrix.some(function (aInnerRow, iColumnIndex) {
|
|
260
|
-
|
|
261
|
-
var iRowIndex = aInnerRow.indexOf(oItem);
|
|
282
|
+
const iRowIndex = aInnerRow.indexOf(oItem);
|
|
262
283
|
|
|
263
284
|
if (iRowIndex !== -1) {
|
|
264
285
|
oMatrixPositions = {};
|
|
@@ -268,11 +289,12 @@ sap.ui.define([
|
|
|
268
289
|
}
|
|
269
290
|
return false;
|
|
270
291
|
});
|
|
292
|
+
|
|
271
293
|
return oMatrixPositions;
|
|
272
294
|
};
|
|
273
295
|
|
|
274
296
|
GridItemNavigation.prototype._onBorderReached = function (oEvent) {
|
|
275
|
-
|
|
297
|
+
let sDirection;
|
|
276
298
|
|
|
277
299
|
switch (oEvent.keyCode) {
|
|
278
300
|
case KeyCodes.ARROW_RIGHT:
|
|
@@ -282,9 +304,11 @@ sap.ui.define([
|
|
|
282
304
|
sDirection = NavigationDirection.Left;
|
|
283
305
|
break;
|
|
284
306
|
case KeyCodes.ARROW_DOWN:
|
|
307
|
+
case KeyCodes.PAGE_DOWN:
|
|
285
308
|
sDirection = NavigationDirection.Down;
|
|
286
309
|
break;
|
|
287
310
|
case KeyCodes.ARROW_UP:
|
|
311
|
+
case KeyCodes.PAGE_UP:
|
|
288
312
|
sDirection = NavigationDirection.Up;
|
|
289
313
|
break;
|
|
290
314
|
}
|
|
@@ -298,8 +322,8 @@ sap.ui.define([
|
|
|
298
322
|
};
|
|
299
323
|
|
|
300
324
|
GridItemNavigation.prototype.focusItemByDirection = function (oGrid, sDirection, iRow, iColumn) {
|
|
301
|
-
|
|
302
|
-
|
|
325
|
+
const aMatrix = oGrid.getNavigationMatrix();
|
|
326
|
+
let oCurrentItem,
|
|
303
327
|
aRow,
|
|
304
328
|
iRowIndex,
|
|
305
329
|
iColIndex;
|
package/src/sap/f/library.js
CHANGED
|
@@ -36,13 +36,13 @@ sap.ui.define(["sap/ui/base/DataType",
|
|
|
36
36
|
* @namespace
|
|
37
37
|
* @alias sap.f
|
|
38
38
|
* @author SAP SE
|
|
39
|
-
* @version 1.
|
|
39
|
+
* @version 1.117.0
|
|
40
40
|
* @since 1.44
|
|
41
41
|
* @public
|
|
42
42
|
*/
|
|
43
43
|
var thisLib = sap.ui.getCore().initLibrary({
|
|
44
44
|
name : "sap.f",
|
|
45
|
-
version: "1.
|
|
45
|
+
version: "1.117.0",
|
|
46
46
|
dependencies : ["sap.ui.core", "sap.m", "sap.ui.layout"],
|
|
47
47
|
designtime: "sap/f/designtime/library.designtime",
|
|
48
48
|
interfaces: [
|
|
@@ -87,13 +87,13 @@ SEMANTIC_CONTROL_EXIT_FULL_SCREEN=Quitter mode plein \u00E9cran
|
|
|
87
87
|
|
|
88
88
|
SEMANTIC_CONTROL_CLOSE=Fermer
|
|
89
89
|
|
|
90
|
-
ARIA_ROLEDESCRIPTION_CARD=
|
|
90
|
+
ARIA_ROLEDESCRIPTION_CARD=Fiche
|
|
91
91
|
|
|
92
|
-
ARIA_ROLEDESCRIPTION_CARD_HEADER=En-t\u00EAte
|
|
92
|
+
ARIA_ROLEDESCRIPTION_CARD_HEADER=En-t\u00EAte de la fiche
|
|
93
93
|
|
|
94
|
-
ARIA_ROLEDESCRIPTION_INTERACTIVE_CARD_HEADER=En-t\u00EAte de
|
|
94
|
+
ARIA_ROLEDESCRIPTION_INTERACTIVE_CARD_HEADER=En-t\u00EAte de la fiche interactive
|
|
95
95
|
|
|
96
|
-
ARIA_LABEL_CARD_CONTENT=Contenu
|
|
96
|
+
ARIA_LABEL_CARD_CONTENT=Contenu de la fiche
|
|
97
97
|
|
|
98
98
|
ARIA_LABEL_TOOLBAR_HEADER_ACTIONS=En-t\u00EAte - Actions
|
|
99
99
|
|