@openui5/sap.ui.table 1.140.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 +2 -2
- 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 +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 +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/library.js +10 -10
- 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 +5 -8
- package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
- package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +1 -1
- package/src/sap/ui/table/plugins/ODataV4Aggregation.js +4 -1
- package/src/sap/ui/table/plugins/ODataV4Hierarchy.js +4 -1
- package/src/sap/ui/table/plugins/ODataV4MultiLevel.js +1 -1
- package/src/sap/ui/table/plugins/ODataV4MultiSelection.js +1 -1
- package/src/sap/ui/table/plugins/ODataV4Selection.js +1 -1
- package/src/sap/ui/table/plugins/ODataV4SingleSelection.js +1 -1
- 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 +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/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/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);
|
|
@@ -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
|
|
@@ -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
|
|
@@ -40,14 +40,14 @@ sap.ui.define([
|
|
|
40
40
|
* @namespace
|
|
41
41
|
* @alias sap.ui.table
|
|
42
42
|
* @author SAP SE
|
|
43
|
-
* @version 1.
|
|
43
|
+
* @version 1.141.0
|
|
44
44
|
* @since 0.8
|
|
45
45
|
* @public
|
|
46
46
|
*/
|
|
47
47
|
const thisLib = Library.init({
|
|
48
48
|
name: "sap.ui.table",
|
|
49
49
|
apiVersion: 2,
|
|
50
|
-
version: "1.
|
|
50
|
+
version: "1.141.0",
|
|
51
51
|
dependencies: ["sap.ui.core", "sap.ui.unified"],
|
|
52
52
|
...{
|
|
53
53
|
interactionDocumentation: true
|
|
@@ -114,7 +114,7 @@ sap.ui.define([
|
|
|
114
114
|
/**
|
|
115
115
|
* Navigation mode of the table
|
|
116
116
|
*
|
|
117
|
-
* @version 1.
|
|
117
|
+
* @version 1.141.0
|
|
118
118
|
* @enum {string}
|
|
119
119
|
* @deprecated As of version 1.38, the concept has been discarded.
|
|
120
120
|
* @public
|
|
@@ -145,7 +145,7 @@ sap.ui.define([
|
|
|
145
145
|
/**
|
|
146
146
|
* Row Action types.
|
|
147
147
|
*
|
|
148
|
-
* @version 1.
|
|
148
|
+
* @version 1.141.0
|
|
149
149
|
* @enum {string}
|
|
150
150
|
* @public
|
|
151
151
|
*/
|
|
@@ -176,7 +176,7 @@ sap.ui.define([
|
|
|
176
176
|
/**
|
|
177
177
|
* Selection behavior of the table
|
|
178
178
|
*
|
|
179
|
-
* @version 1.
|
|
179
|
+
* @version 1.141.0
|
|
180
180
|
* @enum {string}
|
|
181
181
|
* @public
|
|
182
182
|
*/
|
|
@@ -207,7 +207,7 @@ sap.ui.define([
|
|
|
207
207
|
/**
|
|
208
208
|
* Selection mode of the table
|
|
209
209
|
*
|
|
210
|
-
* @version 1.
|
|
210
|
+
* @version 1.141.0
|
|
211
211
|
* @enum {string}
|
|
212
212
|
* @public
|
|
213
213
|
*/
|
|
@@ -245,7 +245,7 @@ sap.ui.define([
|
|
|
245
245
|
/**
|
|
246
246
|
* Sort order of a column
|
|
247
247
|
*
|
|
248
|
-
* @version 1.
|
|
248
|
+
* @version 1.141.0
|
|
249
249
|
* @enum {string}
|
|
250
250
|
* @public
|
|
251
251
|
* @deprecated As of version 1.120, replaced with <code>sap.ui.core.SortOrder</code>
|
|
@@ -272,7 +272,7 @@ sap.ui.define([
|
|
|
272
272
|
/**
|
|
273
273
|
* VisibleRowCountMode of the table
|
|
274
274
|
*
|
|
275
|
-
* @version 1.
|
|
275
|
+
* @version 1.141.0
|
|
276
276
|
* @enum {string}
|
|
277
277
|
* @deprecated As of version 1.119, see the <code>rowMode</code> aggregation of <code>sap.ui.table.Table</code> for more details.
|
|
278
278
|
* @public
|
|
@@ -317,7 +317,7 @@ sap.ui.define([
|
|
|
317
317
|
*
|
|
318
318
|
* Contains IDs of shared DOM references, which should be accessible to inheriting controls via getDomRef() function.
|
|
319
319
|
*
|
|
320
|
-
* @version 1.
|
|
320
|
+
* @version 1.141.0
|
|
321
321
|
* @enum {string}
|
|
322
322
|
* @public
|
|
323
323
|
*/
|
|
@@ -418,7 +418,7 @@ sap.ui.define([
|
|
|
418
418
|
*
|
|
419
419
|
* This is an alias for {@link sap.ui.model.TreeAutoExpandMode} and kept for compatibility reasons.
|
|
420
420
|
*
|
|
421
|
-
* @version 1.
|
|
421
|
+
* @version 1.141.0
|
|
422
422
|
* @typedef {sap.ui.model.TreeAutoExpandMode}
|
|
423
423
|
* @public
|
|
424
424
|
* @deprecated As of version 1.120, replaced by <code>sap.ui.model.TreeAutoExpandMode</code>
|
|
@@ -57,7 +57,7 @@ sap.ui.define([
|
|
|
57
57
|
*
|
|
58
58
|
* @extends sap.ui.table.menus.ColumnHeaderMenuAdapter
|
|
59
59
|
* @author SAP SE
|
|
60
|
-
* @version 1.
|
|
60
|
+
* @version 1.141.0
|
|
61
61
|
* @private
|
|
62
62
|
* @alias sap.ui.table.menus.MobileColumnHeaderMenuAdapter
|
|
63
63
|
*/
|
|
@@ -399,7 +399,7 @@ sap.ui.define([
|
|
|
399
399
|
MobileColumnHeaderMenuAdapter.prototype._prepareQuickResize = function(oColumn) {
|
|
400
400
|
if (!Device.system.desktop && oColumn.getResizable()) {
|
|
401
401
|
if (!this._oQuickResize) {
|
|
402
|
-
this._oQuickResize = this._createQuickResize(
|
|
402
|
+
this._oQuickResize = this._createQuickResize();
|
|
403
403
|
}
|
|
404
404
|
this._oQuickResize.setVisible(true);
|
|
405
405
|
} else if (this._oQuickResize) {
|
|
@@ -407,7 +407,7 @@ sap.ui.define([
|
|
|
407
407
|
}
|
|
408
408
|
};
|
|
409
409
|
|
|
410
|
-
MobileColumnHeaderMenuAdapter.prototype._createQuickResize = function(
|
|
410
|
+
MobileColumnHeaderMenuAdapter.prototype._createQuickResize = function() {
|
|
411
411
|
const oSapMResourceBundle = Library.getResourceBundleFor("sap.m");
|
|
412
412
|
const sLabel = oSapMResourceBundle.getText("table.COLUMNMENU_RESIZE");
|
|
413
413
|
|
|
@@ -417,7 +417,7 @@ sap.ui.define([
|
|
|
417
417
|
icon: "sap-icon://resize-horizontal",
|
|
418
418
|
tooltip: sLabel,
|
|
419
419
|
press: [function(oEvent) {
|
|
420
|
-
this._startColumnResize(
|
|
420
|
+
this._startColumnResize(this._oColumn);
|
|
421
421
|
this._oMenu.close();
|
|
422
422
|
}, this]
|
|
423
423
|
})
|
|
@@ -425,10 +425,7 @@ sap.ui.define([
|
|
|
425
425
|
};
|
|
426
426
|
|
|
427
427
|
MobileColumnHeaderMenuAdapter.prototype._startColumnResize = function(oColumn) {
|
|
428
|
-
|
|
429
|
-
oTable.$().toggleClass("sapUiTableResizing", true);
|
|
430
|
-
oTable._$colResize = oTable.$("rsz");
|
|
431
|
-
oTable._$colResize.toggleClass("sapUiTableColRszActive", true);
|
|
428
|
+
oColumn._getTable()._getPointerExtension().showColumnResizer(oColumn);
|
|
432
429
|
};
|
|
433
430
|
|
|
434
431
|
MobileColumnHeaderMenuAdapter.prototype._prepareQuickResizeInput = function(oColumn) {
|
|
@@ -21,10 +21,13 @@ sap.ui.define([
|
|
|
21
21
|
*
|
|
22
22
|
* For details about data aggregation, see {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation}.
|
|
23
23
|
*
|
|
24
|
+
* In combination with the {@link sap.ui.table.Table Table} control, this plugin offers a UI for OData V4 that is similar to the one
|
|
25
|
+
* the {@link sap.ui.table.AnalyticalTable AnalyticalTable} offers for OData V2.
|
|
26
|
+
*
|
|
24
27
|
* @extends sap.ui.core.Element
|
|
25
28
|
*
|
|
26
29
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
30
|
+
* @version 1.141.0
|
|
28
31
|
*
|
|
29
32
|
* @public
|
|
30
33
|
* @since 1.140
|
|
@@ -21,10 +21,13 @@ sap.ui.define([
|
|
|
21
21
|
*
|
|
22
22
|
* For details about hierarchies, see {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation}.
|
|
23
23
|
*
|
|
24
|
+
* In combination with the {@link sap.ui.table.Table Table} control, this plugin offers a UI for OData V4 that is similar to the one
|
|
25
|
+
* the {@link sap.ui.table.TreeTable TreeTable} offers for other models.
|
|
26
|
+
*
|
|
24
27
|
* @extends sap.ui.core.Element
|
|
25
28
|
*
|
|
26
29
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
30
|
+
* @version 1.141.0
|
|
28
31
|
*
|
|
29
32
|
* @public
|
|
30
33
|
* @since 1.140
|
|
@@ -40,7 +40,7 @@ sap.ui.define([
|
|
|
40
40
|
* @public
|
|
41
41
|
*
|
|
42
42
|
* @author SAP SE
|
|
43
|
-
* @version 1.
|
|
43
|
+
* @version 1.141.0
|
|
44
44
|
*/
|
|
45
45
|
const InteractiveRowMode = RowMode.extend("sap.ui.table.rowmodes.Interactive", /** @lends sap.ui.table.rowmodes.Interactive.prototype */ {
|
|
46
46
|
metadata: {
|
|
@@ -141,6 +141,8 @@ html[data-sap-ui-animation^='on'] .sapUiTableColReorderIndicator {
|
|
|
141
141
|
|
|
142
142
|
.sapUiTableColRsz.sapUiTableColRszActive {
|
|
143
143
|
z-index: 5; /* Ensure be above Row Action Area */
|
|
144
|
+
padding: 0 12px; /* Increase clickable area (width) to 24px */
|
|
145
|
+
margin: 0 -12px;
|
|
144
146
|
}
|
|
145
147
|
|
|
146
148
|
html[dir=rtl] .sapUiTableColRsz {
|
|
@@ -156,7 +158,12 @@ html.sap-desktop .sapUiTableColRsz:hover {
|
|
|
156
158
|
|
|
157
159
|
.sapUiTableColRszActive,
|
|
158
160
|
html.sap-desktop .sapUiTableColRsz.sapUiTableColRszActive:hover {
|
|
159
|
-
background
|
|
161
|
+
background: linear-gradient(
|
|
162
|
+
to left,
|
|
163
|
+
transparent 0% 40%,
|
|
164
|
+
@_sap_ui_table_DragDrop_ColumnDnDHighlightColor 40% 60%,
|
|
165
|
+
transparent 60%
|
|
166
|
+
);
|
|
160
167
|
opacity: 1;
|
|
161
168
|
}
|
|
162
169
|
|
|
@@ -18,7 +18,7 @@ sap.ui.define([
|
|
|
18
18
|
* Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Column...</code>
|
|
19
19
|
*
|
|
20
20
|
* @author SAP SE
|
|
21
|
-
* @version 1.
|
|
21
|
+
* @version 1.141.0
|
|
22
22
|
* @namespace
|
|
23
23
|
* @alias sap.ui.table.utils._ColumnUtils
|
|
24
24
|
* @private
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Grouping...</code>
|
|
25
25
|
*
|
|
26
26
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.141.0
|
|
28
28
|
* @namespace
|
|
29
29
|
* @alias sap.ui.table.utils._GroupingUtils
|
|
30
30
|
* @private
|
|
@@ -21,7 +21,7 @@ sap.ui.define(["sap/ui/base/DataType", "sap/ui/model/ChangeReason"], function(Da
|
|
|
21
21
|
* - There is no concept for public or protected hooks. Never expose a hook directly, only indirectly as can be seen in the examples.
|
|
22
22
|
*
|
|
23
23
|
* @author SAP SE
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.141.0
|
|
25
25
|
* @namespace
|
|
26
26
|
* @alias sap.ui.table.utils._HookUtils
|
|
27
27
|
*
|
|
@@ -14,7 +14,7 @@ sap.ui.define([], function() {
|
|
|
14
14
|
* Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Menu...</code>
|
|
15
15
|
*
|
|
16
16
|
* @author SAP SE
|
|
17
|
-
* @version 1.
|
|
17
|
+
* @version 1.141.0
|
|
18
18
|
* @namespace
|
|
19
19
|
* @alias sap.ui.table.utils._MenuUtils
|
|
20
20
|
* @private
|