@openui5/sap.ui.table 1.93.3 → 1.96.2
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 +6 -11
- package/THIRDPARTY.txt +10 -16
- package/package.json +3 -3
- package/src/sap/ui/table/.library +1 -1
- package/src/sap/ui/table/AnalyticalColumn.js +1 -1
- package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
- package/src/sap/ui/table/AnalyticalTable.js +51 -12
- package/src/sap/ui/table/Column.js +29 -6
- package/src/sap/ui/table/ColumnMenu.js +3 -1
- package/src/sap/ui/table/CreationRow.js +1 -1
- package/src/sap/ui/table/Row.js +1 -1
- package/src/sap/ui/table/RowAction.js +1 -1
- package/src/sap/ui/table/RowActionItem.js +1 -1
- package/src/sap/ui/table/RowSettings.js +3 -2
- package/src/sap/ui/table/Table.js +79 -98
- package/src/sap/ui/table/TablePersoController.js +1 -1
- package/src/sap/ui/table/TableRenderer.js +9 -3
- package/src/sap/ui/table/TreeTable.js +27 -2
- package/src/sap/ui/table/extensions/Accessibility.js +45 -26
- package/src/sap/ui/table/extensions/AccessibilityRender.js +1 -1
- package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
- package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
- package/src/sap/ui/table/extensions/Keyboard.js +25 -45
- package/src/sap/ui/table/extensions/KeyboardDelegate.js +67 -46
- package/src/sap/ui/table/extensions/Pointer.js +1 -14
- package/src/sap/ui/table/extensions/Scrolling.js +133 -126
- package/src/sap/ui/table/extensions/ScrollingIOS.js +369 -0
- package/src/sap/ui/table/extensions/Synchronization.js +1 -1
- package/src/sap/ui/table/library.js +10 -10
- package/src/sap/ui/table/messagebundle_fr.properties +1 -1
- package/src/sap/ui/table/messagebundle_it.properties +3 -3
- package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
- package/src/sap/ui/table/plugins/PluginBase.js +1 -1
- package/src/sap/ui/table/plugins/SelectionModelSelection.js +17 -28
- package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
- package/src/sap/ui/table/plugins/V4Aggregation.js +9 -2
- package/src/sap/ui/table/rowmodes/AutoRowMode.js +16 -1
- package/src/sap/ui/table/rowmodes/FixedRowMode.js +16 -1
- package/src/sap/ui/table/rowmodes/InteractiveRowMode.js +23 -9
- package/src/sap/ui/table/rowmodes/RowMode.js +10 -28
- package/src/sap/ui/table/rowmodes/VariableRowMode.js +1 -1
- package/src/sap/ui/table/themes/base/Cell.less +1 -10
- package/src/sap/ui/table/themes/base/Grouping.less +4 -1
- package/src/sap/ui/table/themes/base/ScrollingIOS.less +26 -0
- package/src/sap/ui/table/themes/base/Table.less +1 -1
- package/src/sap/ui/table/themes/base/library.source.less +1 -0
- package/src/sap/ui/table/utils/TableUtils.js +25 -60
- package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
- package/src/sap/ui/table/utils/_ColumnUtils.js +1 -1
- package/src/sap/ui/table/utils/_GroupingUtils.js +5 -1
- package/src/sap/ui/table/utils/_HookUtils.js +1 -1
- package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
- package/ui5.yaml +4 -1
|
@@ -34,15 +34,13 @@ sap.ui.define([
|
|
|
34
34
|
var oIN = oTable._getItemNavigation();
|
|
35
35
|
|
|
36
36
|
if (oIN != null
|
|
37
|
-
&& !oTable._getKeyboardExtension().
|
|
37
|
+
&& !oTable._getKeyboardExtension().isItemNavigationSuspended()
|
|
38
38
|
&& !oEvent.isMarked("sapUiTableSkipItemNavigation")) {
|
|
39
39
|
|
|
40
40
|
oIN["on" + oEvent.type](oEvent);
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
|
-
onfocusin: function(oEvent) {
|
|
44
|
-
ItemNavigationDelegate._forward(this, oEvent);
|
|
45
|
-
},
|
|
43
|
+
onfocusin: function(oEvent) { ItemNavigationDelegate._forward(this, oEvent); },
|
|
46
44
|
onsapfocusleave: function(oEvent) { ItemNavigationDelegate._forward(this, oEvent); },
|
|
47
45
|
onmousedown: function(oEvent) { ItemNavigationDelegate._forward(this, oEvent); },
|
|
48
46
|
onsapnext: function(oEvent) { ItemNavigationDelegate._forward(this, oEvent); },
|
|
@@ -56,7 +54,6 @@ sap.ui.define([
|
|
|
56
54
|
onsapend: function(oEvent) { ItemNavigationDelegate._forward(this, oEvent); },
|
|
57
55
|
onsapendmodifiers: function(oEvent) { ItemNavigationDelegate._forward(this, oEvent); },
|
|
58
56
|
onsapkeyup: function(oEvent) { ItemNavigationDelegate._forward(this, oEvent); }
|
|
59
|
-
|
|
60
57
|
};
|
|
61
58
|
|
|
62
59
|
/*
|
|
@@ -95,16 +92,17 @@ sap.ui.define([
|
|
|
95
92
|
if (bRenderedRows) {
|
|
96
93
|
this.applyFocusInfo(this._oStoredFocusInfo);
|
|
97
94
|
} else {
|
|
98
|
-
this._getKeyboardExtension()
|
|
95
|
+
ExtensionHelper.initItemNavigation(this._getKeyboardExtension(), true);
|
|
99
96
|
}
|
|
100
97
|
}
|
|
98
|
+
|
|
101
99
|
delete this._oStoredFocusInfo;
|
|
102
100
|
},
|
|
103
101
|
onfocusin: function(oEvent) {
|
|
104
102
|
var oExtension = this._getKeyboardExtension();
|
|
105
103
|
|
|
106
104
|
if (!oExtension._bIgnoreFocusIn) {
|
|
107
|
-
|
|
105
|
+
ExtensionHelper.initItemNavigation(this._getKeyboardExtension());
|
|
108
106
|
} else {
|
|
109
107
|
oEvent.setMarked("sapUiTableIgnoreFocusIn");
|
|
110
108
|
}
|
|
@@ -122,11 +120,17 @@ sap.ui.define([
|
|
|
122
120
|
* Provides utility functions used this extension
|
|
123
121
|
*/
|
|
124
122
|
var ExtensionHelper = {
|
|
123
|
+
initItemNavigation: function(oExtension, bSkipInitFocusedIndex) {
|
|
124
|
+
if (ExtensionHelper.isItemNavigationInvalid(oExtension)) {
|
|
125
|
+
ExtensionHelper._initItemNavigation(oExtension, bSkipInitFocusedIndex);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
|
|
125
129
|
/*
|
|
126
130
|
* Initialize ItemNavigations (content and header) and transfer relevant dom elements.
|
|
127
131
|
* TabIndexes are set by the ItemNavigation.
|
|
128
132
|
*/
|
|
129
|
-
_initItemNavigation: function(oExtension) {
|
|
133
|
+
_initItemNavigation: function(oExtension, bSkipInitFocusedIndex) {
|
|
130
134
|
var oTable = oExtension.getTable();
|
|
131
135
|
|
|
132
136
|
if (!oTable) {
|
|
@@ -237,7 +241,10 @@ sap.ui.define([
|
|
|
237
241
|
oExtension._itemNavigation.setColumns(iColumnCount);
|
|
238
242
|
oExtension._itemNavigation.setRootDomRef($Table.find(".sapUiTableCnt").get(0));
|
|
239
243
|
oExtension._itemNavigation.setItemDomRefs(aItemDomRefs);
|
|
240
|
-
|
|
244
|
+
|
|
245
|
+
if (!bSkipInitFocusedIndex) {
|
|
246
|
+
oExtension._itemNavigation.setFocusedIndex(ExtensionHelper.getInitialItemNavigationIndex(oExtension));
|
|
247
|
+
}
|
|
241
248
|
|
|
242
249
|
// revert invalidation flag
|
|
243
250
|
oExtension._itemNavigationInvalidated = false;
|
|
@@ -260,7 +267,7 @@ sap.ui.define([
|
|
|
260
267
|
* @class Extension for sap.ui.table.Table which handles keyboard related things.
|
|
261
268
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
262
269
|
* @author SAP SE
|
|
263
|
-
* @version 1.
|
|
270
|
+
* @version 1.96.2
|
|
264
271
|
* @constructor
|
|
265
272
|
* @private
|
|
266
273
|
* @alias sap.ui.table.extensions.Keyboard
|
|
@@ -338,19 +345,13 @@ sap.ui.define([
|
|
|
338
345
|
|
|
339
346
|
/**
|
|
340
347
|
* Check whether item navigation should be reapplied from scratch and initializes it if needed.
|
|
341
|
-
*
|
|
342
|
-
* @public
|
|
343
348
|
*/
|
|
344
349
|
KeyboardExtension.prototype.initItemNavigation = function() {
|
|
345
|
-
|
|
346
|
-
ExtensionHelper._initItemNavigation(this);
|
|
347
|
-
}
|
|
350
|
+
ExtensionHelper.initItemNavigation(this);
|
|
348
351
|
};
|
|
349
352
|
|
|
350
353
|
/**
|
|
351
354
|
* Invalidates the item navigation (forces a re-initialization with the next initItemNavigation call).
|
|
352
|
-
*
|
|
353
|
-
* @public
|
|
354
355
|
*/
|
|
355
356
|
KeyboardExtension.prototype.invalidateItemNavigation = function() {
|
|
356
357
|
this._itemNavigationInvalidated = true;
|
|
@@ -369,7 +370,6 @@ sap.ui.define([
|
|
|
369
370
|
*
|
|
370
371
|
* @param {boolean} bEnter If set to <code>true</code>, the table will try to enter the action mode, otherwise the table will leave the action
|
|
371
372
|
* mode.
|
|
372
|
-
* @public (Part of the API for Table control only!)
|
|
373
373
|
*/
|
|
374
374
|
KeyboardExtension.prototype.setActionMode = function(bEnter) {
|
|
375
375
|
if (!this._delegate) {
|
|
@@ -387,7 +387,6 @@ sap.ui.define([
|
|
|
387
387
|
* Returns whether the table is in action mode.
|
|
388
388
|
*
|
|
389
389
|
* @returns {boolean} Returns <code>true</code>, if the table is in action mode.
|
|
390
|
-
* @public
|
|
391
390
|
*/
|
|
392
391
|
KeyboardExtension.prototype.isInActionMode = function() {
|
|
393
392
|
return this._actionMode;
|
|
@@ -399,7 +398,6 @@ sap.ui.define([
|
|
|
399
398
|
* e.g. see Table.setShowOverlay -> tue to CSS changes the focused element might be hidden which forces a focus change).
|
|
400
399
|
*
|
|
401
400
|
* @param {HTMLElement} oPreviousFocusRef The previously focused element.
|
|
402
|
-
* @public
|
|
403
401
|
*/
|
|
404
402
|
KeyboardExtension.prototype.updateNoDataAndOverlayFocus = function() {
|
|
405
403
|
var oTable = this.getTable();
|
|
@@ -472,19 +470,15 @@ sap.ui.define([
|
|
|
472
470
|
|
|
473
471
|
/**
|
|
474
472
|
* Suspends the event handling of the item navigation.
|
|
475
|
-
*
|
|
476
|
-
* @protected
|
|
477
473
|
*/
|
|
478
|
-
KeyboardExtension.prototype.
|
|
474
|
+
KeyboardExtension.prototype.suspendItemNavigation = function() {
|
|
479
475
|
this._itemNavigationSuspended = true;
|
|
480
476
|
};
|
|
481
477
|
|
|
482
478
|
/**
|
|
483
479
|
* Resumes the event handling of the item navigation.
|
|
484
|
-
*
|
|
485
|
-
* @protected
|
|
486
480
|
*/
|
|
487
|
-
KeyboardExtension.prototype.
|
|
481
|
+
KeyboardExtension.prototype.resumeItemNavigation = function() {
|
|
488
482
|
this._itemNavigationSuspended = false;
|
|
489
483
|
};
|
|
490
484
|
|
|
@@ -492,9 +486,8 @@ sap.ui.define([
|
|
|
492
486
|
* Returns whether the item navigation is suspended.
|
|
493
487
|
*
|
|
494
488
|
* @returns {boolean} Returns <code>true</code>, if the item navigation is suspended.
|
|
495
|
-
* @protected
|
|
496
489
|
*/
|
|
497
|
-
KeyboardExtension.prototype.
|
|
490
|
+
KeyboardExtension.prototype.isItemNavigationSuspended = function() {
|
|
498
491
|
return this._itemNavigationSuspended;
|
|
499
492
|
};
|
|
500
493
|
|
|
@@ -502,9 +495,8 @@ sap.ui.define([
|
|
|
502
495
|
* Returns the combined info about the last focused data cell (based on the item navigation).
|
|
503
496
|
*
|
|
504
497
|
* @returns {sap.ui.table.utils.TableUtils.FocusedItemInfo} The cell info of the last focused cell.
|
|
505
|
-
* @protected
|
|
506
498
|
*/
|
|
507
|
-
KeyboardExtension.prototype.
|
|
499
|
+
KeyboardExtension.prototype.getLastFocusedCellInfo = function() {
|
|
508
500
|
var iHeader = TableUtils.getHeaderRowCount(this.getTable());
|
|
509
501
|
if (!this._oLastFocusedCellInfo || this._oLastFocusedCellInfo.header != iHeader) {
|
|
510
502
|
var oInfo = TableUtils.getFocusedItemInfo(this.getTable());
|
|
@@ -526,11 +518,10 @@ sap.ui.define([
|
|
|
526
518
|
* Sets the focus to the specified element and marks the resulting focus event to be ignored.
|
|
527
519
|
*
|
|
528
520
|
* @param {jQuery|HTMLElement} oElement The element to be focused.
|
|
529
|
-
* @protected
|
|
530
521
|
*/
|
|
531
|
-
KeyboardExtension.prototype.
|
|
522
|
+
KeyboardExtension.prototype.setSilentFocus = function(oElement) {
|
|
532
523
|
this._bIgnoreFocusIn = true;
|
|
533
|
-
this.
|
|
524
|
+
this.setFocus(oElement);
|
|
534
525
|
this._bIgnoreFocusIn = false;
|
|
535
526
|
};
|
|
536
527
|
|
|
@@ -538,9 +529,8 @@ sap.ui.define([
|
|
|
538
529
|
* Sets the focus to the specified element.
|
|
539
530
|
*
|
|
540
531
|
* @param {jQuery|HTMLElement} oElement The element to be focused.
|
|
541
|
-
* @protected
|
|
542
532
|
*/
|
|
543
|
-
KeyboardExtension.prototype.
|
|
533
|
+
KeyboardExtension.prototype.setFocus = function(oElement) {
|
|
544
534
|
if (!oElement) {
|
|
545
535
|
return;
|
|
546
536
|
}
|
|
@@ -568,16 +558,6 @@ sap.ui.define([
|
|
|
568
558
|
oElement.focus();
|
|
569
559
|
};
|
|
570
560
|
|
|
571
|
-
/*
|
|
572
|
-
* Returns the type of the related table.
|
|
573
|
-
*
|
|
574
|
-
* @returns {sap.ui.table.extensions.ExtensionBase.TABLETYPES} The type of the table.
|
|
575
|
-
* @protected
|
|
576
|
-
*/
|
|
577
|
-
KeyboardExtension.prototype._getTableType = function() {
|
|
578
|
-
return this._type;
|
|
579
|
-
};
|
|
580
|
-
|
|
581
561
|
return KeyboardExtension;
|
|
582
562
|
});
|
|
583
563
|
|
|
@@ -45,6 +45,18 @@ sap.ui.define([
|
|
|
45
45
|
oEvent.setMarked("sapUiTableSkipItemNavigation", bPrevent !== false);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Prevents the event default and stops propagation if the event target is a table cell.
|
|
50
|
+
*
|
|
51
|
+
* @param {jQuery.Event} oEvent The event object.
|
|
52
|
+
*/
|
|
53
|
+
function handleNavigationEvent(oEvent) {
|
|
54
|
+
if (TableUtils.getCellInfo(oEvent.target).isOfType(CellType.ANY)) {
|
|
55
|
+
oEvent.preventDefault();
|
|
56
|
+
oEvent.stopPropagation();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
48
60
|
/**
|
|
49
61
|
* New Delegate for keyboard events of sap.ui.table.Table controls.
|
|
50
62
|
*
|
|
@@ -52,7 +64,7 @@ sap.ui.define([
|
|
|
52
64
|
*
|
|
53
65
|
* @extends sap.ui.base.Object
|
|
54
66
|
* @author SAP SE
|
|
55
|
-
* @version 1.
|
|
67
|
+
* @version 1.96.2
|
|
56
68
|
* @constructor
|
|
57
69
|
* @private
|
|
58
70
|
* @alias sap.ui.table.extensions.KeyboardDelegate
|
|
@@ -136,7 +148,7 @@ sap.ui.define([
|
|
|
136
148
|
var bScrolled = scrollDown(oTable, oEvent);
|
|
137
149
|
|
|
138
150
|
if (bScrolled) {
|
|
139
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
151
|
+
oEvent.preventDefault(); // Prevent scrolling the page in action mode navigation.
|
|
140
152
|
return;
|
|
141
153
|
}
|
|
142
154
|
}
|
|
@@ -158,7 +170,7 @@ sap.ui.define([
|
|
|
158
170
|
}
|
|
159
171
|
|
|
160
172
|
focusCell(oTable, oCellInfo.type, oCellInfo.rowIndex + 1, oCellInfo.columnIndex, bActionModeNavigation);
|
|
161
|
-
oEvent.preventDefault(); // Prevent positioning the cursor. The text should be selected instead.
|
|
173
|
+
oEvent.preventDefault(); // Prevent positioning the cursor in action mode navigation. The text should be selected instead.
|
|
162
174
|
}
|
|
163
175
|
|
|
164
176
|
/**
|
|
@@ -194,7 +206,7 @@ sap.ui.define([
|
|
|
194
206
|
var bScrolled = scrollUp(oTable, oEvent);
|
|
195
207
|
|
|
196
208
|
if (bScrolled) {
|
|
197
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
209
|
+
oEvent.preventDefault(); // Prevent scrolling the page in action mode navigation.
|
|
198
210
|
return;
|
|
199
211
|
}
|
|
200
212
|
}
|
|
@@ -214,7 +226,7 @@ sap.ui.define([
|
|
|
214
226
|
}
|
|
215
227
|
|
|
216
228
|
focusCell(oTable, oCellInfo.type, oCellInfo.rowIndex - 1, oCellInfo.columnIndex, bActionModeNavigation);
|
|
217
|
-
oEvent.preventDefault(); // Prevent positioning the cursor. The text should be selected instead.
|
|
229
|
+
oEvent.preventDefault(); // Prevent positioning the cursor in action mode navigation. The text should be selected instead.
|
|
218
230
|
}
|
|
219
231
|
|
|
220
232
|
function _canNavigateUpOrDown(oTable, oEvent) {
|
|
@@ -285,7 +297,7 @@ sap.ui.define([
|
|
|
285
297
|
var bAllowSapFocusLeave = bActionMode && oCellInfo.isOfType(CellType.DATACELL);
|
|
286
298
|
|
|
287
299
|
if (bAllowSapFocusLeave) {
|
|
288
|
-
oTable._getKeyboardExtension().
|
|
300
|
+
oTable._getKeyboardExtension().setSilentFocus(oTable.getDomRef("focusDummy"));
|
|
289
301
|
setTimeout(function() {
|
|
290
302
|
oTable._getScrollExtension().scrollVertically(bDown === true, bPage);
|
|
291
303
|
}, 0);
|
|
@@ -385,7 +397,7 @@ sap.ui.define([
|
|
|
385
397
|
*/
|
|
386
398
|
function restoreFocusOnLastFocusedDataCell(oTable, oEvent) {
|
|
387
399
|
var oCellInfo = TableUtils.getFocusedItemInfo(oTable);
|
|
388
|
-
var oLastInfo = oTable._getKeyboardExtension().
|
|
400
|
+
var oLastInfo = oTable._getKeyboardExtension().getLastFocusedCellInfo();
|
|
389
401
|
TableUtils.focusItem(oTable, oCellInfo.cellInRow + (oCellInfo.columnCount * oLastInfo.row), oEvent);
|
|
390
402
|
}
|
|
391
403
|
|
|
@@ -409,7 +421,7 @@ sap.ui.define([
|
|
|
409
421
|
* @static
|
|
410
422
|
*/
|
|
411
423
|
function forwardFocusToTabDummy(oTable, sTabDummyCSSClass) {
|
|
412
|
-
oTable._getKeyboardExtension().
|
|
424
|
+
oTable._getKeyboardExtension().setSilentFocus(oTable.$().find("." + sTabDummyCSSClass));
|
|
413
425
|
}
|
|
414
426
|
|
|
415
427
|
/**
|
|
@@ -582,7 +594,7 @@ sap.ui.define([
|
|
|
582
594
|
TableUtils.deselectElementText(document.activeElement);
|
|
583
595
|
|
|
584
596
|
if (bSilentFocus) {
|
|
585
|
-
oTable._getKeyboardExtension().
|
|
597
|
+
oTable._getKeyboardExtension().setSilentFocus(oElement);
|
|
586
598
|
} else {
|
|
587
599
|
oElement.focus();
|
|
588
600
|
}
|
|
@@ -612,7 +624,7 @@ sap.ui.define([
|
|
|
612
624
|
var oCell;
|
|
613
625
|
|
|
614
626
|
if (iCellType === CellType.ROWHEADER) {
|
|
615
|
-
oTable._getKeyboardExtension().
|
|
627
|
+
oTable._getKeyboardExtension().setFocus(oTable.getDomRef("rowsel" + iRowIndex));
|
|
616
628
|
return;
|
|
617
629
|
} else if (iCellType === CellType.ROWACTION) {
|
|
618
630
|
oCell = oTable.getDomRef("rowact" + iRowIndex);
|
|
@@ -641,6 +653,7 @@ sap.ui.define([
|
|
|
641
653
|
if (bAllowActionMode) {
|
|
642
654
|
oTable._getKeyboardExtension()._bStayInActionMode = true;
|
|
643
655
|
}
|
|
656
|
+
|
|
644
657
|
oCell.focus();
|
|
645
658
|
}
|
|
646
659
|
|
|
@@ -910,13 +923,13 @@ sap.ui.define([
|
|
|
910
923
|
|
|
911
924
|
if ($InteractiveElements) {
|
|
912
925
|
// Target is a data cell with interactive elements inside. Focus the first interactive element in the data cell.
|
|
913
|
-
oKeyboardExtension.
|
|
926
|
+
oKeyboardExtension.suspendItemNavigation();
|
|
914
927
|
oActiveElement.tabIndex = -1;
|
|
915
928
|
KeyboardDelegate._focusElement(this, $InteractiveElements[0], true);
|
|
916
929
|
return true;
|
|
917
930
|
} else if ($Cell) {
|
|
918
931
|
// Target is an interactive element inside a data cell.
|
|
919
|
-
this._getKeyboardExtension().
|
|
932
|
+
this._getKeyboardExtension().suspendItemNavigation();
|
|
920
933
|
return true;
|
|
921
934
|
}
|
|
922
935
|
|
|
@@ -936,7 +949,7 @@ sap.ui.define([
|
|
|
936
949
|
var oActiveElement = document.activeElement;
|
|
937
950
|
var $Cell = TableUtils.getParentCell(this, oActiveElement);
|
|
938
951
|
|
|
939
|
-
oKeyboardExtension.
|
|
952
|
+
oKeyboardExtension.resumeItemNavigation();
|
|
940
953
|
|
|
941
954
|
if (bAdjustFocus) {
|
|
942
955
|
if ($Cell) {
|
|
@@ -953,7 +966,7 @@ sap.ui.define([
|
|
|
953
966
|
}
|
|
954
967
|
}
|
|
955
968
|
|
|
956
|
-
oKeyboardExtension.
|
|
969
|
+
oKeyboardExtension.setSilentFocus(oActiveElement);
|
|
957
970
|
}
|
|
958
971
|
}
|
|
959
972
|
};
|
|
@@ -974,7 +987,7 @@ sap.ui.define([
|
|
|
974
987
|
if (!bNoData || bNoData && this.getColumnHeaderVisible()) {
|
|
975
988
|
setFocusOnColumnHeaderOfLastFocusedDataCell(this, oEvent);
|
|
976
989
|
} else {
|
|
977
|
-
this._getKeyboardExtension().
|
|
990
|
+
this._getKeyboardExtension().setSilentFocus(this.$("noDataCnt"));
|
|
978
991
|
}
|
|
979
992
|
|
|
980
993
|
} else if ($Target.hasClass("sapUiTableCtrlAfter")) {
|
|
@@ -1257,7 +1270,7 @@ sap.ui.define([
|
|
|
1257
1270
|
forwardFocusToTabDummy(this, "sapUiTableCtrlAfter");
|
|
1258
1271
|
|
|
1259
1272
|
} else if (oEvent.target === this.getDomRef("overlay")) {
|
|
1260
|
-
oKeyboardExtension.
|
|
1273
|
+
oKeyboardExtension.setSilentFocus(this.$().find(".sapUiTableOuterAfter"));
|
|
1261
1274
|
|
|
1262
1275
|
} else if (!oCellInfo.isOfType(CellType.ANY)) {
|
|
1263
1276
|
$Cell = TableUtils.getParentCell(this, oEvent.target);
|
|
@@ -1346,7 +1359,7 @@ sap.ui.define([
|
|
|
1346
1359
|
}
|
|
1347
1360
|
|
|
1348
1361
|
} else if (oEvent.target === this.getDomRef("overlay")) {
|
|
1349
|
-
this._getKeyboardExtension().
|
|
1362
|
+
this._getKeyboardExtension().setSilentFocus(this.$().find(".sapUiTableOuterBefore"));
|
|
1350
1363
|
|
|
1351
1364
|
} else if (!oCellInfo.isOfType(CellType.ANY)) {
|
|
1352
1365
|
$Cell = TableUtils.getParentCell(this, oEvent.target);
|
|
@@ -1360,10 +1373,13 @@ sap.ui.define([
|
|
|
1360
1373
|
};
|
|
1361
1374
|
|
|
1362
1375
|
KeyboardDelegate.prototype.onsapdown = function(oEvent) {
|
|
1376
|
+
handleNavigationEvent(oEvent);
|
|
1363
1377
|
navigateDown(this, oEvent);
|
|
1364
1378
|
};
|
|
1365
1379
|
|
|
1366
1380
|
KeyboardDelegate.prototype.onsapdownmodifiers = function(oEvent) {
|
|
1381
|
+
handleNavigationEvent(oEvent);
|
|
1382
|
+
|
|
1367
1383
|
if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.CTRL)) {
|
|
1368
1384
|
navigateDown(this, oEvent);
|
|
1369
1385
|
return;
|
|
@@ -1386,7 +1402,6 @@ sap.ui.define([
|
|
|
1386
1402
|
var oCellInfo = TableUtils.getCellInfo(oEvent.target);
|
|
1387
1403
|
|
|
1388
1404
|
if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.SHIFT)) {
|
|
1389
|
-
oEvent.preventDefault(); // Avoid text selection flickering.
|
|
1390
1405
|
|
|
1391
1406
|
/* Range Selection */
|
|
1392
1407
|
|
|
@@ -1438,10 +1453,13 @@ sap.ui.define([
|
|
|
1438
1453
|
};
|
|
1439
1454
|
|
|
1440
1455
|
KeyboardDelegate.prototype.onsapup = function(oEvent) {
|
|
1456
|
+
handleNavigationEvent(oEvent);
|
|
1441
1457
|
navigateUp(this, oEvent);
|
|
1442
1458
|
};
|
|
1443
1459
|
|
|
1444
1460
|
KeyboardDelegate.prototype.onsapupmodifiers = function(oEvent) {
|
|
1461
|
+
handleNavigationEvent(oEvent);
|
|
1462
|
+
|
|
1445
1463
|
if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.CTRL)) {
|
|
1446
1464
|
navigateUp(this, oEvent);
|
|
1447
1465
|
return;
|
|
@@ -1464,7 +1482,6 @@ sap.ui.define([
|
|
|
1464
1482
|
var oCellInfo = TableUtils.getCellInfo(oEvent.target);
|
|
1465
1483
|
|
|
1466
1484
|
if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.SHIFT)) {
|
|
1467
|
-
oEvent.preventDefault(); // Avoid text selection flickering.
|
|
1468
1485
|
|
|
1469
1486
|
/* Range Selection */
|
|
1470
1487
|
|
|
@@ -1517,10 +1534,13 @@ sap.ui.define([
|
|
|
1517
1534
|
};
|
|
1518
1535
|
|
|
1519
1536
|
KeyboardDelegate.prototype.onsapleft = function(oEvent) {
|
|
1537
|
+
handleNavigationEvent(oEvent);
|
|
1520
1538
|
navigateLeft(this, oEvent);
|
|
1521
1539
|
};
|
|
1522
1540
|
|
|
1523
1541
|
KeyboardDelegate.prototype.onsapleftmodifiers = function(oEvent) {
|
|
1542
|
+
handleNavigationEvent(oEvent);
|
|
1543
|
+
|
|
1524
1544
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
1525
1545
|
return;
|
|
1526
1546
|
}
|
|
@@ -1529,7 +1549,6 @@ sap.ui.define([
|
|
|
1529
1549
|
var bIsRTL = sap.ui.getCore().getConfiguration().getRTL();
|
|
1530
1550
|
|
|
1531
1551
|
if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.SHIFT)) {
|
|
1532
|
-
oEvent.preventDefault(); // Avoid text selection flickering.
|
|
1533
1552
|
|
|
1534
1553
|
/* Range Selection */
|
|
1535
1554
|
|
|
@@ -1589,16 +1608,18 @@ sap.ui.define([
|
|
|
1589
1608
|
/* Column Reordering */
|
|
1590
1609
|
|
|
1591
1610
|
if (oCellInfo.isOfType(CellType.COLUMNHEADER)) {
|
|
1592
|
-
oEvent
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
var oColumn = this.getColumns()[oCellInfo.columnIndex];
|
|
1596
|
-
moveColumn(oColumn, bIsRTL);
|
|
1611
|
+
preventItemNavigation(oEvent);
|
|
1612
|
+
moveColumn(this.getColumns()[oCellInfo.columnIndex], bIsRTL);
|
|
1597
1613
|
}
|
|
1614
|
+
|
|
1615
|
+
} else if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.ALT)) {
|
|
1616
|
+
preventItemNavigation(oEvent);
|
|
1598
1617
|
}
|
|
1599
1618
|
};
|
|
1600
1619
|
|
|
1601
1620
|
KeyboardDelegate.prototype.onsaprightmodifiers = function(oEvent) {
|
|
1621
|
+
handleNavigationEvent(oEvent);
|
|
1622
|
+
|
|
1602
1623
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
1603
1624
|
return;
|
|
1604
1625
|
}
|
|
@@ -1607,8 +1628,6 @@ sap.ui.define([
|
|
|
1607
1628
|
var bIsRTL = sap.ui.getCore().getConfiguration().getRTL();
|
|
1608
1629
|
|
|
1609
1630
|
if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.SHIFT)) {
|
|
1610
|
-
oEvent.preventDefault(); // Avoid text selection flickering.
|
|
1611
|
-
|
|
1612
1631
|
/* Range Selection */
|
|
1613
1632
|
|
|
1614
1633
|
if (oCellInfo.isOfType(CellType.DATACELL)) {
|
|
@@ -1658,16 +1677,18 @@ sap.ui.define([
|
|
|
1658
1677
|
/* Column Reordering */
|
|
1659
1678
|
|
|
1660
1679
|
if (oCellInfo.isOfType(CellType.COLUMNHEADER)) {
|
|
1661
|
-
oEvent
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
var oColumn = this.getColumns()[oCellInfo.columnIndex];
|
|
1665
|
-
moveColumn(oColumn, !bIsRTL);
|
|
1680
|
+
preventItemNavigation(oEvent);
|
|
1681
|
+
moveColumn(this.getColumns()[oCellInfo.columnIndex], !bIsRTL);
|
|
1666
1682
|
}
|
|
1683
|
+
|
|
1684
|
+
} else if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.ALT)) {
|
|
1685
|
+
preventItemNavigation(oEvent);
|
|
1667
1686
|
}
|
|
1668
1687
|
};
|
|
1669
1688
|
|
|
1670
1689
|
KeyboardDelegate.prototype.onsaphome = function(oEvent) {
|
|
1690
|
+
handleNavigationEvent(oEvent);
|
|
1691
|
+
|
|
1671
1692
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
1672
1693
|
return;
|
|
1673
1694
|
}
|
|
@@ -1675,16 +1696,11 @@ sap.ui.define([
|
|
|
1675
1696
|
// If focus is on a group header, do nothing.
|
|
1676
1697
|
if (TableUtils.Grouping.isInGroupHeaderRow(oEvent.target)) {
|
|
1677
1698
|
preventItemNavigation(oEvent);
|
|
1678
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
1679
1699
|
return;
|
|
1680
1700
|
}
|
|
1681
1701
|
|
|
1682
1702
|
var oCellInfo = TableUtils.getCellInfo(oEvent.target);
|
|
1683
1703
|
|
|
1684
|
-
if (oCellInfo.isOfType(CellType.ANY)) {
|
|
1685
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
1686
|
-
}
|
|
1687
|
-
|
|
1688
1704
|
if (oCellInfo.isOfType(CellType.DATACELL | CellType.ROWACTION | CellType.COLUMNHEADER)) {
|
|
1689
1705
|
var oFocusedItemInfo = TableUtils.getFocusedItemInfo(this);
|
|
1690
1706
|
var iFocusedIndex = oFocusedItemInfo.cell;
|
|
@@ -1709,13 +1725,14 @@ sap.ui.define([
|
|
|
1709
1725
|
};
|
|
1710
1726
|
|
|
1711
1727
|
KeyboardDelegate.prototype.onsapend = function(oEvent) {
|
|
1728
|
+
handleNavigationEvent(oEvent);
|
|
1729
|
+
|
|
1712
1730
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
1713
1731
|
return;
|
|
1714
1732
|
}
|
|
1715
1733
|
|
|
1716
1734
|
// If focus is on a group header, do nothing.
|
|
1717
1735
|
if (TableUtils.Grouping.isInGroupHeaderRow(oEvent.target)) {
|
|
1718
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
1719
1736
|
preventItemNavigation(oEvent);
|
|
1720
1737
|
return;
|
|
1721
1738
|
}
|
|
@@ -1723,8 +1740,6 @@ sap.ui.define([
|
|
|
1723
1740
|
var oCellInfo = TableUtils.getCellInfo(oEvent.target);
|
|
1724
1741
|
|
|
1725
1742
|
if (oCellInfo.isOfType(CellType.ANY)) {
|
|
1726
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
1727
|
-
|
|
1728
1743
|
var oFocusedItemInfo = TableUtils.getFocusedItemInfo(this);
|
|
1729
1744
|
var iFocusedIndex = oFocusedItemInfo.cell;
|
|
1730
1745
|
var iColumnCount = oFocusedItemInfo.columnCount;
|
|
@@ -1770,12 +1785,13 @@ sap.ui.define([
|
|
|
1770
1785
|
};
|
|
1771
1786
|
|
|
1772
1787
|
KeyboardDelegate.prototype.onsaphomemodifiers = function(oEvent) {
|
|
1788
|
+
handleNavigationEvent(oEvent);
|
|
1789
|
+
|
|
1773
1790
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
1774
1791
|
return;
|
|
1775
1792
|
}
|
|
1776
1793
|
|
|
1777
1794
|
if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.CTRL)) {
|
|
1778
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
1779
1795
|
var oCellInfo = TableUtils.getCellInfo(oEvent.target);
|
|
1780
1796
|
|
|
1781
1797
|
if (oCellInfo.isOfType(CellType.ANYCONTENTCELL | CellType.COLUMNHEADER)) {
|
|
@@ -1827,12 +1843,13 @@ sap.ui.define([
|
|
|
1827
1843
|
};
|
|
1828
1844
|
|
|
1829
1845
|
KeyboardDelegate.prototype.onsapendmodifiers = function(oEvent) {
|
|
1846
|
+
handleNavigationEvent(oEvent);
|
|
1847
|
+
|
|
1830
1848
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
1831
1849
|
return;
|
|
1832
1850
|
}
|
|
1833
1851
|
|
|
1834
1852
|
if (KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.CTRL)) {
|
|
1835
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
1836
1853
|
var oCellInfo = TableUtils.getCellInfo(oEvent.target);
|
|
1837
1854
|
|
|
1838
1855
|
if (oCellInfo.isOfType(CellType.ANY)) {
|
|
@@ -1902,12 +1919,12 @@ sap.ui.define([
|
|
|
1902
1919
|
};
|
|
1903
1920
|
|
|
1904
1921
|
KeyboardDelegate.prototype.onsappageup = function(oEvent) {
|
|
1922
|
+
handleNavigationEvent(oEvent);
|
|
1923
|
+
|
|
1905
1924
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
1906
1925
|
return;
|
|
1907
1926
|
}
|
|
1908
1927
|
|
|
1909
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
1910
|
-
|
|
1911
1928
|
var oCellInfo = TableUtils.getCellInfo(oEvent.target);
|
|
1912
1929
|
|
|
1913
1930
|
if (oCellInfo.isOfType(CellType.ANYCONTENTCELL | CellType.COLUMNHEADER)) {
|
|
@@ -1971,12 +1988,12 @@ sap.ui.define([
|
|
|
1971
1988
|
};
|
|
1972
1989
|
|
|
1973
1990
|
KeyboardDelegate.prototype.onsappagedown = function(oEvent) {
|
|
1991
|
+
handleNavigationEvent(oEvent);
|
|
1992
|
+
|
|
1974
1993
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
1975
1994
|
return;
|
|
1976
1995
|
}
|
|
1977
1996
|
|
|
1978
|
-
oEvent.preventDefault(); // Prevent scrolling the page.
|
|
1979
|
-
|
|
1980
1997
|
var oCellInfo = TableUtils.getCellInfo(oEvent.target);
|
|
1981
1998
|
|
|
1982
1999
|
if (oCellInfo.isOfType(CellType.ANY)) {
|
|
@@ -2044,6 +2061,8 @@ sap.ui.define([
|
|
|
2044
2061
|
};
|
|
2045
2062
|
|
|
2046
2063
|
KeyboardDelegate.prototype.onsappageupmodifiers = function(oEvent) {
|
|
2064
|
+
handleNavigationEvent(oEvent);
|
|
2065
|
+
|
|
2047
2066
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
2048
2067
|
return;
|
|
2049
2068
|
}
|
|
@@ -2085,6 +2104,8 @@ sap.ui.define([
|
|
|
2085
2104
|
};
|
|
2086
2105
|
|
|
2087
2106
|
KeyboardDelegate.prototype.onsappagedownmodifiers = function(oEvent) {
|
|
2107
|
+
handleNavigationEvent(oEvent);
|
|
2108
|
+
|
|
2088
2109
|
if (this._getKeyboardExtension().isInActionMode()) {
|
|
2089
2110
|
return;
|
|
2090
2111
|
}
|
|
@@ -484,20 +484,7 @@ sap.ui.define([
|
|
|
484
484
|
this.$().find(".sapUiTableColReorderFade").removeClass("sapUiTableColReorderFade");
|
|
485
485
|
|
|
486
486
|
this._enableTextSelection();
|
|
487
|
-
|
|
488
|
-
// Perform Reordering
|
|
489
487
|
TableUtils.Column.moveColumnTo(this.getColumns()[iOldIndex], iNewIndex);
|
|
490
|
-
|
|
491
|
-
// Re-apply focus
|
|
492
|
-
if (this._mTimeouts.reApplyFocusTimerId) {
|
|
493
|
-
window.clearTimeout(this._mTimeouts.reApplyFocusTimerId);
|
|
494
|
-
}
|
|
495
|
-
var that = this;
|
|
496
|
-
this._mTimeouts.reApplyFocusTimerId = window.setTimeout(function() {
|
|
497
|
-
var iOldFocusedIndex = TableUtils.getFocusedItemInfo(that).cell;
|
|
498
|
-
TableUtils.focusItem(that, 0, oEvent);
|
|
499
|
-
TableUtils.focusItem(that, iOldFocusedIndex, oEvent);
|
|
500
|
-
}, 0);
|
|
501
488
|
},
|
|
502
489
|
|
|
503
490
|
/*
|
|
@@ -805,7 +792,7 @@ sap.ui.define([
|
|
|
805
792
|
* @class Extension for sap.ui.table.Table which handles mouse and touch related things.
|
|
806
793
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
807
794
|
* @author SAP SE
|
|
808
|
-
* @version 1.
|
|
795
|
+
* @version 1.96.2
|
|
809
796
|
* @constructor
|
|
810
797
|
* @private
|
|
811
798
|
* @alias sap.ui.table.extensions.Pointer
|