@openui5/sap.ui.table 1.139.0 → 1.141.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 +2 -2
- 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 +4 -2
- package/src/sap/ui/table/Column.js +1 -1
- 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 +4 -14
- package/src/sap/ui/table/TablePersoController.js +1 -1
- package/src/sap/ui/table/TreeTable.js +3 -1
- package/src/sap/ui/table/extensions/Accessibility.js +17 -9
- 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 +1 -1
- package/src/sap/ui/table/extensions/Pointer.js +35 -12
- package/src/sap/ui/table/extensions/Scrolling.js +30 -21
- package/src/sap/ui/table/extensions/ScrollingIOS.js +15 -4
- package/src/sap/ui/table/extensions/Synchronization.js +1 -1
- package/src/sap/ui/table/i18n/interaction_ar.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_bg.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_ca.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_cnr.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_cs.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_cy.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_da.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_de.xml +2 -2
- package/src/sap/ui/table/i18n/interaction_el.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_en.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_en_GB.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_en_US_saprigi.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_es.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_es_MX.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_et.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_fi.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_fr.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_fr_CA.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_hi.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_hr.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_hu.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_id.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_it.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_iw.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_ja.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_kk.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_ko.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_lt.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_lv.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_mk.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_ms.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_nl.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_no.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_pl.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_pt.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_pt_PT.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_ro.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_ru.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_sh.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_sk.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_sl.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_sr.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_sv.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_th.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_tr.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_uk.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_vi.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_zh_CN.xml +1 -1
- package/src/sap/ui/table/i18n/interaction_zh_TW.xml +1 -1
- package/src/sap/ui/table/library.js +27 -11
- package/src/sap/ui/table/menus/AnalyticalTableContextMenu.js +1 -1
- package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
- package/src/sap/ui/table/menus/ContextMenu.js +1 -1
- package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +6 -9
- package/src/sap/ui/table/messagebundle.properties +7 -0
- package/src/sap/ui/table/messagebundle_ar.properties +5 -0
- package/src/sap/ui/table/messagebundle_bg.properties +5 -0
- package/src/sap/ui/table/messagebundle_ca.properties +5 -0
- package/src/sap/ui/table/messagebundle_cnr.properties +5 -0
- package/src/sap/ui/table/messagebundle_cs.properties +7 -2
- package/src/sap/ui/table/messagebundle_cy.properties +5 -0
- package/src/sap/ui/table/messagebundle_da.properties +5 -0
- package/src/sap/ui/table/messagebundle_de.properties +11 -6
- package/src/sap/ui/table/messagebundle_el.properties +5 -0
- package/src/sap/ui/table/messagebundle_en.properties +5 -0
- package/src/sap/ui/table/messagebundle_en_GB.properties +5 -0
- package/src/sap/ui/table/messagebundle_en_US_saprigi.properties +5 -0
- package/src/sap/ui/table/messagebundle_es.properties +6 -1
- package/src/sap/ui/table/messagebundle_es_MX.properties +5 -0
- package/src/sap/ui/table/messagebundle_et.properties +5 -0
- package/src/sap/ui/table/messagebundle_fi.properties +6 -1
- package/src/sap/ui/table/messagebundle_fr.properties +7 -2
- package/src/sap/ui/table/messagebundle_fr_CA.properties +7 -2
- package/src/sap/ui/table/messagebundle_hi.properties +5 -0
- package/src/sap/ui/table/messagebundle_hr.properties +5 -0
- package/src/sap/ui/table/messagebundle_hu.properties +5 -0
- package/src/sap/ui/table/messagebundle_id.properties +5 -0
- package/src/sap/ui/table/messagebundle_it.properties +5 -0
- package/src/sap/ui/table/messagebundle_iw.properties +5 -0
- package/src/sap/ui/table/messagebundle_ja.properties +6 -1
- package/src/sap/ui/table/messagebundle_kk.properties +5 -0
- package/src/sap/ui/table/messagebundle_ko.properties +5 -0
- package/src/sap/ui/table/messagebundle_lt.properties +5 -0
- package/src/sap/ui/table/messagebundle_lv.properties +7 -2
- package/src/sap/ui/table/messagebundle_mk.properties +7 -2
- package/src/sap/ui/table/messagebundle_ms.properties +7 -2
- package/src/sap/ui/table/messagebundle_nl.properties +6 -1
- package/src/sap/ui/table/messagebundle_no.properties +5 -0
- package/src/sap/ui/table/messagebundle_pl.properties +5 -0
- package/src/sap/ui/table/messagebundle_pt.properties +5 -0
- package/src/sap/ui/table/messagebundle_pt_PT.properties +6 -1
- package/src/sap/ui/table/messagebundle_ro.properties +7 -2
- package/src/sap/ui/table/messagebundle_ru.properties +9 -4
- package/src/sap/ui/table/messagebundle_sh.properties +5 -0
- package/src/sap/ui/table/messagebundle_sk.properties +5 -0
- package/src/sap/ui/table/messagebundle_sl.properties +5 -0
- package/src/sap/ui/table/messagebundle_sr.properties +5 -0
- package/src/sap/ui/table/messagebundle_sv.properties +5 -0
- package/src/sap/ui/table/messagebundle_th.properties +5 -0
- package/src/sap/ui/table/messagebundle_tr.properties +5 -0
- package/src/sap/ui/table/messagebundle_uk.properties +5 -0
- package/src/sap/ui/table/messagebundle_vi.properties +5 -0
- package/src/sap/ui/table/messagebundle_zh_CN.properties +5 -0
- package/src/sap/ui/table/messagebundle_zh_TW.properties +7 -2
- package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
- package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +6 -2
- package/src/sap/ui/table/plugins/{V4Aggregation.js → ODataV4Aggregation.js} +54 -70
- package/src/sap/ui/table/plugins/ODataV4Hierarchy.js +94 -0
- package/src/sap/ui/table/plugins/ODataV4MultiLevel.js +100 -0
- package/src/sap/ui/table/plugins/ODataV4MultiSelection.js +489 -0
- package/src/sap/ui/table/plugins/ODataV4Selection.js +51 -412
- package/src/sap/ui/table/plugins/ODataV4SingleSelection.js +120 -0
- package/src/sap/ui/table/plugins/PluginBase.js +1 -1
- package/src/sap/ui/table/plugins/SelectionModelSelection.js +1 -1
- package/src/sap/ui/table/plugins/SelectionPlugin.js +18 -16
- 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/DragDrop.less +8 -1
- package/src/sap/ui/table/themes/base/ScrollingIOS.less +1 -0
- package/src/sap/ui/table/utils/TableUtils.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/src/sap/ui/table/plugins/SelectionMode.js +0 -35
package/THIRDPARTY.txt
CHANGED
|
@@ -379,7 +379,7 @@ License: MIT
|
|
|
379
379
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
|
|
380
380
|
Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/adaptive-expressions.js
|
|
381
381
|
|
|
382
|
-
Component: Markdown-it, version:
|
|
382
|
+
Component: Markdown-it, version: 14.1.0
|
|
383
383
|
Copyright: 2014 Vitaly Puzrin, Alex Kocharin
|
|
384
384
|
License: MIT
|
|
385
385
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
|
|
@@ -444,7 +444,7 @@ License: Apache-2.0
|
|
|
444
444
|
License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
445
445
|
Contained in: lib/jsdoc/ui5/plugin.js
|
|
446
446
|
|
|
447
|
-
Component: SAP Theming Base Content, version: 11.
|
|
447
|
+
Component: SAP Theming Base Content, version: 11.32.2-20250827135846+79bb30d311678435d61b21db26ecbe07d6b05079
|
|
448
448
|
Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
|
|
449
449
|
License: Apache-2.0
|
|
450
450
|
License Text: https://github.com/UI5/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.141.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/UI5/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.141.0",
|
|
18
|
+
"@openui5/sap.ui.unified": "1.141.0"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2025 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.141.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>Table-like controls, mainly for desktop scenarios.</documentation>
|
|
12
12
|
|
|
@@ -45,12 +45,14 @@ sap.ui.define([
|
|
|
45
45
|
* @param {object} [mSettings] initial settings for the new control
|
|
46
46
|
*
|
|
47
47
|
* @class
|
|
48
|
-
* Table that handles analytical OData back-end scenarios. The <code>AnalyticalTable</code> only works with {@link sap.ui.model.analytics.AnalyticalBinding AnalyticalBinding} and
|
|
48
|
+
* Table that handles analytical OData V2 back-end scenarios. The <code>AnalyticalTable</code> only works with {@link sap.ui.model.analytics.AnalyticalBinding AnalyticalBinding} and
|
|
49
49
|
* correctly annotated OData services. Please check out the functionality of analytical binding and the SAP Annotations for OData Version 2.0 documentation for further details.
|
|
50
|
+
* For an analytical-table-like behavior with OData V4 services, use the {@link sap.ui.table.Table Table} control with the {@link sap.ui.table.plugins.ODataV4Aggregation ODataV4Aggregation} plugin.
|
|
50
51
|
* @see https://github.com/SAP/odata-vocabularies/blob/main/docs/v2-annotations.md
|
|
52
|
+
* @see {@link topic:148892ff9aea4a18b912829791e38f3e Tables: Which One Should I Choose?}
|
|
51
53
|
*
|
|
52
54
|
* @extends sap.ui.table.Table
|
|
53
|
-
* @version 1.
|
|
55
|
+
* @version 1.141.0
|
|
54
56
|
*
|
|
55
57
|
* @constructor
|
|
56
58
|
* @public
|
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.141.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.141.0
|
|
31
31
|
*
|
|
32
32
|
* @constructor
|
|
33
33
|
* @public
|
|
@@ -106,7 +106,7 @@ sap.ui.define([
|
|
|
106
106
|
* the data model and binding being used.
|
|
107
107
|
* </p>
|
|
108
108
|
* @extends sap.ui.core.Control
|
|
109
|
-
* @version 1.
|
|
109
|
+
* @version 1.141.0
|
|
110
110
|
*
|
|
111
111
|
* @constructor
|
|
112
112
|
* @public
|
|
@@ -1150,7 +1150,7 @@ sap.ui.define([
|
|
|
1150
1150
|
ExtensionBase.enrich(this, AccExtension); // Must be registered after keyboard to reach correct delegate order
|
|
1151
1151
|
ExtensionBase.enrich(this, DragAndDropExtension);
|
|
1152
1152
|
|
|
1153
|
-
if (Device.os.ios) {
|
|
1153
|
+
if (Device.os.ios /*iPhone*/ || (Device.os.macintosh && !Device.system.desktop) /*iPad*/) {
|
|
1154
1154
|
sap.ui.require(["sap/ui/table/extensions/ScrollingIOS"], function(ScrollingIOSExtension) {
|
|
1155
1155
|
if (!this.bIsDestroyed) {
|
|
1156
1156
|
ExtensionBase.enrich(this, ScrollingIOSExtension);
|
|
@@ -1826,21 +1826,11 @@ sap.ui.define([
|
|
|
1826
1826
|
};
|
|
1827
1827
|
|
|
1828
1828
|
Table.prototype.setFirstVisibleRow = function(iRowIndex) {
|
|
1829
|
-
if (iRowIndex
|
|
1830
|
-
iRowIndex = 0;
|
|
1831
|
-
} else if (iRowIndex < 0) {
|
|
1829
|
+
if (iRowIndex < 0) {
|
|
1832
1830
|
Log.error("The index of the first visible row must be greater than or equal to 0. The value has been set to 0.", this);
|
|
1833
|
-
iRowIndex = 0;
|
|
1834
|
-
} else if (this._bContextsAvailable) {
|
|
1835
|
-
const iMaxRowIndex = this._getMaxFirstVisibleRowIndex();
|
|
1836
|
-
|
|
1837
|
-
if (iMaxRowIndex < iRowIndex) {
|
|
1838
|
-
Log.warning("The index of the first visible row is too high. The value has been set to " + iMaxRowIndex + ".", this);
|
|
1839
|
-
iRowIndex = iMaxRowIndex;
|
|
1840
|
-
}
|
|
1841
1831
|
}
|
|
1842
1832
|
|
|
1843
|
-
this._setFirstVisibleRowIndex(iRowIndex);
|
|
1833
|
+
this._setFirstVisibleRowIndex(this.validateProperty("firstVisibleRow", iRowIndex));
|
|
1844
1834
|
|
|
1845
1835
|
return this;
|
|
1846
1836
|
};
|
|
@@ -35,8 +35,10 @@ sap.ui.define([
|
|
|
35
35
|
*
|
|
36
36
|
* @class
|
|
37
37
|
* The TreeTable control provides a comprehensive set of features to display hierarchical data.
|
|
38
|
+
* The control can be used in combination with {@link sap.ui.model.json.JSONModel JSONModel} and {@link sap.ui.model.odata.v2.ODataModel ODataModel V2}.
|
|
39
|
+
* For a tree-table-like behavior with OData V4 services, use the {@link sap.ui.table.Table Table} control with the {@link sap.ui.table.plugins.ODataV4Hierarchy ODataV4Hierarchy} plugin.
|
|
38
40
|
* @extends sap.ui.table.Table
|
|
39
|
-
* @version 1.
|
|
41
|
+
* @version 1.141.0
|
|
40
42
|
*
|
|
41
43
|
* @constructor
|
|
42
44
|
* @public
|
|
@@ -1143,7 +1143,7 @@ sap.ui.define([
|
|
|
1143
1143
|
* @class Extension for sap.ui.table.Table which handles ACC related things.
|
|
1144
1144
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
1145
1145
|
* @author SAP SE
|
|
1146
|
-
* @version 1.
|
|
1146
|
+
* @version 1.141.0
|
|
1147
1147
|
* @constructor
|
|
1148
1148
|
* @private
|
|
1149
1149
|
* @alias sap.ui.table.extensions.Accessibility
|
|
@@ -1497,19 +1497,27 @@ sap.ui.define([
|
|
|
1497
1497
|
*/
|
|
1498
1498
|
AccExtension.prototype.getKeyboardTexts = function() {
|
|
1499
1499
|
const sSelectionMode = this.getTable().getSelectionMode();
|
|
1500
|
-
const mTexts = {
|
|
1501
|
-
rowSelect: "",
|
|
1502
|
-
rowDeselect: ""
|
|
1503
|
-
};
|
|
1504
1500
|
|
|
1505
1501
|
if (sSelectionMode === SelectionMode.None) {
|
|
1506
|
-
return
|
|
1502
|
+
return {
|
|
1503
|
+
rowSelect: "",
|
|
1504
|
+
rowDeselect: ""
|
|
1505
|
+
};
|
|
1507
1506
|
}
|
|
1508
1507
|
|
|
1509
|
-
|
|
1510
|
-
|
|
1508
|
+
return this.getSelectionTexts();
|
|
1509
|
+
};
|
|
1511
1510
|
|
|
1512
|
-
|
|
1511
|
+
/**
|
|
1512
|
+
* Retrieve the resource texts for row selection.
|
|
1513
|
+
*
|
|
1514
|
+
* @returns {{rowSelect: string, rowDeselect: string}} The resource texts for row selection.
|
|
1515
|
+
*/
|
|
1516
|
+
AccExtension.prototype.getSelectionTexts = function() {
|
|
1517
|
+
return {
|
|
1518
|
+
rowSelect: TableUtils.getResourceText("TBL_ROW_SELECT_KEY"),
|
|
1519
|
+
rowDeselect: TableUtils.getResourceText("TBL_ROW_DESELECT_KEY")
|
|
1520
|
+
};
|
|
1513
1521
|
};
|
|
1514
1522
|
|
|
1515
1523
|
/**
|
|
@@ -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.141.0
|
|
48
48
|
* @constructor
|
|
49
49
|
* @private
|
|
50
50
|
* @alias sap.ui.table.extensions.AccessibilityRender
|
|
@@ -265,7 +265,7 @@ sap.ui.define([
|
|
|
265
265
|
* @class Extension for sap.ui.table.Table which handles keyboard related things.
|
|
266
266
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
267
267
|
* @author SAP SE
|
|
268
|
-
* @version 1.
|
|
268
|
+
* @version 1.141.0
|
|
269
269
|
* @constructor
|
|
270
270
|
* @private
|
|
271
271
|
* @alias sap.ui.table.extensions.Keyboard
|
|
@@ -189,19 +189,15 @@ sap.ui.define([
|
|
|
189
189
|
for (let i = 0; i < this._aTableHeaders.length; i++) {
|
|
190
190
|
const oTableHeaderRect = this._aTableHeaders[i].getBoundingClientRect();
|
|
191
191
|
if (this._bRtlMode) {
|
|
192
|
-
// 5px for resizer width
|
|
193
|
-
if ((iPositionX < oTableHeaderRect.right - 5) && (iPositionX >= oTableHeaderRect.left)) {
|
|
192
|
+
if ((iPositionX < oTableHeaderRect.right - 5) && (iPositionX >= oTableHeaderRect.left)) { // 5px for resizer width
|
|
194
193
|
iLastHoveredColumn = i;
|
|
195
194
|
iResizerPositionX = oTableHeaderRect.left - iTableRect.left;
|
|
196
195
|
break;
|
|
197
196
|
}
|
|
198
|
-
} else {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
iResizerPositionX = oTableHeaderRect.right - iTableRect.left;
|
|
203
|
-
break;
|
|
204
|
-
}
|
|
197
|
+
} else if ((iPositionX > oTableHeaderRect.left + 5) && (iPositionX <= oTableHeaderRect.right)) { // 5px for resizer width
|
|
198
|
+
iLastHoveredColumn = i;
|
|
199
|
+
iResizerPositionX = oTableHeaderRect.right - iTableRect.left;
|
|
200
|
+
break;
|
|
205
201
|
}
|
|
206
202
|
}
|
|
207
203
|
|
|
@@ -223,6 +219,7 @@ sap.ui.define([
|
|
|
223
219
|
* Initializes the drag&drop for reordering
|
|
224
220
|
*/
|
|
225
221
|
initReordering: function(oTable, iColIndex, oEvent) {
|
|
222
|
+
oTable._getPointerExtension()._bReorderInProgress = true;
|
|
226
223
|
const oColumn = oTable.getColumns()[iColIndex];
|
|
227
224
|
const $Col = oColumn.$();
|
|
228
225
|
const $Table = oTable.$();
|
|
@@ -337,6 +334,8 @@ sap.ui.define([
|
|
|
337
334
|
* Ends the column reordering process via drag&drop.
|
|
338
335
|
*/
|
|
339
336
|
exitReordering: function(oEvent) {
|
|
337
|
+
this._getPointerExtension()._bReorderInProgress = true;
|
|
338
|
+
|
|
340
339
|
const iOldIndex = this._iDnDColIndex;
|
|
341
340
|
const iNewIndex = this._iNewColPos;
|
|
342
341
|
|
|
@@ -656,6 +655,9 @@ sap.ui.define([
|
|
|
656
655
|
oEvent.setMarked("sapUiTableHandledByPointerExtension");
|
|
657
656
|
oEvent.preventDefault(); // To prevent opening the default browser context menu.
|
|
658
657
|
delete oPointerExtension._bHideMenu;
|
|
658
|
+
} else if (oPointerExtension._bReorderInProgress) {
|
|
659
|
+
oEvent.setMarked("sapUiTableHandledByPointerExtension");
|
|
660
|
+
oEvent.preventDefault();
|
|
659
661
|
}
|
|
660
662
|
}
|
|
661
663
|
};
|
|
@@ -668,7 +670,7 @@ sap.ui.define([
|
|
|
668
670
|
* @class Extension for sap.ui.table.Table which handles mouse and touch related things.
|
|
669
671
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
670
672
|
* @author SAP SE
|
|
671
|
-
* @version 1.
|
|
673
|
+
* @version 1.141.0
|
|
672
674
|
* @constructor
|
|
673
675
|
* @private
|
|
674
676
|
* @alias sap.ui.table.extensions.Pointer
|
|
@@ -699,8 +701,11 @@ sap.ui.define([
|
|
|
699
701
|
_attachEvents: function() {
|
|
700
702
|
const oTable = this.getTable();
|
|
701
703
|
if (oTable) {
|
|
702
|
-
//
|
|
703
|
-
|
|
704
|
+
// Column resizing on touch devices is triggered via a button in the column menu.
|
|
705
|
+
if (Device.system.desktop) {
|
|
706
|
+
ColumnResizeHelper.initColumnTracking(oTable);
|
|
707
|
+
}
|
|
708
|
+
|
|
704
709
|
RowHoverHandler.initRowHovering(oTable);
|
|
705
710
|
}
|
|
706
711
|
},
|
|
@@ -737,6 +742,24 @@ sap.ui.define([
|
|
|
737
742
|
this._KNOWNCLICKABLECONTROLS = KNOWNCLICKABLECONTROLS;
|
|
738
743
|
},
|
|
739
744
|
|
|
745
|
+
/**
|
|
746
|
+
* Shows the column resizer for the given column.
|
|
747
|
+
* @param {sap.ui.table.Column} oColumn The column for which the resizer should be shown.
|
|
748
|
+
*/
|
|
749
|
+
showColumnResizer: function(oColumn) {
|
|
750
|
+
const oTable = oColumn._getTable();
|
|
751
|
+
const oDomRef = oTable.getDomRef("sapUiTableCnt");
|
|
752
|
+
const oTableRect = oDomRef.getBoundingClientRect();
|
|
753
|
+
const iColIndex = oColumn.getIndex();
|
|
754
|
+
const oColumnHeaderRect = oTable._aTableHeaders[iColIndex].getBoundingClientRect();
|
|
755
|
+
const iResizerPositionX = oTable._bRtlMode ? oColumnHeaderRect.left - oTableRect.left : oColumnHeaderRect.right - oTableRect.left;
|
|
756
|
+
|
|
757
|
+
oTable.$().toggleClass("sapUiTableResizing", true);
|
|
758
|
+
oTable._$colResize = oTable.$("rsz");
|
|
759
|
+
oTable._$colResize.toggleClass("sapUiTableColRszActive", true);
|
|
760
|
+
oTable._$colResize.css("left", iResizerPositionX + "px");
|
|
761
|
+
},
|
|
762
|
+
|
|
740
763
|
/**
|
|
741
764
|
* Initialize the basic event handling for column reordering and starts the reordering.
|
|
742
765
|
*
|
|
@@ -725,12 +725,14 @@ sap.ui.define([
|
|
|
725
725
|
};
|
|
726
726
|
|
|
727
727
|
oTable._getKeyboardExtension().setActionMode(false);
|
|
728
|
+
const oScrollExtension = oTable._getScrollExtension();
|
|
728
729
|
|
|
729
|
-
|
|
730
|
+
// No large data scrolling on touch move
|
|
731
|
+
if (oTable._bLargeDataScrolling && !oScrollExtension._bTouchScroll) {
|
|
730
732
|
_private(oTable).mTimeouts.largeDataScrolling = setTimeout(function() {
|
|
731
733
|
delete _private(oTable).mTimeouts.largeDataScrolling;
|
|
732
734
|
|
|
733
|
-
if (
|
|
735
|
+
if (oScrollExtension.getVerticalScrollbar() != null) {
|
|
734
736
|
log("VerticalScrollingHelper.performUpdateFromScrollbar (async: large data scrolling)", oTable);
|
|
735
737
|
VerticalScrollingHelper._performUpdateFromScrollbar(oTable, oProcessInterface).then(resolve);
|
|
736
738
|
} else {
|
|
@@ -746,6 +748,7 @@ sap.ui.define([
|
|
|
746
748
|
}
|
|
747
749
|
});
|
|
748
750
|
} else {
|
|
751
|
+
delete oScrollExtension._bTouchScroll;
|
|
749
752
|
VerticalScrollingHelper._performUpdateFromScrollbar(oTable, oProcessInterface).then(resolve);
|
|
750
753
|
}
|
|
751
754
|
});
|
|
@@ -1754,24 +1757,7 @@ sap.ui.define([
|
|
|
1754
1757
|
return;
|
|
1755
1758
|
}
|
|
1756
1759
|
|
|
1757
|
-
|
|
1758
|
-
const mRowCounts = oTable._getRowCounts();
|
|
1759
|
-
|
|
1760
|
-
let iOffsetBottom = 0;
|
|
1761
|
-
if (oHSb && _private(oTable).bHorizontalScrollbarRequired && oScrollExtension.isHorizontalScrollbarVisible()) {
|
|
1762
|
-
iOffsetBottom = oHSb.offsetHeight;
|
|
1763
|
-
}
|
|
1764
|
-
if (mRowCounts.fixedBottom > 0) {
|
|
1765
|
-
iOffsetBottom += mRowCounts.fixedBottom * oTable._getBaseRowHeight();
|
|
1766
|
-
}
|
|
1767
|
-
const oCreationRow = oTable.getCreationRow();
|
|
1768
|
-
if (oCreationRow) {
|
|
1769
|
-
const oCreationRowDomRef = oCreationRow.getDomRef();
|
|
1770
|
-
if (oCreationRowDomRef && oCreationRow.getVisible()) {
|
|
1771
|
-
iOffsetBottom += oCreationRowDomRef.offsetHeight;
|
|
1772
|
-
}
|
|
1773
|
-
}
|
|
1774
|
-
oVSb.style.bottom = iOffsetBottom + "px";
|
|
1760
|
+
oVSb.style.bottom = oScrollExtension.getVerticalScrollbarBottomOffset(oTable) + "px";
|
|
1775
1761
|
},
|
|
1776
1762
|
|
|
1777
1763
|
/**
|
|
@@ -2038,6 +2024,7 @@ sap.ui.define([
|
|
|
2038
2024
|
if (!mTouchSessionData.initialScrolledToEnd) {
|
|
2039
2025
|
oVSb.scrollTop = mTouchSessionData.initialScrollTop - iTouchDistanceY;
|
|
2040
2026
|
bScrollingPerformed = true;
|
|
2027
|
+
oScrollExtension._bTouchScroll = true;
|
|
2041
2028
|
}
|
|
2042
2029
|
}
|
|
2043
2030
|
break;
|
|
@@ -2327,7 +2314,7 @@ sap.ui.define([
|
|
|
2327
2314
|
* @class Extension for sap.ui.table.Table which handles scrolling.
|
|
2328
2315
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
2329
2316
|
* @author SAP SE
|
|
2330
|
-
* @version 1.
|
|
2317
|
+
* @version 1.141.0
|
|
2331
2318
|
* @constructor
|
|
2332
2319
|
* @private
|
|
2333
2320
|
* @alias sap.ui.table.extensions.Scrolling
|
|
@@ -2641,6 +2628,28 @@ sap.ui.define([
|
|
|
2641
2628
|
oVSb._scrollTop = oVSb.scrollTop;
|
|
2642
2629
|
};
|
|
2643
2630
|
|
|
2631
|
+
ScrollExtension.prototype.getVerticalScrollbarBottomOffset = function(oTable) {
|
|
2632
|
+
const oScrollExtension = oTable._getScrollExtension();
|
|
2633
|
+
const oHSb = oScrollExtension.getHorizontalScrollbar();
|
|
2634
|
+
const mRowCounts = oTable._getRowCounts();
|
|
2635
|
+
|
|
2636
|
+
let iOffsetBottom = 0;
|
|
2637
|
+
if (oHSb && _private(oTable).bHorizontalScrollbarRequired && oScrollExtension.isHorizontalScrollbarVisible()) {
|
|
2638
|
+
iOffsetBottom = oHSb.offsetHeight;
|
|
2639
|
+
}
|
|
2640
|
+
if (mRowCounts.fixedBottom > 0) {
|
|
2641
|
+
iOffsetBottom += mRowCounts.fixedBottom * oTable._getBaseRowHeight();
|
|
2642
|
+
}
|
|
2643
|
+
const oCreationRow = oTable.getCreationRow();
|
|
2644
|
+
if (oCreationRow) {
|
|
2645
|
+
const oCreationRowDomRef = oCreationRow.getDomRef();
|
|
2646
|
+
if (oCreationRowDomRef && oCreationRow.getVisible()) {
|
|
2647
|
+
iOffsetBottom += oCreationRowDomRef.offsetHeight;
|
|
2648
|
+
}
|
|
2649
|
+
}
|
|
2650
|
+
return iOffsetBottom;
|
|
2651
|
+
};
|
|
2652
|
+
|
|
2644
2653
|
/**
|
|
2645
2654
|
* Gets the vertical scroll height.
|
|
2646
2655
|
*
|
|
@@ -17,6 +17,8 @@ sap.ui.define([
|
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
+
const MIN_THUMB_HEIGHT = 25; // For better usability on touch devices the minimum height of the scroll thumb is 25px.
|
|
21
|
+
|
|
20
22
|
/**
|
|
21
23
|
* Extension for sap.ui.table.Table which displays vertical scrollbar on iOS and provides event handlers for user interaction.
|
|
22
24
|
* <b>This is an internal class that is only intended to be used inside the sap.ui.table library! Any usage outside the sap.ui.table library
|
|
@@ -27,7 +29,7 @@ sap.ui.define([
|
|
|
27
29
|
* @class Extension for sap.ui.table.Table which handles the scrollbar on iOS.
|
|
28
30
|
* @extends sap.ui.table.extensions.ExtensionBase
|
|
29
31
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
32
|
+
* @version 1.141.0
|
|
31
33
|
* @constructor
|
|
32
34
|
* @private
|
|
33
35
|
* @alias sap.ui.table.extensions.ScrollingIOS
|
|
@@ -173,12 +175,20 @@ sap.ui.define([
|
|
|
173
175
|
const oVSbIOS = this.getVerticalScrollbar();
|
|
174
176
|
|
|
175
177
|
oVSbIOS.style.height = oTable._getScrollExtension().getVerticalScrollbarHeight() + "px";
|
|
176
|
-
oVSbIOS.style.top = Math.max(0, oTable._getRowCounts().fixedTop * oTable._getBaseRowHeight() - 1) + "px";
|
|
177
178
|
|
|
179
|
+
this.updateVerticalScrollbarPosition();
|
|
178
180
|
this.updateVerticalScrollbarThumbPosition();
|
|
179
181
|
this.updateVerticalScrollbarThumbHeight();
|
|
180
182
|
};
|
|
181
183
|
|
|
184
|
+
ScrollIOSExtension.prototype.updateVerticalScrollbarPosition = function() {
|
|
185
|
+
const oTable = this.getTable();
|
|
186
|
+
const oScrollExtension = oTable._getScrollExtension();
|
|
187
|
+
const oVSbIOS = this.getVerticalScrollbar();
|
|
188
|
+
|
|
189
|
+
oVSbIOS.style.bottom = oScrollExtension.getVerticalScrollbarBottomOffset(oTable) + "px";
|
|
190
|
+
};
|
|
191
|
+
|
|
182
192
|
/**
|
|
183
193
|
* Updates the position of the vertical scroll thumb
|
|
184
194
|
*/
|
|
@@ -218,7 +228,7 @@ sap.ui.define([
|
|
|
218
228
|
const iVerticalScrollbarHeight = oScrollExtension.getVerticalScrollbarHeight();
|
|
219
229
|
const iVerticalScrollHeight = oScrollExtension.getVerticalScrollHeight();
|
|
220
230
|
|
|
221
|
-
return Math.round(Math.pow(iVerticalScrollbarHeight, 2) / iVerticalScrollHeight);
|
|
231
|
+
return Math.max(MIN_THUMB_HEIGHT, Math.round(Math.pow(iVerticalScrollbarHeight, 2) / iVerticalScrollHeight));
|
|
222
232
|
};
|
|
223
233
|
|
|
224
234
|
/**
|
|
@@ -234,7 +244,8 @@ sap.ui.define([
|
|
|
234
244
|
const oVSb = oScrollExtension.getVerticalScrollbar();
|
|
235
245
|
const iVerticalScrollTop = oVSb ? oScrollExtension.getVerticalScrollbar().scrollTop : 0;
|
|
236
246
|
|
|
237
|
-
|
|
247
|
+
const iThumbHeight = this.getCalculateThumbHeight();
|
|
248
|
+
return Math.round(iVerticalScrollTop * (iVerticalScrollbarHeight - iThumbHeight) / (iVerticalScrollHeight - iThumbHeight));
|
|
238
249
|
};
|
|
239
250
|
|
|
240
251
|
/**
|
|
@@ -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.141.0
|
|
189
189
|
* @constructor
|
|
190
190
|
* @private
|
|
191
191
|
* @alias sap.ui.table.extensions.Synchronization
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
<p>إذا كان التركيز على مقدمة العمود، فسيتم فتح قائمة مقدمة العمود.</p>
|
|
175
175
|
</description>
|
|
176
176
|
</interaction>
|
|
177
|
-
<interaction> <kbd>Shift +
|
|
177
|
+
<interaction> <kbd>Shift + MouseClick</kbd> <description>
|
|
178
178
|
<p><span class="emphasis">إذا تم تمكين تحديد الخلية:</span></p>
|
|
179
179
|
<p>في حالة تحديد الخلايا، يقوم <kbd>Shift + MouseClick</kbd> في خلية مختلفة بتحسين التحديد حتى الخلية التي تم النقر فوقها.</p>
|
|
180
180
|
</description>
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
<p>Ако фокусът е върху заглавката на колоната, менюто в заглавката се отваря.</p>
|
|
175
175
|
</description>
|
|
176
176
|
</interaction>
|
|
177
|
-
<interaction> <kbd>Shift +
|
|
177
|
+
<interaction> <kbd>Shift + MouseClick</kbd> <description>
|
|
178
178
|
<p><span class="emphasis">Ако изборът на клетка е активиран:</span></p>
|
|
179
179
|
<p>Ако са избрани клетки, <kbd>Shift + MouseClick</kbd> върху друга клетка разширява избора до кликнатата клетка.</p>
|
|
180
180
|
</description>
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
<p>Si el focus és a la capçalera de columna, s'obre el menú de la capçalera de columna.</p>
|
|
175
175
|
</description>
|
|
176
176
|
</interaction>
|
|
177
|
-
<interaction> <kbd>Shift +
|
|
177
|
+
<interaction> <kbd>Shift + MouseClick</kbd> <description>
|
|
178
178
|
<p><span class="emphasis">Si la selecció de cel·les està activada:</span></p>
|
|
179
179
|
<p>Si hi ha cel·les seleccionades, en prémer <kbd>Shift + MouseClick</kbd> en una altra cel·la, s'amplia la selecció fins a la cel·la en què s'ha fet clic.</p>
|
|
180
180
|
</description>
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
<p>Ako je fokus na zaglavlju kolone, otvara se meni zaglavlja kolone.</p>
|
|
175
175
|
</description>
|
|
176
176
|
</interaction>
|
|
177
|
-
<interaction> <kbd>Shift +
|
|
177
|
+
<interaction> <kbd>Shift + MouseClick</kbd> <description>
|
|
178
178
|
<p><span class="emphasis">Ako je odabir ćelije aktiviran:</span></p>
|
|
179
179
|
<p>Ako su ćelije odabrane, <kbd>Shift + MouseClick</kbd> na drugoj ćeliji proširuje odabir do ćelije na koju je kliknuto.</p>
|
|
180
180
|
</description>
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
<p>Je-li fokus na hlavičce sloupce, otevře se menu hlavičky sloupce.</p>
|
|
175
175
|
</description>
|
|
176
176
|
</interaction>
|
|
177
|
-
<interaction> <kbd>Shift +
|
|
177
|
+
<interaction> <kbd>Shift + MouseClick</kbd> <description>
|
|
178
178
|
<p><span class="emphasis">Když je aktivován výběr buňky:</span></p>
|
|
179
179
|
<p>Jsou-li buňky vybrány, <kbd>Shift + MouseClick</kbd> na jinou buňku rozšíří výběr až po buňku, na niž se klikne.</p>
|
|
180
180
|
</description>
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
<p>Os yw'r ffocws ar bennawd colofn, bydd dewislen pennawd y golofn yn agor.</p>
|
|
175
175
|
</description>
|
|
176
176
|
</interaction>
|
|
177
|
-
<interaction> <kbd>Shift +
|
|
177
|
+
<interaction> <kbd>Shift + MouseClick</kbd> <description>
|
|
178
178
|
<p><span class="emphasis">Os yw dewis cell wedi'i alluogi:</span></p>
|
|
179
179
|
<p>Os caiff celloedd eu dewis, bydd <kbd>Shift + MouseClick</kbd> ar gell wahanol yn ymestyn y dewis hyd at y gell y cliciwyd arni.</p>
|
|
180
180
|
</description>
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
<p>Hvis fokus er på kolonneoverskriften, åbnes kolonneoverskriftsmenuen.</p>
|
|
175
175
|
</description>
|
|
176
176
|
</interaction>
|
|
177
|
-
<interaction> <kbd>Shift +
|
|
177
|
+
<interaction> <kbd>Shift + MouseClick</kbd> <description>
|
|
178
178
|
<p><span class="emphasis">Hvis cellevalg er aktiveret:</span></p>
|
|
179
179
|
<p>Hvis celler er valgt, udvider <kbd>Shift + MouseClick</kbd> på en anden celle valget op til den klikkede celle.</p>
|
|
180
180
|
</description>
|