@openui5/sap.ui.table 1.127.0 → 1.128.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 +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 +1 -1
- package/src/sap/ui/table/Column.js +6 -3
- package/src/sap/ui/table/ColumnMenu.js +1 -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 +1 -1
- package/src/sap/ui/table/Table.js +73 -9
- package/src/sap/ui/table/TablePersoController.js +1 -1
- package/src/sap/ui/table/TableRenderer.js +7 -7
- package/src/sap/ui/table/TreeTable.js +1 -1
- package/src/sap/ui/table/extensions/Accessibility.js +1 -1
- 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 +1 -1
- package/src/sap/ui/table/extensions/KeyboardDelegate.js +25 -5
- package/src/sap/ui/table/extensions/Pointer.js +1 -1
- package/src/sap/ui/table/extensions/Scrolling.js +1 -1
- package/src/sap/ui/table/extensions/ScrollingIOS.js +1 -1
- package/src/sap/ui/table/extensions/Synchronization.js +1 -1
- package/src/sap/ui/table/library.js +11 -11
- package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
- package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +1 -1
- package/src/sap/ui/table/plugins/BindingSelection.js +3 -3
- package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +2 -2
- package/src/sap/ui/table/plugins/ODataV4Selection.js +132 -96
- package/src/sap/ui/table/plugins/PluginBase.js +1 -1
- package/src/sap/ui/table/plugins/SelectionModelSelection.js +3 -3
- package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
- package/src/sap/ui/table/plugins/V4Aggregation.js +1 -1
- package/src/sap/ui/table/rowmodes/Auto.js +1 -1
- package/src/sap/ui/table/rowmodes/Fixed.js +1 -1
- package/src/sap/ui/table/rowmodes/Interactive.js +1 -1
- package/src/sap/ui/table/rowmodes/RowMode.js +1 -1
- package/src/sap/ui/table/rowmodes/Variable.js +1 -1
- package/src/sap/ui/table/themes/base/Table.less +4 -0
- package/src/sap/ui/table/utils/TableUtils.js +1 -1
- 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 +1 -1
- package/src/sap/ui/table/utils/_HookUtils.js +1 -1
- package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.ui.table",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.128.0",
|
|
4
4
|
"description": "OpenUI5 UI Library sap.ui.table",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"url": "https://github.com/SAP/openui5.git"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@openui5/sap.ui.core": "1.
|
|
18
|
-
"@openui5/sap.ui.unified": "1.
|
|
17
|
+
"@openui5/sap.ui.core": "1.128.0",
|
|
18
|
+
"@openui5/sap.ui.unified": "1.128.0"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2009-2024 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.128.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>Table-like controls, mainly for desktop scenarios.</documentation>
|
|
12
12
|
|
|
@@ -63,7 +63,7 @@ sap.ui.define([
|
|
|
63
63
|
* @class
|
|
64
64
|
* The column allows you to define column specific properties that will be applied when rendering the table.
|
|
65
65
|
* @extends sap.ui.core.Element
|
|
66
|
-
* @version 1.
|
|
66
|
+
* @version 1.128.0
|
|
67
67
|
*
|
|
68
68
|
* @constructor
|
|
69
69
|
* @public
|
|
@@ -290,15 +290,18 @@ sap.ui.define([
|
|
|
290
290
|
|
|
291
291
|
/**
|
|
292
292
|
* Template (cell renderer) of this column.
|
|
293
|
+
*
|
|
293
294
|
* A template is decoupled from the column. Each time the template's properties or aggregations have been changed, the template has to be
|
|
294
295
|
* applied again via <code>setTemplate</code> for the changes to take effect.
|
|
295
|
-
*
|
|
296
|
-
* template depends on the libraries loaded.
|
|
296
|
+
*
|
|
297
297
|
* If there is no template, the column will not be rendered in the table.
|
|
298
|
+
*
|
|
298
299
|
* The set of supported controls is limited. See section "{@link topic:148892ff9aea4a18b912829791e38f3e Tables: Which One Should I
|
|
299
300
|
* Choose?}" in the documentation for more details. While it is technically possible to also use other controls, doing so might lead to
|
|
300
301
|
* issues with regards to scrolling, alignment, condensed mode, screen reader support, and keyboard support.
|
|
301
302
|
*
|
|
303
|
+
* If a string is defined, this string is interpreted as the binding path. Internally, a default text control will be created with its <code>text</code> property
|
|
304
|
+
* bound to the value of the string. The default template depends on the libraries loaded.
|
|
302
305
|
* <b>Note:</b> The <code>altType</code> string is deprecated as of version 1.118. Use a <code>Control</code> instead.
|
|
303
306
|
*/
|
|
304
307
|
template: {type: "sap.ui.core.Control", altTypes: ["string"], multiple: false},
|
package/src/sap/ui/table/Row.js
CHANGED
|
@@ -35,7 +35,7 @@ sap.ui.define([
|
|
|
35
35
|
* If more action items are available as the available space allows to display an overflow mechanism is provided.
|
|
36
36
|
* This control must only be used in the context of the <code>sap.ui.table.Table</code> control to define row actions.
|
|
37
37
|
* @extends sap.ui.core.Control
|
|
38
|
-
* @version 1.
|
|
38
|
+
* @version 1.128.0
|
|
39
39
|
*
|
|
40
40
|
* @constructor
|
|
41
41
|
* @public
|
|
@@ -27,7 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
* The <code>RowSettings</code> control allows you to configure a row.
|
|
28
28
|
* You can only use this control in the context of the <code>sap.ui.table.Table</code> control to define row settings.
|
|
29
29
|
* @extends sap.ui.core.Element
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.128.0
|
|
31
31
|
*
|
|
32
32
|
* @constructor
|
|
33
33
|
* @public
|
|
@@ -102,7 +102,7 @@ sap.ui.define([
|
|
|
102
102
|
* the data model and binding being used.
|
|
103
103
|
* </p>
|
|
104
104
|
* @extends sap.ui.core.Control
|
|
105
|
-
* @version 1.
|
|
105
|
+
* @version 1.128.0
|
|
106
106
|
*
|
|
107
107
|
* @constructor
|
|
108
108
|
* @public
|
|
@@ -218,14 +218,34 @@ sap.ui.define([
|
|
|
218
218
|
navigationMode: {type: "sap.ui.table.NavigationMode", group: "Behavior", defaultValue: "Scrollbar", deprecated: true},
|
|
219
219
|
|
|
220
220
|
/**
|
|
221
|
-
* Defines how many additional (not yet visible) data records from the back-end system are pre-fetched to enable
|
|
222
|
-
* The threshold is always added to the
|
|
223
|
-
* <code>threshold</code> is 100,
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
* If the
|
|
221
|
+
* Defines how many additional (not yet visible) data records from the back-end system are pre-fetched to enable
|
|
222
|
+
* smooth scrolling. The threshold is always added to the number of rows. If the number of rows is 10 and the
|
|
223
|
+
* <code>threshold</code> is 100, 110 records will be fetched with the initial load. This property affects
|
|
224
|
+
* requests triggered by changes in the binding, for example, initial loading, sorting, filtering, etc. The
|
|
225
|
+
* threshold that is applied during scrolling can be configured with the <code>scrollThreshold</code> property.
|
|
226
|
+
* If the <code>threshold</code> is lower than the number of rows in the scrollable area (<code>visibleRowCount</code>
|
|
227
|
+
* minus number of fixed rows), this number is used as the <code>threshold</code>. If the value is 0, thresholding
|
|
228
|
+
* is disabled.
|
|
227
229
|
*/
|
|
228
|
-
threshold: {type: "int", group: "
|
|
230
|
+
threshold: {type: "int", group: "Behavior", defaultValue: 100},
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Defines how many additional data records are requested from the back-end system when the user scrolls vertically
|
|
234
|
+
* in the table. The <code>scrollThreshold</code> is always added to the number of rows. If the number of rows is 10
|
|
235
|
+
* and the <code>scrollThreshold</code> is 100, 110 records will be fetched during scrolling. The threshold that is
|
|
236
|
+
* applied to requests that are not initiated by scrolling can be configured with the <code>threshold</code> property.
|
|
237
|
+
* If the <code>scrollThreshold</code> is lower than the number of rows in the scrollable area (number of rows minus
|
|
238
|
+
* number of fixed rows), this number is used as the <code>scrollThreshold</code>. If the value is 0, no threshold is
|
|
239
|
+
* applied during scrolling. The value -1 applies the same value as the <code>threshold</code> property.
|
|
240
|
+
*
|
|
241
|
+
* <b>Note:</b> This property only takes effect if it is set to a positive integer value.
|
|
242
|
+
*
|
|
243
|
+
* For <code>AnalyticalTable</code> and <code>TreeTable</code>, the <code>scrollThreshold</code> property must be
|
|
244
|
+
* higher than the <code>threshold</code> property to take effect.
|
|
245
|
+
*
|
|
246
|
+
* @since 1.128
|
|
247
|
+
*/
|
|
248
|
+
scrollThreshold: {type: "int", group: "Behavior", defaultValue: -1},
|
|
229
249
|
|
|
230
250
|
/**
|
|
231
251
|
* Flag to enable or disable column reordering
|
|
@@ -1028,6 +1048,15 @@ sap.ui.define([
|
|
|
1028
1048
|
*/
|
|
1029
1049
|
this._bContextsAvailable = false;
|
|
1030
1050
|
|
|
1051
|
+
/*
|
|
1052
|
+
* Flag that indicates whether the user scrolled through the table.
|
|
1053
|
+
* It is <code>false</code> if the current scroll position was set via API or the binding has been initialized or refreshed.
|
|
1054
|
+
* It is set in {@link sap.ui.table.Table#_setFirstVisibleRowIndex} and {@link sap.ui.table.Table#updateRows}.
|
|
1055
|
+
*
|
|
1056
|
+
* @type {boolean}
|
|
1057
|
+
*/
|
|
1058
|
+
this._bScrolled = false;
|
|
1059
|
+
|
|
1031
1060
|
this._aRowClones = [];
|
|
1032
1061
|
this._bRowAggregationInvalid = true;
|
|
1033
1062
|
this._mTimeouts = {};
|
|
@@ -1885,6 +1914,7 @@ sap.ui.define([
|
|
|
1885
1914
|
|
|
1886
1915
|
if (bRowsUpdateRequired) {
|
|
1887
1916
|
if (!mOptions.suppressRendering) {
|
|
1917
|
+
this._bScrolled = mOptions.onScroll;
|
|
1888
1918
|
triggerRowsUpdate(this, mOptions.onScroll
|
|
1889
1919
|
? TableUtils.RowsUpdateReason.VerticalScroll
|
|
1890
1920
|
: TableUtils.RowsUpdateReason.FirstVisibleRowChange);
|
|
@@ -2378,7 +2408,7 @@ sap.ui.define([
|
|
|
2378
2408
|
Table.prototype._getRowContexts = function(iRequestLength) {
|
|
2379
2409
|
const oBinding = this.getBinding();
|
|
2380
2410
|
const mRowCounts = this._getRowCounts();
|
|
2381
|
-
let iThreshold = this.getThreshold();
|
|
2411
|
+
let iThreshold = this._bScrolled ? this._getScrollThreshold() : this.getThreshold();
|
|
2382
2412
|
|
|
2383
2413
|
iRequestLength = iRequestLength == null ? mRowCounts.count : iRequestLength;
|
|
2384
2414
|
|
|
@@ -2503,6 +2533,7 @@ sap.ui.define([
|
|
|
2503
2533
|
*/
|
|
2504
2534
|
Table.prototype.refreshRows = function(sReason) {
|
|
2505
2535
|
this._bContextsAvailable = false;
|
|
2536
|
+
this._bScrolled = false;
|
|
2506
2537
|
|
|
2507
2538
|
if (sReason === ChangeReason.Sort || sReason === ChangeReason.Filter) {
|
|
2508
2539
|
this.setFirstVisibleRow(0);
|
|
@@ -2527,6 +2558,8 @@ sap.ui.define([
|
|
|
2527
2558
|
return;
|
|
2528
2559
|
}
|
|
2529
2560
|
|
|
2561
|
+
this._bScrolled = false;
|
|
2562
|
+
|
|
2530
2563
|
if (oEventInfo.detailedReason === "AddVirtualContext") {
|
|
2531
2564
|
createVirtualRow(this);
|
|
2532
2565
|
return;
|
|
@@ -3651,6 +3684,20 @@ sap.ui.define([
|
|
|
3651
3684
|
return this;
|
|
3652
3685
|
};
|
|
3653
3686
|
|
|
3687
|
+
/**
|
|
3688
|
+
* Sets the threshold value, which will be added to all data requests
|
|
3689
|
+
* initiated by scrolling if the <code>Table</code> is bound against
|
|
3690
|
+
* an OData service.
|
|
3691
|
+
*
|
|
3692
|
+
* @param {int} iThreshold The threshold for scrolling
|
|
3693
|
+
* @returns {this} Reference to <code>this</code> in order to allow method chaining
|
|
3694
|
+
* @public
|
|
3695
|
+
*/
|
|
3696
|
+
Table.prototype.setScrollThreshold = function(iThreshold) {
|
|
3697
|
+
this.setProperty("scrollThreshold", iThreshold, true);
|
|
3698
|
+
return this;
|
|
3699
|
+
};
|
|
3700
|
+
|
|
3654
3701
|
/**
|
|
3655
3702
|
* Invalidates all column menus.
|
|
3656
3703
|
* @private
|
|
@@ -4401,5 +4448,22 @@ sap.ui.define([
|
|
|
4401
4448
|
return oFoundPlugin;
|
|
4402
4449
|
};
|
|
4403
4450
|
|
|
4451
|
+
/**
|
|
4452
|
+
* Returns the threshold that is applied during scrolling. The returned
|
|
4453
|
+
* integer is based on the <code>scrollThreshold</code> property in combination
|
|
4454
|
+
* with the <code>threshold</code> property.
|
|
4455
|
+
*
|
|
4456
|
+
* @returns {number} The threshold that is applied during scrolling
|
|
4457
|
+
*/
|
|
4458
|
+
Table.prototype._getScrollThreshold = function() {
|
|
4459
|
+
const iScrollThreshold = this.getScrollThreshold();
|
|
4460
|
+
|
|
4461
|
+
if (iScrollThreshold === -1) {
|
|
4462
|
+
return this.getThreshold();
|
|
4463
|
+
|
|
4464
|
+
}
|
|
4465
|
+
return iScrollThreshold;
|
|
4466
|
+
};
|
|
4467
|
+
|
|
4404
4468
|
return Table;
|
|
4405
4469
|
});
|
|
@@ -148,6 +148,7 @@ sap.ui.define([
|
|
|
148
148
|
this.renderTabElement(rm, "sapUiTableOuterBefore");
|
|
149
149
|
|
|
150
150
|
rm.openStart("div", oTable.getId() + "-before");
|
|
151
|
+
rm.class("sapUiTableBefore");
|
|
151
152
|
rm.openEnd();
|
|
152
153
|
|
|
153
154
|
rm.renderControl(oTable.getAggregation("_messageStrip"));
|
|
@@ -177,6 +178,9 @@ sap.ui.define([
|
|
|
177
178
|
oTable._getAccRenderExtension().writeAriaAttributesFor(rm, oTable, "CONTAINER");
|
|
178
179
|
rm.openEnd();
|
|
179
180
|
|
|
181
|
+
const bDummyTabbable = oTable.getRows().length || oTable.getColumnHeaderVisible();
|
|
182
|
+
this.renderTabElement(rm, "sapUiTableCtrlBefore", bDummyTabbable ? "0" : "-1");
|
|
183
|
+
|
|
180
184
|
rm.openStart("div", oTable.getId() + "-sapUiTableGridCnt");
|
|
181
185
|
oTable._getAccRenderExtension().writeAriaAttributesFor(rm, oTable, "CONTENT");
|
|
182
186
|
rm.openEnd();
|
|
@@ -187,6 +191,9 @@ sap.ui.define([
|
|
|
187
191
|
|
|
188
192
|
rm.close("div");
|
|
189
193
|
|
|
194
|
+
this.renderTabElement(rm, "sapUiTableCtrlAfter", bDummyTabbable ? "0" : "-1");
|
|
195
|
+
this.renderTabElement(rm, null, "-1", oTable.getId() + "-focusDummy");
|
|
196
|
+
|
|
190
197
|
const oCreationRow = oTable.getCreationRow();
|
|
191
198
|
if (oCreationRow && oCreationRow.getVisible()) {
|
|
192
199
|
rm.renderControl(oCreationRow);
|
|
@@ -282,10 +289,6 @@ sap.ui.define([
|
|
|
282
289
|
};
|
|
283
290
|
|
|
284
291
|
TableRenderer.renderTable = function(rm, oTable) {
|
|
285
|
-
const bHasRows = oTable.getRows().length > 0;
|
|
286
|
-
|
|
287
|
-
this.renderTabElement(rm, "sapUiTableCtrlBefore", bHasRows ? "0" : "-1");
|
|
288
|
-
|
|
289
292
|
rm.openStart("div", oTable.getId() + "-tableCCnt");
|
|
290
293
|
TableUtils.Hook.call(oTable, Hook.RenderRowContainerStyles, rm);
|
|
291
294
|
rm.class("sapUiTableCCnt");
|
|
@@ -294,9 +297,6 @@ sap.ui.define([
|
|
|
294
297
|
this.renderTableCCnt(rm, oTable);
|
|
295
298
|
rm.close("div");
|
|
296
299
|
|
|
297
|
-
this.renderTabElement(rm, "sapUiTableCtrlAfter", bHasRows ? "0" : "-1");
|
|
298
|
-
this.renderTabElement(rm, null, "-1", oTable.getId() + "-focusDummy");
|
|
299
|
-
|
|
300
300
|
const oCreationRow = oTable.getCreationRow();
|
|
301
301
|
if (!oCreationRow || !oCreationRow.getVisible()) {
|
|
302
302
|
this.renderHSbBackground(rm, oTable);
|
|
@@ -969,7 +969,7 @@ sap.ui.define([
|
|
|
969
969
|
* @class Extension for sap.ui.table.Table which handles ACC related things.
|
|
970
970
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
971
971
|
* @author SAP SE
|
|
972
|
-
* @version 1.
|
|
972
|
+
* @version 1.128.0
|
|
973
973
|
* @constructor
|
|
974
974
|
* @private
|
|
975
975
|
* @alias sap.ui.table.extensions.Accessibility
|
|
@@ -44,7 +44,7 @@ sap.ui.define([
|
|
|
44
44
|
* @class Extension for sap.ui.table.TableRenderer which handles ACC related things.
|
|
45
45
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
46
46
|
* @author SAP SE
|
|
47
|
-
* @version 1.
|
|
47
|
+
* @version 1.128.0
|
|
48
48
|
* @constructor
|
|
49
49
|
* @private
|
|
50
50
|
* @alias sap.ui.table.extensions.AccessibilityRender
|
|
@@ -267,7 +267,7 @@ sap.ui.define([
|
|
|
267
267
|
* @class Extension for sap.ui.table.Table which handles keyboard related things.
|
|
268
268
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
269
269
|
* @author SAP SE
|
|
270
|
-
* @version 1.
|
|
270
|
+
* @version 1.128.0
|
|
271
271
|
* @constructor
|
|
272
272
|
* @private
|
|
273
273
|
* @alias sap.ui.table.extensions.Keyboard
|
|
@@ -65,7 +65,7 @@ sap.ui.define([
|
|
|
65
65
|
*
|
|
66
66
|
* @extends sap.ui.base.Object
|
|
67
67
|
* @author SAP SE
|
|
68
|
-
* @version 1.
|
|
68
|
+
* @version 1.128.0
|
|
69
69
|
* @constructor
|
|
70
70
|
* @private
|
|
71
71
|
* @alias sap.ui.table.extensions.KeyboardDelegate
|
|
@@ -991,7 +991,19 @@ sap.ui.define([
|
|
|
991
991
|
}
|
|
992
992
|
};
|
|
993
993
|
|
|
994
|
+
KeyboardDelegate.prototype.onfocusout = function(oEvent) {
|
|
995
|
+
if (this.getRows().length || this.getColumnHeaderVisible()) {
|
|
996
|
+
this.$().find(".sapUiTableCtrlBefore").attr("tabindex", "0");
|
|
997
|
+
this.$().find(".sapUiTableCtrlAfter").attr("tabindex", "0");
|
|
998
|
+
}
|
|
999
|
+
};
|
|
1000
|
+
|
|
994
1001
|
KeyboardDelegate.prototype.onfocusin = function(oEvent) {
|
|
1002
|
+
if (this.getDomRef("sapUiTableCnt").contains(oEvent.target)) {
|
|
1003
|
+
this.$().find(".sapUiTableCtrlBefore").attr("tabindex", "-1");
|
|
1004
|
+
this.$().find(".sapUiTableCtrlAfter").attr("tabindex", "-1");
|
|
1005
|
+
}
|
|
1006
|
+
|
|
995
1007
|
if (oEvent.isMarked("sapUiTableIgnoreFocusIn")) {
|
|
996
1008
|
return;
|
|
997
1009
|
}
|
|
@@ -1004,15 +1016,23 @@ sap.ui.define([
|
|
|
1004
1016
|
|
|
1005
1017
|
} else if ($Target.hasClass("sapUiTableCtrlBefore")) {
|
|
1006
1018
|
const bNoData = TableUtils.isNoDataVisible(this);
|
|
1007
|
-
|
|
1019
|
+
const oBusyIndicator = this.getDomRef("busyIndicator");
|
|
1020
|
+
if (oBusyIndicator) {
|
|
1021
|
+
this._getKeyboardExtension().setSilentFocus(oBusyIndicator);
|
|
1022
|
+
} else if (this.getColumnHeaderVisible() && (TableUtils.getVisibleColumnCount(this) || this.getSelectionMode() !== SelectionMode.None)) {
|
|
1008
1023
|
setFocusOnColumnHeaderOfLastFocusedDataCell(this, oEvent);
|
|
1009
|
-
} else {
|
|
1024
|
+
} else if (bNoData) {
|
|
1010
1025
|
this._getKeyboardExtension().setSilentFocus(this.$("noDataCnt"));
|
|
1011
1026
|
}
|
|
1012
1027
|
|
|
1013
1028
|
} else if ($Target.hasClass("sapUiTableCtrlAfter")) {
|
|
1014
|
-
|
|
1029
|
+
const oBusyIndicator = this.getDomRef("busyIndicator");
|
|
1030
|
+
if (oBusyIndicator) {
|
|
1031
|
+
this._getKeyboardExtension().setSilentFocus(oBusyIndicator);
|
|
1032
|
+
} else if (this.getRows().length && !TableUtils.isNoDataVisible(this)) {
|
|
1015
1033
|
restoreFocusOnLastFocusedDataCell(this, oEvent);
|
|
1034
|
+
} else if (this.getColumnHeaderVisible() && (TableUtils.getVisibleColumnCount(this) || this.getSelectionMode() !== SelectionMode.None)) {
|
|
1035
|
+
setFocusOnColumnHeaderOfLastFocusedDataCell(this, oEvent);
|
|
1016
1036
|
}
|
|
1017
1037
|
}
|
|
1018
1038
|
|
|
@@ -1382,7 +1402,7 @@ sap.ui.define([
|
|
|
1382
1402
|
}
|
|
1383
1403
|
|
|
1384
1404
|
} else if (oCellInfo.isOfType(CellType.ANYCONTENTCELL) || oEvent.target === this.getDomRef("noDataCnt")) {
|
|
1385
|
-
if (this.getColumnHeaderVisible() && !oCellInfo.isOfType(CellType.ROWACTION)) {
|
|
1405
|
+
if (this.getColumnHeaderVisible() && (TableUtils.getVisibleColumnCount(this) || this.getSelectionMode() !== SelectionMode.None) && !oCellInfo.isOfType(CellType.ROWACTION)) {
|
|
1386
1406
|
setFocusOnColumnHeaderOfLastFocusedDataCell(this, oEvent);
|
|
1387
1407
|
oEvent.preventDefault();
|
|
1388
1408
|
} else {
|
|
@@ -703,7 +703,7 @@ sap.ui.define([
|
|
|
703
703
|
* @class Extension for sap.ui.table.Table which handles mouse and touch related things.
|
|
704
704
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
705
705
|
* @author SAP SE
|
|
706
|
-
* @version 1.
|
|
706
|
+
* @version 1.128.0
|
|
707
707
|
* @constructor
|
|
708
708
|
* @private
|
|
709
709
|
* @alias sap.ui.table.extensions.Pointer
|
|
@@ -2295,7 +2295,7 @@ sap.ui.define([
|
|
|
2295
2295
|
* @class Extension for sap.ui.table.Table which handles scrolling.
|
|
2296
2296
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
2297
2297
|
* @author SAP SE
|
|
2298
|
-
* @version 1.
|
|
2298
|
+
* @version 1.128.0
|
|
2299
2299
|
* @constructor
|
|
2300
2300
|
* @private
|
|
2301
2301
|
* @alias sap.ui.table.extensions.Scrolling
|
|
@@ -27,7 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
* @class Extension for sap.ui.table.Table which handles the scrollbar on iOS.
|
|
28
28
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
29
29
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.128.0
|
|
31
31
|
* @constructor
|
|
32
32
|
* @private
|
|
33
33
|
* @alias sap.ui.table.extensions.ScrollingIOS
|
|
@@ -185,7 +185,7 @@ sap.ui.define([
|
|
|
185
185
|
* @class Extension for sap.ui.table.Table that allows synchronization with a table.
|
|
186
186
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
187
187
|
* @author SAP SE
|
|
188
|
-
* @version 1.
|
|
188
|
+
* @version 1.128.0
|
|
189
189
|
* @constructor
|
|
190
190
|
* @private
|
|
191
191
|
* @alias sap.ui.table.extensions.Synchronization
|
|
@@ -27,14 +27,14 @@ sap.ui.define([
|
|
|
27
27
|
* @namespace
|
|
28
28
|
* @alias sap.ui.table
|
|
29
29
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.128.0
|
|
31
31
|
* @since 0.8
|
|
32
32
|
* @public
|
|
33
33
|
*/
|
|
34
34
|
const thisLib = Library.init({
|
|
35
35
|
name: "sap.ui.table",
|
|
36
36
|
apiVersion: 2,
|
|
37
|
-
version: "1.
|
|
37
|
+
version: "1.128.0",
|
|
38
38
|
dependencies: ["sap.ui.core", "sap.ui.unified"],
|
|
39
39
|
designtime: "sap/ui/table/designtime/library.designtime",
|
|
40
40
|
types: [
|
|
@@ -96,7 +96,7 @@ sap.ui.define([
|
|
|
96
96
|
/**
|
|
97
97
|
* Navigation mode of the table
|
|
98
98
|
*
|
|
99
|
-
* @version 1.
|
|
99
|
+
* @version 1.128.0
|
|
100
100
|
* @enum {string}
|
|
101
101
|
* @deprecated As of version 1.38, the concept has been discarded.
|
|
102
102
|
* @public
|
|
@@ -127,7 +127,7 @@ sap.ui.define([
|
|
|
127
127
|
/**
|
|
128
128
|
* Row Action types.
|
|
129
129
|
*
|
|
130
|
-
* @version 1.
|
|
130
|
+
* @version 1.128.0
|
|
131
131
|
* @enum {string}
|
|
132
132
|
* @public
|
|
133
133
|
*/
|
|
@@ -158,7 +158,7 @@ sap.ui.define([
|
|
|
158
158
|
/**
|
|
159
159
|
* Selection behavior of the table
|
|
160
160
|
*
|
|
161
|
-
* @version 1.
|
|
161
|
+
* @version 1.128.0
|
|
162
162
|
* @enum {string}
|
|
163
163
|
* @public
|
|
164
164
|
*/
|
|
@@ -189,7 +189,7 @@ sap.ui.define([
|
|
|
189
189
|
/**
|
|
190
190
|
* Selection mode of the table
|
|
191
191
|
*
|
|
192
|
-
* @version 1.
|
|
192
|
+
* @version 1.128.0
|
|
193
193
|
* @enum {string}
|
|
194
194
|
* @public
|
|
195
195
|
*/
|
|
@@ -227,7 +227,7 @@ sap.ui.define([
|
|
|
227
227
|
/**
|
|
228
228
|
* Sort order of a column
|
|
229
229
|
*
|
|
230
|
-
* @version 1.
|
|
230
|
+
* @version 1.128.0
|
|
231
231
|
* @enum {string}
|
|
232
232
|
* @public
|
|
233
233
|
* @deprecated As of version 1.120, replaced with <code>sap.ui.core.SortOrder</code>
|
|
@@ -254,7 +254,7 @@ sap.ui.define([
|
|
|
254
254
|
/**
|
|
255
255
|
* VisibleRowCountMode of the table
|
|
256
256
|
*
|
|
257
|
-
* @version 1.
|
|
257
|
+
* @version 1.128.0
|
|
258
258
|
* @enum {string}
|
|
259
259
|
* @deprecated As of version 1.119, see the <code>rowMode</code> aggregation of <code>sap.ui.table.Table</code> for more details.
|
|
260
260
|
* @public
|
|
@@ -299,7 +299,7 @@ sap.ui.define([
|
|
|
299
299
|
*
|
|
300
300
|
* Contains IDs of shared DOM references, which should be accessible to inheriting controls via getDomRef() function.
|
|
301
301
|
*
|
|
302
|
-
* @version 1.
|
|
302
|
+
* @version 1.128.0
|
|
303
303
|
* @enum {string}
|
|
304
304
|
* @public
|
|
305
305
|
*/
|
|
@@ -400,7 +400,7 @@ sap.ui.define([
|
|
|
400
400
|
*
|
|
401
401
|
* This is an alias for {@link sap.ui.model.TreeAutoExpandMode} and kept for compatibility reasons.
|
|
402
402
|
*
|
|
403
|
-
* @version 1.
|
|
403
|
+
* @version 1.128.0
|
|
404
404
|
* @typedef {sap.ui.model.TreeAutoExpandMode}
|
|
405
405
|
* @public
|
|
406
406
|
* @deprecated As of version 1.120, replaced by <code>sap.ui.model.TreeAutoExpandMode</code>
|
|
@@ -414,7 +414,7 @@ sap.ui.define([
|
|
|
414
414
|
/**
|
|
415
415
|
* Mode of a selection plugin
|
|
416
416
|
*
|
|
417
|
-
* @version 1.
|
|
417
|
+
* @version 1.128.0
|
|
418
418
|
* @enum {string}
|
|
419
419
|
* @private
|
|
420
420
|
*/
|
|
@@ -21,7 +21,7 @@ sap.ui.define([
|
|
|
21
21
|
*
|
|
22
22
|
* @class Implements the selection methods for TreeTable and AnalyticalTable
|
|
23
23
|
* @extends sap.ui.table.plugins.SelectionPlugin
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.128.0
|
|
25
25
|
* @constructor
|
|
26
26
|
* @private
|
|
27
27
|
* @alias sap.ui.table.plugins.BindingSelection
|
|
@@ -140,10 +140,10 @@ sap.ui.define([
|
|
|
140
140
|
*/
|
|
141
141
|
BindingSelection.prototype.onKeyboardShortcut = function(sType, oEvent) {
|
|
142
142
|
if (sType === "toggle" && toggleSelectAll(this) === false) {
|
|
143
|
-
oEvent
|
|
143
|
+
oEvent.setMarked("sapUiTableClearAll");
|
|
144
144
|
} else if (sType === "clear") {
|
|
145
145
|
this.clearSelection();
|
|
146
|
-
oEvent
|
|
146
|
+
oEvent.setMarked("sapUiTableClearAll");
|
|
147
147
|
}
|
|
148
148
|
};
|
|
149
149
|
|