@openui5/sap.ui.table 1.134.0 → 1.136.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.
Files changed (82) hide show
  1. package/REUSE.toml +649 -0
  2. package/THIRDPARTY.txt +23 -23
  3. package/package.json +3 -3
  4. package/src/sap/ui/table/.library +2 -2
  5. package/src/sap/ui/table/AnalyticalColumn.js +2 -2
  6. package/src/sap/ui/table/AnalyticalColumnMenu.js +2 -2
  7. package/src/sap/ui/table/AnalyticalTable.js +4 -4
  8. package/src/sap/ui/table/Column.js +11 -3
  9. package/src/sap/ui/table/ColumnMenu.js +2 -2
  10. package/src/sap/ui/table/CreationRow.js +2 -2
  11. package/src/sap/ui/table/CreationRowRenderer.js +1 -1
  12. package/src/sap/ui/table/Row.js +24 -33
  13. package/src/sap/ui/table/RowAction.js +2 -2
  14. package/src/sap/ui/table/RowActionItem.js +2 -2
  15. package/src/sap/ui/table/RowActionRenderer.js +1 -1
  16. package/src/sap/ui/table/RowSettings.js +2 -2
  17. package/src/sap/ui/table/Table.js +71 -113
  18. package/src/sap/ui/table/TablePersoController.js +2 -2
  19. package/src/sap/ui/table/TableRenderer.js +15 -16
  20. package/src/sap/ui/table/TreeTable.js +2 -2
  21. package/src/sap/ui/table/designtime/AnalyticalTable.designtime.js +1 -1
  22. package/src/sap/ui/table/designtime/Table.designtime.js +1 -1
  23. package/src/sap/ui/table/designtime/library.designtime.js +1 -1
  24. package/src/sap/ui/table/extensions/Accessibility.js +8 -7
  25. package/src/sap/ui/table/extensions/AccessibilityRender.js +3 -4
  26. package/src/sap/ui/table/extensions/DragAndDrop.js +2 -2
  27. package/src/sap/ui/table/extensions/ExtensionBase.js +2 -2
  28. package/src/sap/ui/table/extensions/Keyboard.js +2 -2
  29. package/src/sap/ui/table/extensions/KeyboardDelegate.js +157 -402
  30. package/src/sap/ui/table/extensions/Pointer.js +4 -6
  31. package/src/sap/ui/table/extensions/Scrolling.js +47 -22
  32. package/src/sap/ui/table/extensions/ScrollingIOS.js +2 -2
  33. package/src/sap/ui/table/extensions/Synchronization.js +2 -2
  34. package/src/sap/ui/table/i18n/interaction.xml +254 -0
  35. package/src/sap/ui/table/library.js +15 -36
  36. package/src/sap/ui/table/library.support.js +1 -1
  37. package/src/sap/ui/table/menus/AnalyticalTableContextMenu.js +2 -2
  38. package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +2 -2
  39. package/src/sap/ui/table/menus/ContextMenu.js +2 -2
  40. package/src/sap/ui/table/menus/LegacyColumnMenuAdapter.js +1 -1
  41. package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +2 -2
  42. package/src/sap/ui/table/messagebundle_bg.properties +1 -1
  43. package/src/sap/ui/table/plugins/BindingSelection.js +34 -34
  44. package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +38 -32
  45. package/src/sap/ui/table/plugins/ODataV4Selection.js +217 -101
  46. package/src/sap/ui/table/plugins/PluginBase.js +53 -140
  47. package/src/sap/ui/table/plugins/SelectionMode.js +35 -0
  48. package/src/sap/ui/table/plugins/SelectionModelSelection.js +29 -36
  49. package/src/sap/ui/table/plugins/SelectionPlugin.js +36 -36
  50. package/src/sap/ui/table/plugins/V4Aggregation.js +31 -38
  51. package/src/sap/ui/table/rowmodes/Auto.js +2 -2
  52. package/src/sap/ui/table/rowmodes/Fixed.js +2 -2
  53. package/src/sap/ui/table/rowmodes/Interactive.js +2 -2
  54. package/src/sap/ui/table/rowmodes/RowMode.js +2 -4
  55. package/src/sap/ui/table/rowmodes/Type.js +1 -1
  56. package/src/sap/ui/table/rowmodes/Variable.js +2 -2
  57. package/src/sap/ui/table/rules/Accessibility.support.js +1 -1
  58. package/src/sap/ui/table/rules/Binding.support.js +1 -1
  59. package/src/sap/ui/table/rules/ColumnTemplate.support.js +1 -1
  60. package/src/sap/ui/table/rules/Plugins.support.js +1 -1
  61. package/src/sap/ui/table/rules/Rows.support.js +1 -1
  62. package/src/sap/ui/table/rules/TableHelper.support.js +1 -1
  63. package/src/sap/ui/table/themes/base/Cell.less +66 -48
  64. package/src/sap/ui/table/themes/base/CreationRow.less +10 -8
  65. package/src/sap/ui/table/themes/base/DragDrop.less +34 -31
  66. package/src/sap/ui/table/themes/base/Grouping.less +23 -14
  67. package/src/sap/ui/table/themes/base/Row.less +6 -6
  68. package/src/sap/ui/table/themes/base/RowAction.less +2 -2
  69. package/src/sap/ui/table/themes/base/RowHighlight.less +15 -15
  70. package/src/sap/ui/table/themes/base/RowSelection.less +13 -8
  71. package/src/sap/ui/table/themes/base/Scrolling.less +76 -25
  72. package/src/sap/ui/table/themes/base/Table.less +63 -46
  73. package/src/sap/ui/table/themes/base/library.source.less +4 -4
  74. package/src/sap/ui/table/themes/sap_hcb/library.source.less +1 -1
  75. package/src/sap/ui/table/utils/TableUtils.js +6 -7
  76. package/src/sap/ui/table/utils/_BindingUtils.js +2 -2
  77. package/src/sap/ui/table/utils/_ColumnUtils.js +2 -2
  78. package/src/sap/ui/table/utils/_GroupingUtils.js +2 -2
  79. package/src/sap/ui/table/utils/_HookUtils.js +2 -2
  80. package/src/sap/ui/table/utils/_MenuUtils.js +2 -2
  81. package/ui5.yaml +1 -1
  82. package/.reuse/dep5 +0 -471
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -67,14 +67,12 @@ sap.ui.define([
67
67
  */
68
68
  _handleClickSelection: function(oEvent, $Cell, oTable) {
69
69
  TableUtils.toggleRowSelection(oTable, $Cell, null, function(oRow) {
70
- const oSelectionPlugin = oTable._getSelectionPlugin();
71
-
72
70
  if (oEvent.shiftKey) { // Range
73
- oSelectionPlugin.setSelected(oRow, true, {range: true});
71
+ oTable._getSelectionPlugin().setSelected(oRow, true, {range: true});
74
72
  } else if (oTable._legacyMultiSelection) {
75
73
  oTable._legacyMultiSelection(oRow.getIndex(), oEvent);
76
74
  } else {
77
- oSelectionPlugin.setSelected(oRow, !oSelectionPlugin.isSelected(oRow));
75
+ oRow._setSelected(!oRow._isSelected());
78
76
  }
79
77
  });
80
78
  }
@@ -670,7 +668,7 @@ sap.ui.define([
670
668
  * @class Extension for sap.ui.table.Table which handles mouse and touch related things.
671
669
  * @extends sap.ui.table.extensions.ExtensionBase
672
670
  * @author SAP SE
673
- * @version 1.134.0
671
+ * @version 1.136.0
674
672
  * @constructor
675
673
  * @private
676
674
  * @alias sap.ui.table.extensions.Pointer
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -470,6 +470,7 @@ sap.ui.define([
470
470
  }
471
471
 
472
472
  const bHorizontalScrollbarRequired = iColsWidth > mTableSizes.tableCtrlScrWidth;
473
+ _private(oTable).bHorizontalScrollbarRequired = bHorizontalScrollbarRequired;
473
474
 
474
475
  if (bHorizontalScrollbarRequired) {
475
476
  // Show the horizontal scrollbar, if it is not already visible.
@@ -1343,32 +1344,34 @@ sap.ui.define([
1343
1344
  }
1344
1345
 
1345
1346
  const oVSb = oTable._getScrollExtension().getVerticalScrollbar();
1346
- const bScrollingForward = iScrollTop > oVSb.scrollTop;
1347
1347
 
1348
1348
  if (oVSb) {
1349
1349
  log("VerticalScrollingHelper.scrollScrollbar: Scroll from " + oVSb.scrollTop + " to " + iScrollTop, oTable);
1350
+
1351
+ const bScrollingForward = iScrollTop > oVSb.scrollTop;
1352
+ let bScrolledToEnd = false;
1353
+
1350
1354
  oVSb.scrollTop = iScrollTop;
1351
1355
  oVSb._scrollTop = oVSb.scrollTop;
1352
- } else {
1353
- log("VerticalScrollingHelper.scrollScrollbar: Not scrolled - No scrollbar available", oTable);
1354
- }
1355
1356
 
1356
- let bScrolledToEnd = false;
1357
- if (bScrollingForward) {
1358
- bScrolledToEnd = Math.round(oVSb.scrollTop) === oVSb.scrollHeight - oVSb.offsetHeight;
1359
- } else {
1360
- bScrolledToEnd = oVSb.scrollTop === 0;
1361
- }
1357
+ if (bScrollingForward) {
1358
+ bScrolledToEnd = Math.round(oVSb.scrollTop) === oVSb.scrollHeight - oVSb.offsetHeight;
1359
+ } else {
1360
+ bScrolledToEnd = oVSb.scrollTop === 0;
1361
+ }
1362
1362
 
1363
- if (bScrolledToEnd && !oVSb._unblockScrolling) {
1364
- if (!oVSb._timeoutBlock) {
1365
- oVSb._timeoutBlock = setTimeout(function() {
1366
- oVSb._unblockScrolling = true;
1367
- oVSb._timeoutBlock = null;
1368
- }, SCROLL_BLOCK_TIMEOUT);
1363
+ if (bScrolledToEnd && !oVSb._unblockScrolling) {
1364
+ if (!oVSb._timeoutBlock) {
1365
+ oVSb._timeoutBlock = setTimeout(function() {
1366
+ oVSb._unblockScrolling = true;
1367
+ oVSb._timeoutBlock = null;
1368
+ }, SCROLL_BLOCK_TIMEOUT);
1369
+ }
1370
+ } else {
1371
+ oVSb._unblockScrolling = false;
1369
1372
  }
1370
1373
  } else {
1371
- oVSb._unblockScrolling = false;
1374
+ log("VerticalScrollingHelper.scrollScrollbar: Not scrolled - No scrollbar available", oTable);
1372
1375
  }
1373
1376
 
1374
1377
  return Promise.resolve();
@@ -1723,8 +1726,9 @@ sap.ui.define([
1723
1726
  * @private
1724
1727
  */
1725
1728
  onUpdateTableSizes: function(sReason) {
1726
- VerticalScrollingHelper.updateScrollbarVisibility(this);
1727
1729
  HorizontalScrollingHelper.updateScrollbar(this);
1730
+ VerticalScrollingHelper.updateScrollbarVisibility(this);
1731
+ VerticalScrollingHelper.updateScrollbarPosition(this);
1728
1732
  },
1729
1733
 
1730
1734
  updateScrollbarVisibility: function(oTable) {
@@ -1742,6 +1746,27 @@ sap.ui.define([
1742
1746
  oVSb.parentElement.classList.toggle("sapUiTableHidden", !bVerticalScrollbarRequired);
1743
1747
  },
1744
1748
 
1749
+ updateScrollbarPosition: function(oTable) {
1750
+ const oScrollExtension = oTable._getScrollExtension();
1751
+ const oVSb = oScrollExtension.getVerticalScrollbar();
1752
+
1753
+ if (!oVSb) {
1754
+ return;
1755
+ }
1756
+
1757
+ const oHSb = oScrollExtension.getHorizontalScrollbar();
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
+ oVSb.style.bottom = iOffsetBottom + "px";
1768
+ },
1769
+
1745
1770
  /**
1746
1771
  * Adds the event listeners which are required for the vertical scrolling.
1747
1772
  *
@@ -1877,7 +1902,7 @@ sap.ui.define([
1877
1902
  const oVerticalScrollPosition = _private(this).oVerticalScrollPosition;
1878
1903
 
1879
1904
  if (bScrollingForward) {
1880
- bScrolledToEnd = Math.round(oVSb.scrollTop) === oVSb.scrollHeight - oVSb.offsetHeight;
1905
+ bScrolledToEnd = Math.round(oVSb.scrollTop) === oVSb.scrollHeight - oVSb.clientHeight;
1881
1906
  } else {
1882
1907
  bScrolledToEnd = oVSb.scrollTop === 0;
1883
1908
  }
@@ -1997,7 +2022,7 @@ sap.ui.define([
1997
2022
 
1998
2023
  if (mTouchSessionData.initialScrolledToEnd == null) {
1999
2024
  if (iTouchDistanceY < 0) { // Scrolling down.
2000
- mTouchSessionData.initialScrolledToEnd = oVSb.scrollTop === oVSb.scrollHeight - oVSb.offsetHeight;
2025
+ mTouchSessionData.initialScrolledToEnd = oVSb.scrollTop === oVSb.scrollHeight - oVSb.clientHeight;
2001
2026
  } else { // Scrolling up.
2002
2027
  mTouchSessionData.initialScrolledToEnd = oVSb.scrollTop === 0;
2003
2028
  }
@@ -2295,7 +2320,7 @@ sap.ui.define([
2295
2320
  * @class Extension for sap.ui.table.Table which handles scrolling.
2296
2321
  * @extends sap.ui.table.extensions.ExtensionBase
2297
2322
  * @author SAP SE
2298
- * @version 1.134.0
2323
+ * @version 1.136.0
2299
2324
  * @constructor
2300
2325
  * @private
2301
2326
  * @alias sap.ui.table.extensions.Scrolling
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -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.134.0
30
+ * @version 1.136.0
31
31
  * @constructor
32
32
  * @private
33
33
  * @alias sap.ui.table.extensions.ScrollingIOS
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -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.134.0
188
+ * @version 1.136.0
189
189
  * @constructor
190
190
  * @private
191
191
  * @alias sap.ui.table.extensions.Synchronization
@@ -0,0 +1,254 @@
1
+ <interaction-documentation xmlns="http://schemas.sap.com/sapui5/extension/sap.ui.core.InteractionDocumentation/1"
2
+ library="sap.m">
3
+ <control-interactions>
4
+ <control name="sap.ui.table.Table"></control>
5
+ <control name="sap.ui.table.AnalyticalTable"></control>
6
+ <control name="sap.ui.table.TreeTable"></control>
7
+ <interaction>
8
+ <kbd>ArrowUp</kbd>
9
+ <kbd>ArrowDown</kbd>
10
+ <kbd>ArrowRight</kbd>
11
+ <kbd>ArrowLeft</kbd>
12
+ <description>
13
+ <p>Moves the focus to the next cell within the same column or row in the respective directions.</p>
14
+ <p><kbd>ArrowUp</kbd></p>
15
+ <p>If focus is on the first row, the focus moves to the column header.</p>
16
+ <p><kbd>ArrowDown</kbd></p>
17
+ <p>If focus is on a column header, the focus moves to the cell in the first visible row of this column, which depends on the current scroll position.</p>
18
+ <p>If focus is on the <span class="uicontrol">Select All</span> checkbox, the focus moves to the row selector in the first visible row, which depends on the current scroll position.</p>
19
+ <p><kbd>ArrowLeft</kbd></p>
20
+ <p>If focus is on a cell in the first column, the focus moves to the row selector.</p>
21
+ <p>If focus is on a column header, the focus moves to the column header to the left.</p>
22
+ <p>If focus is on the column header of the first column, the focus moves to the <span class="uicontrol">Select All</span> checkbox.</p>
23
+ <p>If focus is on the group header of an expanded group, the group is collapsed.</p>
24
+ <p><kbd>ArrowRight</kbd></p>
25
+ <p>If focus is on the column header, the focus moves to the column header to the right.</p>
26
+ <p>If focus is on the row selector, the focus moves to the cell of the first column within the same row.</p>
27
+ <p>If focus is on the <span class="uicontrol">Select All</span> checkbox, the focus moves to the column header of the first column.</p>
28
+ </description>
29
+ </interaction>
30
+ <interaction>
31
+ <kbd>PageUp</kbd>
32
+ <description>
33
+ <p>If focus is on cell level, the focus moves to the cell at the very top of the same column. If focus is already on that level, the focus moves one page up and stays on the same column with the required scrolling.</p>
34
+ <p>If focus is on the first row, the focus moves to the column header.</p>
35
+ </description>
36
+ </interaction>
37
+ <interaction>
38
+ <kbd>PageDown</kbd>
39
+ <description>
40
+ <p>If focus is on cell level, the focus moves to the last visible cell in the same column. If focus is already on that level, it moves one page down and stays on the same column with the required scrolling.</p>
41
+ <p>If focus is on the column header, the focus moves to the first row.</p>
42
+ </description>
43
+ </interaction>
44
+ <interaction>
45
+ <kbd>Alt + PageUp</kbd>
46
+ <description>
47
+ <p>If focus is on cell level or on a column header, the focus moves five columns to the left (default page size). If there are fewer columns on the left than the current page size, the focus moves to the first column.</p>
48
+ <p>If focus is on the first column on cell level, the focus moves to the row selector.</p>
49
+ <p>If focus is on the column header of the first column, the focus moves to <span class="uicontrol">Select All</span>.</p>
50
+ </description>
51
+ </interaction>
52
+ <interaction>
53
+ <kbd>Alt + PageDown</kbd>
54
+ <description>
55
+ <p>If focus is on cell level, the focus moves five columns to the right (default page size).</p>
56
+ <p>If focus is on the column header and there are fewer columns on the right than the current page size, the focus moves to the last column.</p>
57
+ <p>If focus is on the row selector, the focus moves to the first column in the same row.</p>
58
+ <p>If focus is on <span class="uicontrol">Select All</span>, the focus moves to the header of the first column.</p>
59
+ </description>
60
+ </interaction>
61
+ <interaction>
62
+ <kbd>Home</kbd>
63
+ <kbd>Pos1</kbd>
64
+ <description>
65
+ <p>If focus is on the cell, the focus moves to the first column in the same row.</p>
66
+ <p>If focus is on the cell in the first column, the focus moves to the row selector.</p>
67
+ <p>If focus is on the column header, the focus moves to the header of the first column.</p>
68
+ <p>If focus is on the first column header, the focus moves to <span class="uicontrol">Select All</span>.</p>
69
+ </description>
70
+ </interaction>
71
+ <interaction>
72
+ <kbd>End</kbd>
73
+ <description>
74
+ <p>If focus is on the cell or column header, the focus moves to the last column.</p>
75
+ <p>If focus is on the row selector, the focus moves to the first column in the same row.</p>
76
+ <p>If focus is on <span class="uicontrol">Select All</span>, the focus moves to the header of the first column.</p>
77
+ </description>
78
+ </interaction>
79
+ <interaction>
80
+ <kbd>Ctrl + Home</kbd>
81
+ <kbd>Pos1</kbd>
82
+ <description>
83
+ <p>If focus is on the cell, the focus moves to the column header.</p>
84
+ <p>If focus is on the row selector, the focus moves to <span class="uicontrol">Select All</span>.</p>
85
+ </description>
86
+ </interaction>
87
+ <interaction>
88
+ <kbd>Ctrl + End</kbd>
89
+ <description>
90
+ <p>If focus is on the cell or column header, the focus moves to the last row in the same column.</p>
91
+ <p>If focus is on the row selector or <span class="uicontrol">Select All</span>, the focus moves to the last row selector.</p>
92
+ </description>
93
+ </interaction>
94
+ <interaction>
95
+ <kbd>Enter</kbd>
96
+ <kbd>Return</kbd>
97
+ <kbd>Spacebar</kbd>
98
+ <kbd>screen tap gesture</kbd>
99
+ <description>
100
+ <p>If focus is on the cell, the focus moves to the first focusable control in the cell.</p>
101
+ <p>If focus is on <span class="uicontrol">Select All</span> checkbox or row selector, toggles the checkbox state.</p>
102
+ <p>If focus is on the column header, the column header menu is opened.</p>
103
+ <p>If focus is on the group header, the related group is collapsed or expanded.</p>
104
+ <p><kbd>Enter</kbd></p>
105
+ <p>If focus is on the group header, the group header menu is opened.</p>
106
+ <p><kbd>Spacebar</kbd></p>
107
+ <p><span class="emphasis">If cell selection is enabled:</span></p>
108
+ <p>If focus is on a cell , the focused cell is selected.</p>
109
+ <p>If focus is on a cell selection block, the selection of the cells is removed.</p>
110
+ <p>If focus is on a cell and the table has a certain configuration of the selection behavior (to select a row, you can either select the row itself or the selection checkbox if it is available), only the focused cell is selected instead of the row.</p>
111
+ <p><kbd>Shift + Spacebar</kbd></p>
112
+ <p>If focus is on a cell or row selector, this toggles the selection of the current row.</p>
113
+ <p><span class="emphasis">If cell selection is enabled:</span></p>
114
+ <p>If focus is on a cell selection block, the cell selection block is changed into a row selection. The cell selection is removed.</p>
115
+ <p>Depending on the row selection mode the following happens:</p>
116
+ <ul>
117
+ <li>All rows of the block are selected (multiple selection)</li>
118
+ <li>Only the row with the currently focused cell is selected (single selection)</li>
119
+ <li>None of the rows are selected</li>
120
+ </ul>
121
+ </description>
122
+ </interaction>
123
+ <interaction>
124
+ <kbd>ESC</kbd>
125
+ <description>
126
+ <p><span class="emphasis">If cell selection is enabled:</span></p>
127
+ <p>If focus is inside of the table and cells are selected, the selection of the cells is removed.</p>
128
+ </description>
129
+ </interaction>
130
+ <interaction>
131
+ <kbd>F2</kbd>
132
+ <description>
133
+ <p>Toggles the focus between the cell and its content (with the exception of read-only text).</p>
134
+ </description>
135
+ </interaction>
136
+ <interaction>
137
+ <kbd>Shift</kbd>
138
+ <description>
139
+ <p>If focus is on <span class="uicontrol">Select All</span> and <kbd>Spacebar</kbd> is pressed, the corresponding event is not triggered. <kbd>Shift</kbd> prevents this activity.</p>
140
+ <p>If focus is on a column header and <kbd>Spacebar</kbd> or <kbd>Enter</kbd> is pressed, the corresponding event is not triggered.</p>
141
+ </description>
142
+ </interaction>
143
+ <interaction>
144
+ <kbd>Shift + ArrowUp</kbd>
145
+ <description>
146
+ <p>If focus is on cell or row selector and the relevant row is selected, the focus moves to the row above, and the selection is enhanced up to this row.</p>
147
+ <p>If focus is on cell or row selector and the relevant row is <span class="emphasis">not</span> selected, the focus moves to the row above, and the selection is removed for this row.</p>
148
+ <p><span class="emphasis">If cell selection is enabled:</span></p>
149
+ <p>If focus is on a cell that is <span class="emphasis">not</span> selected and the row is <span class="emphasis">not</span> selected, the focused cell and the cell above are selected. The focus moves to the cell above the focused cell.</p>
150
+ <p>If focus is on a selected cell, the cell above gets the focus, and the cell selection is enhanced up to this cell.</p>
151
+ </description>
152
+ </interaction>
153
+ <interaction>
154
+ <kbd>Shift + ArrowDown</kbd>
155
+ <description>
156
+ <p>If focus is on cell or row selector and the relevant row is selected, the focus moves to the row below, and the selection is enhanced up to this row.</p>
157
+ <p>If focus is on cell or row selector and the relevant row is <span class="emphasis">not</span> selected, the focus moves to the row below, and the selection is removed for this row.</p>
158
+ <p><span class="emphasis">If cell selection is enabled:</span></p>
159
+ <p>If focus is on a cell that is <span class="emphasis">not</span> selected and the row is <span class="emphasis">not</span> selected, the focused cell and the cell below are selected. the focus moves to the cell below the focused cell.</p>
160
+ <p>If focus is on a selected cell, the cell below gets the focus, and the cell selection is enhanced up to this cell.</p>
161
+ </description>
162
+ </interaction>
163
+ <interaction>
164
+ <kbd>Shift + ArrowRight</kbd>
165
+ <description>
166
+ <p>If focus is on a column header, the width of this column is increased by 1 em. This is repeated if key remains pressed.</p>
167
+ <p><span class="emphasis">If cell selection is enabled:</span></p>
168
+ <p>If focus is on a cell that is <span class="emphasis">not</span> selected, the focused cell and the cell to the right are selected. The focus moves to the cell to the right of the focused cell.</p>
169
+ <p>If focus is on a selected cell, the cell to the right gets the focus, and the cell selection is enhanced up to this cell.</p>
170
+ </description>
171
+ </interaction>
172
+ <interaction>
173
+ <kbd>Shift + ArrowLeft</kbd>
174
+ <description>
175
+ <p>If focus is on a column header, the width of this column is decreased by 1 em. This is repeated if key remains pressed.</p>
176
+ <p><span class="emphasis">If cell selection is enabled:</span></p>
177
+ <p>If focus is on a cell that is <span class="emphasis">not</span> selected, the focused cell and the cell to the left are selected. The focus moves to the cell to the left of the focused cell.</p>
178
+ <p>If focus is on a selected cell, the cell to the left gets the focus, and the cell selection is enhanced up to this cell.</p>
179
+ </description>
180
+ </interaction>
181
+ <interaction>
182
+ <kbd>Ctrl + ArrowRight</kbd>
183
+ <description>
184
+ <p>If focus is on a column header, the relevant column moves one position to the right.</p>
185
+ </description>
186
+ </interaction>
187
+ <interaction>
188
+ <kbd>Ctrl + ArrowLeft</kbd>
189
+ <description>
190
+ <p>If focus is on a column header, the relevant column moves one position to the left.</p>
191
+ </description>
192
+ </interaction>
193
+ <interaction>
194
+ <kbd>Ctrl + ArrowUp</kbd>
195
+ <description>
196
+ <p>Moves the focus to the next focusable element in the row above.</p>
197
+ </description>
198
+ </interaction>
199
+ <interaction>
200
+ <kbd>Ctrl + ArrowDown</kbd>
201
+ <description>
202
+ <p>Moves the focus to the next focusable element in the row below.</p>
203
+ </description>
204
+ </interaction>
205
+ <interaction>
206
+ <kbd>Ctrl + A</kbd>
207
+ <description>
208
+ <p>If focus is on cell, row selector, or <span class="uicontrol">Select All</span>, this toggles the <span class="uicontrol">Select All</span> checkbox: All rows get selected or deselected respectively.</p>
209
+ </description>
210
+ </interaction>
211
+ <interaction>
212
+ <kbd>Ctrl + Shift + A</kbd>
213
+ <description>
214
+ <p><span class="emphasis">If cell selection is enabled:</span></p>
215
+ <p>If focus is inside of the table, the selection for any rows and cells is removed.</p>
216
+ </description>
217
+ </interaction>
218
+ <interaction>
219
+ <kbd>Alt + ArrowUp</kbd>
220
+ <kbd>Alt + ArrowDown</kbd>
221
+ <kbd>F4</kbd>
222
+ <description>
223
+ <p>If focus is on a cell, the focus moves to its content (with the exception of a read-only text).</p>
224
+ <p>If focus is on the group header or a non-leaf node of a tree, this toggles the expansion of the group: The group is expanded or collapsed respectively.</p>
225
+ </description>
226
+ </interaction>
227
+ <interaction>
228
+ <kbd>Shift + F10</kbd>
229
+ <description>
230
+ <p>If focus is on a group header, the group header menu is opened.</p>
231
+ <p>If focus is on a column header, the column header menu is opened.</p>
232
+ </description>
233
+ </interaction>
234
+ <interaction>
235
+ <kbd>Shift + mouse click</kbd>
236
+ <description>
237
+ <p><span class="emphasis">If cell selection is enabled:</span></p>
238
+ <p>If cells are selected, <kbd>Shift + click</kbd> on a different cell enhances the selection up to the clicked cell.</p>
239
+ </description>
240
+ </interaction>
241
+ <interaction>
242
+ <kbd>Ctrl + C</kbd>
243
+ <description>
244
+ <p>Copies the selected rows or cells to the clipboard, if available and the feature is enabled.</p>
245
+ </description>
246
+ </interaction>
247
+ <interaction>
248
+ <kbd>Ctrl + V</kbd>
249
+ <description>
250
+ <p>Pastes the content from the clipboard, if the feature is enabled.</p>
251
+ </description>
252
+ </interaction>
253
+ </control-interactions>
254
+ </interaction-documentation>
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -27,15 +27,18 @@ sap.ui.define([
27
27
  * @namespace
28
28
  * @alias sap.ui.table
29
29
  * @author SAP SE
30
- * @version 1.134.0
30
+ * @version 1.136.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.134.0",
37
+ version: "1.136.0",
38
38
  dependencies: ["sap.ui.core", "sap.ui.unified"],
39
+ ...{
40
+ interactionDocumentation: true
41
+ },
39
42
  designtime: "sap/ui/table/designtime/library.designtime",
40
43
  types: [
41
44
  /** @deprecated As of version 1.38, the concept has been discarded. */
@@ -48,8 +51,7 @@ sap.ui.define([
48
51
  /** @deprecated As of version 1.119, see the <code>rowMode</code> aggregation of <code>sap.ui.table.Table</code> for more details. */
49
52
  "sap.ui.table.VisibleRowCountMode",
50
53
  /** @deprecated As of version 1.120, replaced by <code>sap.ui.model.TreeAutoExpandMode</code> */
51
- "sap.ui.table.TreeAutoExpandMode", /*Note: Only added here to ensure that a corresponding module is created automatically. Cannot be used as type for properties!*/
52
- "sap.ui.table.plugins.SelectionMode"
54
+ "sap.ui.table.TreeAutoExpandMode" /*Note: Only added here to ensure that a corresponding module is created automatically. Cannot be used as type for properties!*/
53
55
  ],
54
56
  interfaces: [],
55
57
  controls: [
@@ -96,7 +98,7 @@ sap.ui.define([
96
98
  /**
97
99
  * Navigation mode of the table
98
100
  *
99
- * @version 1.134.0
101
+ * @version 1.136.0
100
102
  * @enum {string}
101
103
  * @deprecated As of version 1.38, the concept has been discarded.
102
104
  * @public
@@ -127,7 +129,7 @@ sap.ui.define([
127
129
  /**
128
130
  * Row Action types.
129
131
  *
130
- * @version 1.134.0
132
+ * @version 1.136.0
131
133
  * @enum {string}
132
134
  * @public
133
135
  */
@@ -158,7 +160,7 @@ sap.ui.define([
158
160
  /**
159
161
  * Selection behavior of the table
160
162
  *
161
- * @version 1.134.0
163
+ * @version 1.136.0
162
164
  * @enum {string}
163
165
  * @public
164
166
  */
@@ -189,7 +191,7 @@ sap.ui.define([
189
191
  /**
190
192
  * Selection mode of the table
191
193
  *
192
- * @version 1.134.0
194
+ * @version 1.136.0
193
195
  * @enum {string}
194
196
  * @public
195
197
  */
@@ -227,7 +229,7 @@ sap.ui.define([
227
229
  /**
228
230
  * Sort order of a column
229
231
  *
230
- * @version 1.134.0
232
+ * @version 1.136.0
231
233
  * @enum {string}
232
234
  * @public
233
235
  * @deprecated As of version 1.120, replaced with <code>sap.ui.core.SortOrder</code>
@@ -254,7 +256,7 @@ sap.ui.define([
254
256
  /**
255
257
  * VisibleRowCountMode of the table
256
258
  *
257
- * @version 1.134.0
259
+ * @version 1.136.0
258
260
  * @enum {string}
259
261
  * @deprecated As of version 1.119, see the <code>rowMode</code> aggregation of <code>sap.ui.table.Table</code> for more details.
260
262
  * @public
@@ -299,7 +301,7 @@ sap.ui.define([
299
301
  *
300
302
  * Contains IDs of shared DOM references, which should be accessible to inheriting controls via getDomRef() function.
301
303
  *
302
- * @version 1.134.0
304
+ * @version 1.136.0
303
305
  * @enum {string}
304
306
  * @public
305
307
  */
@@ -400,7 +402,7 @@ sap.ui.define([
400
402
  *
401
403
  * This is an alias for {@link sap.ui.model.TreeAutoExpandMode} and kept for compatibility reasons.
402
404
  *
403
- * @version 1.134.0
405
+ * @version 1.136.0
404
406
  * @typedef {sap.ui.model.TreeAutoExpandMode}
405
407
  * @public
406
408
  * @deprecated As of version 1.120, replaced by <code>sap.ui.model.TreeAutoExpandMode</code>
@@ -411,29 +413,6 @@ sap.ui.define([
411
413
  thisLib.plugins = {};
412
414
  }
413
415
 
414
- /**
415
- * Mode of a selection plugin
416
- *
417
- * @version 1.134.0
418
- * @enum {string}
419
- * @private
420
- */
421
- thisLib.plugins.SelectionMode = {
422
- /**
423
- * Only one row can be selected at a time.
424
- * @public
425
- */
426
- Single: "Single",
427
-
428
- /**
429
- * Multiple rows can be selected.
430
- * @public
431
- */
432
- MultiToggle: "MultiToggle"
433
- };
434
-
435
- DataType.registerEnum("sap.ui.table.plugins.SelectionMode", thisLib.plugins.SelectionMode);
436
-
437
416
  //factory for table to create labels and textviews to be overwritten by commons and mobile library
438
417
  /**
439
418
  * @deprecated As of version 1.118
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @class
36
36
  * @extends sap.ui.table.menus.ContextMenu
37
37
  * @author SAP SE
38
- * @version 1.134.0
38
+ * @version 1.136.0
39
39
  * @private
40
40
  * @alias sap.ui.table.menus.AnalyticalTableContextMenu
41
41
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  *
36
36
  * @extends sap.ui.base.Object
37
37
  * @author SAP SE
38
- * @version 1.134.0
38
+ * @version 1.136.0
39
39
  * @private
40
40
  * @alias sap.ui.table.menus.ColumnHeaderMenuAdapter
41
41
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @class
24
24
  * @extends sap.ui.core.Element
25
25
  * @author SAP SE
26
- * @version 1.134.0
26
+ * @version 1.136.0
27
27
  * @private
28
28
  * @alias sap.ui.table.menus.ContextMenu
29
29
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6