@openui5/sap.ui.table 1.126.1 → 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/THIRDPARTY.txt +1 -1
- 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 +80 -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 -2
- 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/messagebundle_en_US_sappsd.properties +6 -10
- package/src/sap/ui/table/messagebundle_en_US_saptrc.properties +72 -76
- 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/Type.js +3 -3
- 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/THIRDPARTY.txt
CHANGED
|
@@ -468,7 +468,7 @@ License: Apache-2.0
|
|
|
468
468
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
469
469
|
Contained in: lib/jsdoc/ui5/plugin.js
|
|
470
470
|
|
|
471
|
-
Component: SAP Theming Base Content, version: 11.
|
|
471
|
+
Component: SAP Theming Base Content, version: 11.16.1
|
|
472
472
|
Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
|
|
473
473
|
License: Apache-2.0
|
|
474
474
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
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
|
|
@@ -94,13 +94,15 @@ sap.ui.define([
|
|
|
94
94
|
* the Table control to handle huge amounts of data. Nevertheless, restrictions apply regarding the number of displayed
|
|
95
95
|
* columns. Keep the number as low as possible to improve performance. Due to the nature of tables, the used
|
|
96
96
|
* control for column templates also has a big influence on the performance.
|
|
97
|
+
* Because of the described reuse of the controls during scrolling, all data-related changes must be based on bindings. Static changes, such as
|
|
98
|
+
* calling mutator functions or defining a one-time binding, must be avoided.
|
|
97
99
|
* </p>
|
|
98
100
|
* <p>
|
|
99
101
|
* The Table control relies completely on data binding, and its supported feature set is tightly coupled to
|
|
100
102
|
* the data model and binding being used.
|
|
101
103
|
* </p>
|
|
102
104
|
* @extends sap.ui.core.Control
|
|
103
|
-
* @version 1.
|
|
105
|
+
* @version 1.128.0
|
|
104
106
|
*
|
|
105
107
|
* @constructor
|
|
106
108
|
* @public
|
|
@@ -216,17 +218,42 @@ sap.ui.define([
|
|
|
216
218
|
navigationMode: {type: "sap.ui.table.NavigationMode", group: "Behavior", defaultValue: "Scrollbar", deprecated: true},
|
|
217
219
|
|
|
218
220
|
/**
|
|
219
|
-
* Defines how many additional (not yet visible) data records from the back-end system are pre-fetched to enable
|
|
220
|
-
* The threshold is always added to the
|
|
221
|
-
* <code>threshold</code> is 100,
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
* 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.
|
|
225
229
|
*/
|
|
226
|
-
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},
|
|
227
249
|
|
|
228
250
|
/**
|
|
229
251
|
* Flag to enable or disable column reordering
|
|
252
|
+
*
|
|
253
|
+
* <b>Note</b>: Column reordering is possible via drag&drop and keyboard shortcuts. Single-pointer alternative is not provided
|
|
254
|
+
* out-of-the-box and should be implemented on application side. For example the {@link sap.m.p13n.Engine} can be used, see the following
|
|
255
|
+
* sample:
|
|
256
|
+
* {@link https://ui5.sap.com/#/entity/sap.ui.table.Table/sample/sap.m.sample.p13n.EngineGridTable Personalization for grid table}.
|
|
230
257
|
*/
|
|
231
258
|
enableColumnReordering: {type: "boolean", group: "Behavior", defaultValue: true},
|
|
232
259
|
|
|
@@ -1021,6 +1048,15 @@ sap.ui.define([
|
|
|
1021
1048
|
*/
|
|
1022
1049
|
this._bContextsAvailable = false;
|
|
1023
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
|
+
|
|
1024
1060
|
this._aRowClones = [];
|
|
1025
1061
|
this._bRowAggregationInvalid = true;
|
|
1026
1062
|
this._mTimeouts = {};
|
|
@@ -1878,6 +1914,7 @@ sap.ui.define([
|
|
|
1878
1914
|
|
|
1879
1915
|
if (bRowsUpdateRequired) {
|
|
1880
1916
|
if (!mOptions.suppressRendering) {
|
|
1917
|
+
this._bScrolled = mOptions.onScroll;
|
|
1881
1918
|
triggerRowsUpdate(this, mOptions.onScroll
|
|
1882
1919
|
? TableUtils.RowsUpdateReason.VerticalScroll
|
|
1883
1920
|
: TableUtils.RowsUpdateReason.FirstVisibleRowChange);
|
|
@@ -2371,7 +2408,7 @@ sap.ui.define([
|
|
|
2371
2408
|
Table.prototype._getRowContexts = function(iRequestLength) {
|
|
2372
2409
|
const oBinding = this.getBinding();
|
|
2373
2410
|
const mRowCounts = this._getRowCounts();
|
|
2374
|
-
let iThreshold = this.getThreshold();
|
|
2411
|
+
let iThreshold = this._bScrolled ? this._getScrollThreshold() : this.getThreshold();
|
|
2375
2412
|
|
|
2376
2413
|
iRequestLength = iRequestLength == null ? mRowCounts.count : iRequestLength;
|
|
2377
2414
|
|
|
@@ -2496,6 +2533,7 @@ sap.ui.define([
|
|
|
2496
2533
|
*/
|
|
2497
2534
|
Table.prototype.refreshRows = function(sReason) {
|
|
2498
2535
|
this._bContextsAvailable = false;
|
|
2536
|
+
this._bScrolled = false;
|
|
2499
2537
|
|
|
2500
2538
|
if (sReason === ChangeReason.Sort || sReason === ChangeReason.Filter) {
|
|
2501
2539
|
this.setFirstVisibleRow(0);
|
|
@@ -2520,6 +2558,8 @@ sap.ui.define([
|
|
|
2520
2558
|
return;
|
|
2521
2559
|
}
|
|
2522
2560
|
|
|
2561
|
+
this._bScrolled = false;
|
|
2562
|
+
|
|
2523
2563
|
if (oEventInfo.detailedReason === "AddVirtualContext") {
|
|
2524
2564
|
createVirtualRow(this);
|
|
2525
2565
|
return;
|
|
@@ -3644,6 +3684,20 @@ sap.ui.define([
|
|
|
3644
3684
|
return this;
|
|
3645
3685
|
};
|
|
3646
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
|
+
|
|
3647
3701
|
/**
|
|
3648
3702
|
* Invalidates all column menus.
|
|
3649
3703
|
* @private
|
|
@@ -4394,5 +4448,22 @@ sap.ui.define([
|
|
|
4394
4448
|
return oFoundPlugin;
|
|
4395
4449
|
};
|
|
4396
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
|
+
|
|
4397
4468
|
return Table;
|
|
4398
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
|
|
@@ -130,7 +130,6 @@ sap.ui.define([
|
|
|
130
130
|
* Initialize ItemNavigations (content and header) and transfer relevant dom elements.
|
|
131
131
|
* TabIndexes are set by the ItemNavigation.
|
|
132
132
|
*/
|
|
133
|
-
// eslint-disable-next-line complexity
|
|
134
133
|
_initItemNavigation: function(oExtension, bSkipInitFocusedIndex) {
|
|
135
134
|
const oTable = oExtension.getTable();
|
|
136
135
|
|
|
@@ -268,7 +267,7 @@ sap.ui.define([
|
|
|
268
267
|
* @class Extension for sap.ui.table.Table which handles keyboard related things.
|
|
269
268
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
270
269
|
* @author SAP SE
|
|
271
|
-
* @version 1.
|
|
270
|
+
* @version 1.128.0
|
|
272
271
|
* @constructor
|
|
273
272
|
* @private
|
|
274
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
|
*/
|