@openui5/sap.ui.table 1.124.2 → 1.126.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 (62) hide show
  1. package/.reuse/dep5 +9 -4
  2. package/THIRDPARTY.txt +13 -6
  3. package/package.json +3 -3
  4. package/src/sap/ui/table/.library +1 -1
  5. package/src/sap/ui/table/AnalyticalColumn.js +1 -1
  6. package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
  7. package/src/sap/ui/table/AnalyticalTable.js +1 -1
  8. package/src/sap/ui/table/Column.js +34 -7
  9. package/src/sap/ui/table/ColumnMenu.js +1 -1
  10. package/src/sap/ui/table/CreationRow.js +1 -1
  11. package/src/sap/ui/table/Row.js +1 -1
  12. package/src/sap/ui/table/RowAction.js +1 -1
  13. package/src/sap/ui/table/RowActionItem.js +1 -1
  14. package/src/sap/ui/table/RowSettings.js +1 -1
  15. package/src/sap/ui/table/Table.js +10 -8
  16. package/src/sap/ui/table/TablePersoController.js +1 -1
  17. package/src/sap/ui/table/TableRenderer.js +1 -2
  18. package/src/sap/ui/table/TreeTable.js +1 -1
  19. package/src/sap/ui/table/extensions/Accessibility.js +2 -2
  20. package/src/sap/ui/table/extensions/AccessibilityRender.js +1 -1
  21. package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
  22. package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
  23. package/src/sap/ui/table/extensions/Keyboard.js +2 -1
  24. package/src/sap/ui/table/extensions/KeyboardDelegate.js +9 -7
  25. package/src/sap/ui/table/extensions/Pointer.js +14 -88
  26. package/src/sap/ui/table/extensions/Scrolling.js +30 -3
  27. package/src/sap/ui/table/extensions/ScrollingIOS.js +1 -1
  28. package/src/sap/ui/table/extensions/Synchronization.js +1 -1
  29. package/src/sap/ui/table/library.js +11 -11
  30. package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
  31. package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +1 -1
  32. package/src/sap/ui/table/plugins/BindingSelection.js +7 -3
  33. package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +5 -4
  34. package/src/sap/ui/table/plugins/ODataV4Selection.js +4 -0
  35. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  36. package/src/sap/ui/table/plugins/SelectionModelSelection.js +6 -2
  37. package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
  38. package/src/sap/ui/table/plugins/V4Aggregation.js +1 -1
  39. package/src/sap/ui/table/rowmodes/Auto.js +2 -2
  40. package/src/sap/ui/table/rowmodes/Fixed.js +2 -2
  41. package/src/sap/ui/table/rowmodes/Interactive.js +1 -1
  42. package/src/sap/ui/table/rowmodes/RowMode.js +2 -2
  43. package/src/sap/ui/table/rowmodes/Variable.js +1 -1
  44. package/src/sap/ui/table/themes/sap_hcb/base_AnalyticalTable.less +38 -0
  45. package/src/sap/ui/table/themes/sap_hcb/base_Cell.less +441 -0
  46. package/src/sap/ui/table/themes/sap_hcb/base_CreationRow.less +83 -0
  47. package/src/sap/ui/table/themes/sap_hcb/base_DragDrop.less +245 -0
  48. package/src/sap/ui/table/themes/sap_hcb/base_Grouping.less +223 -0
  49. package/src/sap/ui/table/themes/sap_hcb/base_Row.less +95 -0
  50. package/src/sap/ui/table/themes/sap_hcb/base_RowAction.less +52 -0
  51. package/src/sap/ui/table/themes/sap_hcb/base_RowHighlight.less +80 -0
  52. package/src/sap/ui/table/themes/sap_hcb/base_RowSelection.less +146 -0
  53. package/src/sap/ui/table/themes/sap_hcb/base_Scrolling.less +343 -0
  54. package/src/sap/ui/table/themes/sap_hcb/base_ScrollingIOS.less +18 -0
  55. package/src/sap/ui/table/themes/sap_hcb/base_Table.less +524 -0
  56. package/src/sap/ui/table/themes/sap_hcb/library.source.less +65 -1
  57. package/src/sap/ui/table/utils/TableUtils.js +4 -5
  58. package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
  59. package/src/sap/ui/table/utils/_ColumnUtils.js +161 -37
  60. package/src/sap/ui/table/utils/_GroupingUtils.js +1 -1
  61. package/src/sap/ui/table/utils/_HookUtils.js +1 -1
  62. package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
package/.reuse/dep5 CHANGED
@@ -50,6 +50,11 @@ Copyright: Mario Heiderich
50
50
  License: Apache-2.0
51
51
  Comment: these files belong to: purify.js
52
52
 
53
+ Files: src/sap.m/test/sap/m/qunit/_thirdparty/qunit-composite.css src/sap.m/test/sap/m/qunit/_thirdparty/qunit-composite.js
54
+ Copyright: jQuery Foundation and other contributors, https://jquery.org/
55
+ License: MIT
56
+ Comment: these files belong to: QUnit Composite 2.0.0
57
+
53
58
 
54
59
  # Library: sap.ui.codeeditor:
55
60
 
@@ -379,13 +384,13 @@ Copyright: 2017 Wei Song and Oliver Nightingale
379
384
  License: MIT
380
385
  Comment: these files belong to: Elasticlunr
381
386
 
382
- Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/DataTables/DataTables-1.10.15/*
383
- Copyright: 2008-2017 SpryMedia Ltd
387
+ Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/DataTables/DataTables-2.0.1/*
388
+ Copyright: SpryMedia Ltd
384
389
  License: MIT
385
390
  Comment: these files belong to: DataTables
386
391
 
387
- Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/DataTables/Buttons-1.4.0/*
388
- Copyright: 2016 SpryMedia Ltd
392
+ Files: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/DataTables/Buttons-3.0.0/*
393
+ Copyright: SpryMedia Ltd
389
394
  License: MIT
390
395
  Comment: these files belong to: Buttons extension for DataTables
391
396
 
package/THIRDPARTY.txt CHANGED
@@ -12,6 +12,13 @@ License: Apache-2.0
12
12
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
13
13
  Contained in: src/sap.m/src/sap/m/_thirdparty/purify.js
14
14
 
15
+ Component: QUnit Composite 2.0.0, version: 2.0.0
16
+ Copyright: jQuery Foundation and other contributors, https://jquery.org/
17
+ License: MIT
18
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
19
+ Contained in: src/sap.m/test/sap/m/qunit/_thirdparty/qunit-composite.css
20
+ src/sap.m/test/sap/m/qunit/_thirdparty/qunit-composite.js
21
+
15
22
 
16
23
  Library: sap.ui.codeeditor:
17
24
 
@@ -356,17 +363,17 @@ License: MIT
356
363
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
357
364
  Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/elasticlunr.js
358
365
 
359
- Component: DataTables, version: 1.10.15
360
- Copyright: 2008-2017 SpryMedia Ltd
366
+ Component: DataTables, version: 2.0.1
367
+ Copyright: SpryMedia Ltd
361
368
  License: MIT
362
369
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
363
- Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/DataTables/DataTables-1.10.15/*
370
+ Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/DataTables/DataTables-2.0.1/*
364
371
 
365
- Component: Buttons extension for DataTables, version: 1.4.0
366
- Copyright: 2016 SpryMedia Ltd
372
+ Component: Buttons extension for DataTables, version: 3.0.0
373
+ Copyright: SpryMedia Ltd
367
374
  License: MIT
368
375
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
369
- Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/DataTables/Buttons-1.4.0/*
376
+ Contained in: src/sap.ui.documentation/src/sap/ui/documentation/sdk/thirdparty/DataTables/Buttons-3.0.0/*
370
377
 
371
378
 
372
379
  Library: sap.ui.integration:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.table",
3
- "version": "1.124.2",
3
+ "version": "1.126.0",
4
4
  "description": "OpenUI5 UI Library sap.ui.table",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,7 +14,7 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.ui.core": "1.124.2",
18
- "@openui5/sap.ui.unified": "1.124.2"
17
+ "@openui5/sap.ui.core": "1.126.0",
18
+ "@openui5/sap.ui.unified": "1.126.0"
19
19
  }
20
20
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.124.2</version>
9
+ <version>1.126.0</version>
10
10
 
11
11
  <documentation>Table-like controls, mainly for desktop scenarios.</documentation>
12
12
 
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  * @extends sap.ui.table.Column
48
48
  *
49
49
  * @author SAP SE
50
- * @version 1.124.2
50
+ * @version 1.126.0
51
51
  *
52
52
  * @constructor
53
53
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['./ColumnMenu', "sap/ui/unified/MenuRenderer", './utils/TableUtil
20
20
  * @extends sap.ui.table.ColumnMenu
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.124.2
23
+ * @version 1.126.0
24
24
  *
25
25
  * @constructor
26
26
  * @public
@@ -55,7 +55,7 @@ sap.ui.define([
55
55
  * @see https://github.com/SAP/odata-vocabularies/blob/main/docs/v2-annotations.md
56
56
  *
57
57
  * @extends sap.ui.table.Table
58
- * @version 1.124.2
58
+ * @version 1.126.0
59
59
  *
60
60
  * @constructor
61
61
  * @public
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * @class
64
64
  * The column allows you to define column specific properties that will be applied when rendering the table.
65
65
  * @extends sap.ui.core.Element
66
- * @version 1.124.2
66
+ * @version 1.126.0
67
67
  *
68
68
  * @constructor
69
69
  * @public
@@ -261,12 +261,10 @@ sap.ui.define([
261
261
  headerSpan: {type: "any", group: "Behavior", defaultValue: 1},
262
262
 
263
263
  /**
264
- * Enables auto-resizing of the column on double clicking the resize bar. The width is determined on the widest
265
- * currently displayed content. It does not consider rows which are currently not scrolled into view.
266
- * Currently only implemented to work with the following controls:
267
- * <code>sap.m.Text, sap.m.Label, sap.m.Link, sap.m.Input,
268
- * sap.ui.commons.TextView, sap.ui.commons.Label, sap.ui.commons.Link and sap.ui.commons.TextField,
269
- * sap.ui.commons.Checkbox, sap.m.CheckBox</code>
264
+ * Enables auto-resizing of the column on double-clicking the resize bar, if the column is resizable depending on the
265
+ * <code>resizable</code> property.
266
+ * See {@link #autoResize} for details about the auto-resize feature.
267
+ *
270
268
  * @since 1.21.1
271
269
  */
272
270
  autoResizable: {type: "boolean", group: "Behavior", defaultValue: false}
@@ -1293,6 +1291,35 @@ sap.ui.define([
1293
1291
  return CellMap.get(oCell) || null;
1294
1292
  };
1295
1293
 
1294
+ /**
1295
+ * The column is resized to the width of the widest cell content that is currently displayed.
1296
+ * This can be the content of a column header cell, or a data cell.
1297
+ * Only rows that are currently scrolled into view are taken into consideration.
1298
+ * The content of cells that span multiple columns is not taken into consideration, for example, if the <code>headerSpan</code> property is used.
1299
+ *
1300
+ * The width might not be accurate if the cell content is not rendered yet, for example, because the data is still being loaded.
1301
+ *
1302
+ * This behavior only works if the cell content is one of the following controls:
1303
+ * <ul>
1304
+ * <li><code>sap.m.Text</code></li>
1305
+ * <li><code>sap.m.Label</code></li>
1306
+ * <li><code>sap.m.Link</code></li>
1307
+ * <li><code>sap.m.CheckBox</code></li>
1308
+ * </ul>
1309
+ * Otherwise, the width might not be accurate either. This includes cases where the listed control is wrapped in another control.
1310
+ *
1311
+ * @throws {Error} If the column is not rendered
1312
+ * @public
1313
+ * @since 1.125
1314
+ */
1315
+ Column.prototype.autoResize = function() {
1316
+ if (!this.getDomRef()) {
1317
+ throw new Error("Column is not rendered");
1318
+ }
1319
+
1320
+ TableUtils.Column.autoResizeColumn(this);
1321
+ };
1322
+
1296
1323
  return Column;
1297
1324
 
1298
1325
  });
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @class
41
41
  * The column menu provides all common actions that can be performed on a column.
42
42
  * @extends sap.ui.unified.Menu
43
- * @version 1.124.2
43
+ * @version 1.126.0
44
44
  *
45
45
  * @constructor
46
46
  * @public
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * <code>sap.ui.commons</code> library.
33
33
  * @extends sap.ui.core.Control
34
34
  * @author SAP SE
35
- * @version 1.124.2
35
+ * @version 1.126.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -135,7 +135,7 @@ sap.ui.define([
135
135
  * @class
136
136
  * The row.
137
137
  * @extends sap.ui.core.Element
138
- * @version 1.124.2
138
+ * @version 1.126.0
139
139
  *
140
140
  * @constructor
141
141
  * @public
@@ -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.124.2
38
+ * @version 1.126.0
39
39
  *
40
40
  * @constructor
41
41
  * @public
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.124.2
27
+ * @version 1.126.0
28
28
  * @since 1.45
29
29
  *
30
30
  * @constructor
@@ -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.124.2
30
+ * @version 1.126.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -100,7 +100,7 @@ sap.ui.define([
100
100
  * the data model and binding being used.
101
101
  * </p>
102
102
  * @extends sap.ui.core.Control
103
- * @version 1.124.2
103
+ * @version 1.126.0
104
104
  *
105
105
  * @constructor
106
106
  * @public
@@ -465,7 +465,7 @@ sap.ui.define([
465
465
  * If the creation row is set, the busy indicator will no longer cover the horizontal scrollbar, even if the creation row is invisible.
466
466
  *
467
467
  * @private
468
- * @ui5-restricted sap.ui.mdc
468
+ * @ui5-private sap.ui.mdc
469
469
  */
470
470
  creationRow: {type: "sap.ui.core.Control", multiple: false, visibility: "hidden"},
471
471
 
@@ -480,7 +480,7 @@ sap.ui.define([
480
480
  * The control that is shown in case the Table has no visible columns.
481
481
  *
482
482
  * @private
483
- * @ui5-restricted sap.ui.mdc, sap.ui.comp
483
+ * @ui5-private sap.ui.mdc, sap.ui.comp
484
484
  */
485
485
  _noColumnsMessage: {type: "sap.ui.core.Control", multiple: false, visibility: "hidden"},
486
486
 
@@ -2628,9 +2628,15 @@ sap.ui.define([
2628
2628
  * @param {int} iColIndex The index of the column in the list of visible columns.
2629
2629
  * @function
2630
2630
  * @public
2631
+ * @deprecated As of version 1.125, replaced by {@link sap.ui.table.Column#autoResize}
2631
2632
  */
2632
2633
  Table.prototype.autoResizeColumn = function(iColIndex) {
2633
- this._getPointerExtension().doAutoResizeColumn(iColIndex);
2634
+ const aVisibleColumns = this._getVisibleColumns();
2635
+ const oColumn = aVisibleColumns[iColIndex];
2636
+
2637
+ if (oColumn?.getResizable() && oColumn?.getAutoResizable()) {
2638
+ oColumn.autoResize();
2639
+ }
2634
2640
  };
2635
2641
 
2636
2642
  // =============================================================================
@@ -3175,10 +3181,6 @@ sap.ui.define([
3175
3181
 
3176
3182
  $SelectAll.toggleClass("sapUiTableSelAll", !bAllRowsSelected);
3177
3183
  this._getAccExtension().setSelectAllState(bAllRowsSelected);
3178
-
3179
- const sSelectAllResourceTextID = bAllRowsSelected ? "TBL_DESELECT_ALL" : "TBL_SELECT_ALL";
3180
- const sTitle = TableUtils.getResourceText(sSelectAllResourceTextID);
3181
- $SelectAll.attr('title', sTitle);
3182
3184
  } else if (mRenderConfig.headerSelector.type === "custom") {
3183
3185
  $SelectAll.toggleClass("sapUiTableSelAllDisabled", !mRenderConfig.headerSelector.enabled);
3184
3186
 
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.base.ManagedObject
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.124.2
37
+ * @version 1.126.0
38
38
  * @since 1.21.1
39
39
  *
40
40
  * @constructor
@@ -436,8 +436,7 @@ sap.ui.define([
436
436
  const bAllRowsSelected = mRenderConfig.headerSelector.selected;
437
437
 
438
438
  if (mRenderConfig.headerSelector.type === "toggle") {
439
- const sTitle = bAllRowsSelected ? "TBL_DESELECT_ALL" : "TBL_SELECT_ALL";
440
- rm.attr("title", TableUtils.getResourceText(sTitle));
439
+ rm.attr("title", TableUtils.getResourceText("TBL_SELECT_ALL"));
441
440
  } else if (mRenderConfig.headerSelector.type === "custom") {
442
441
  const sTitle = mRenderConfig.headerSelector.tooltip;
443
442
  rm.attr("title", sTitle);
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @class
43
43
  * The TreeTable control provides a comprehensive set of features to display hierarchical data.
44
44
  * @extends sap.ui.table.Table
45
- * @version 1.124.2
45
+ * @version 1.126.0
46
46
  *
47
47
  * @constructor
48
48
  * @public
@@ -530,7 +530,7 @@ sap.ui.define([
530
530
  const aLabels = [oTable.getId() + "-colnumberofcols"].concat(mAttributes["aria-labelledby"]);
531
531
  const iSpan = oCellInfo.columnSpan;
532
532
 
533
- if (TableUtils.isA(oColumnLabel, "sap.m.Label") && oColumnLabel.getRequired()) {
533
+ if (oColumnLabel?.getRequired?.()) {
534
534
  aLabels.push(oTable.getId() + "-ariarequired");
535
535
  }
536
536
 
@@ -969,7 +969,7 @@ sap.ui.define([
969
969
  * @class Extension for sap.ui.table.Table which handles ACC related things.
970
970
  * @extends sap.ui.table.extensions.ExtensionBase
971
971
  * @author SAP SE
972
- * @version 1.124.2
972
+ * @version 1.126.0
973
973
  * @constructor
974
974
  * @private
975
975
  * @alias sap.ui.table.extensions.Accessibility
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @class Extension for sap.ui.table.TableRenderer which handles ACC related things.
45
45
  * @extends sap.ui.table.extensions.ExtensionBase
46
46
  * @author SAP SE
47
- * @version 1.124.2
47
+ * @version 1.126.0
48
48
  * @constructor
49
49
  * @private
50
50
  * @alias sap.ui.table.extensions.AccessibilityRender
@@ -274,7 +274,7 @@ sap.ui.define([
274
274
  *
275
275
  * @extends sap.ui.table.extensions.ExtensionBase
276
276
  * @author SAP SE
277
- * @version 1.124.2
277
+ * @version 1.126.0
278
278
  * @constructor
279
279
  * @private
280
280
  * @alias sap.ui.table.extensions.DragAndDrop
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @abstract
20
20
  * @extends sap.ui.base.Object
21
21
  * @author SAP SE
22
- * @version 1.124.2
22
+ * @version 1.126.0
23
23
  * @constructor
24
24
  * @private
25
25
  * @alias sap.ui.table.extensions.ExtensionBase
@@ -130,6 +130,7 @@ sap.ui.define([
130
130
  * Initialize ItemNavigations (content and header) and transfer relevant dom elements.
131
131
  * TabIndexes are set by the ItemNavigation.
132
132
  */
133
+ // eslint-disable-next-line complexity
133
134
  _initItemNavigation: function(oExtension, bSkipInitFocusedIndex) {
134
135
  const oTable = oExtension.getTable();
135
136
 
@@ -267,7 +268,7 @@ sap.ui.define([
267
268
  * @class Extension for sap.ui.table.Table which handles keyboard related things.
268
269
  * @extends sap.ui.table.extensions.ExtensionBase
269
270
  * @author SAP SE
270
- * @version 1.124.2
271
+ * @version 1.126.0
271
272
  * @constructor
272
273
  * @private
273
274
  * @alias sap.ui.table.extensions.Keyboard
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  *
66
66
  * @extends sap.ui.base.Object
67
67
  * @author SAP SE
68
- * @version 1.124.2
68
+ * @version 1.126.0
69
69
  * @constructor
70
70
  * @private
71
71
  * @alias sap.ui.table.extensions.KeyboardDelegate
@@ -1117,13 +1117,14 @@ sap.ui.define([
1117
1117
  } else if (KeyboardDelegate._isKeyCombination(oEvent, KeyCodes.A, ModKey.CTRL)) {
1118
1118
  oEvent.preventDefault(); // Prevent full page text selection.
1119
1119
 
1120
- if (oCellInfo.isOfType(CellType.ANYCONTENTCELL | CellType.COLUMNROWHEADER) && sSelectionMode === SelectionMode.MultiToggle) {
1120
+ if (oCellInfo.isOfType(CellType.ANYCONTENTCELL | CellType.COLUMNROWHEADER)) {
1121
1121
  oSelectionPlugin.onKeyboardShortcut("toggle", oEvent);
1122
1122
  }
1123
1123
 
1124
1124
  // Ctrl+Shift+A: Deselect all.
1125
1125
  } else if (KeyboardDelegate._isKeyCombination(oEvent, KeyCodes.A, ModKey.CTRL + ModKey.SHIFT)) {
1126
1126
  if (oCellInfo.isOfType(CellType.ANYCONTENTCELL | CellType.COLUMNROWHEADER)) {
1127
+ oEvent.preventDefault();
1127
1128
  oSelectionPlugin.onKeyboardShortcut("clear", oEvent);
1128
1129
  }
1129
1130
 
@@ -1408,7 +1409,7 @@ sap.ui.define([
1408
1409
  };
1409
1410
 
1410
1411
  KeyboardDelegate.prototype.onsapdownmodifiers = function(oEvent) {
1411
- if (oEvent.isMarked()) {
1412
+ if (oEvent.isMarked() || KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.CTRL + ModKey.ALT)) {
1412
1413
  preventItemNavigation(oEvent);
1413
1414
  return;
1414
1415
  }
@@ -1497,7 +1498,7 @@ sap.ui.define([
1497
1498
  };
1498
1499
 
1499
1500
  KeyboardDelegate.prototype.onsapupmodifiers = function(oEvent) {
1500
- if (oEvent.isMarked()) {
1501
+ if (oEvent.isMarked() || KeyboardDelegate._isKeyCombination(oEvent, null, ModKey.CTRL + ModKey.ALT)) {
1501
1502
  preventItemNavigation(oEvent);
1502
1503
  return;
1503
1504
  }
@@ -1651,8 +1652,8 @@ sap.ui.define([
1651
1652
  iColumnSpanWidth += TableUtils.Column.getColumnWidth(this, i);
1652
1653
  }
1653
1654
 
1654
- TableUtils.Column.resizeColumn(this, oCellInfo.columnIndex, iColumnSpanWidth + iResizeDelta, true, oCellInfo.columnSpan);
1655
-
1655
+ const oColumn = this.getColumns()[oCellInfo.columnIndex];
1656
+ TableUtils.Column.resizeColumn(this, oColumn, iColumnSpanWidth + iResizeDelta, true, oCellInfo.columnSpan);
1656
1657
  preventItemNavigation(oEvent);
1657
1658
  }
1658
1659
 
@@ -1722,7 +1723,8 @@ sap.ui.define([
1722
1723
  iColumnSpanWidth += TableUtils.Column.getColumnWidth(this, i);
1723
1724
  }
1724
1725
 
1725
- TableUtils.Column.resizeColumn(this, oCellInfo.columnIndex, iColumnSpanWidth + iResizeDelta, true, oCellInfo.columnSpan);
1726
+ const oColumn = this.getColumns()[oCellInfo.columnIndex];
1727
+ TableUtils.Column.resizeColumn(this, oColumn, iColumnSpanWidth + iResizeDelta, true, oCellInfo.columnSpan);
1726
1728
 
1727
1729
  preventItemNavigation(oEvent);
1728
1730
 
@@ -155,7 +155,8 @@ sap.ui.define([
155
155
  const iCalculatedColumnWidth = Math.round(iColumnWidth + iDeltaX * (this._bRtlMode ? -1 : 1)) - iPaddingAndBorder;
156
156
  const iNewColumnWidth = Math.max(iCalculatedColumnWidth, TableUtils.Column.getMinColumnWidth());
157
157
 
158
- ColumnResizeHelper._resizeColumn(this, this._iLastHoveredVisibleColumnIndex, this._bColumnResizerMoved ? iNewColumnWidth : null);
158
+ ColumnResizeHelper._cleanupColumResizing(this);
159
+ TableUtils.Column.resizeColumn(this, oColumn, this._bColumnResizerMoved ? iNewColumnWidth : null);
159
160
  },
160
161
 
161
162
  /*
@@ -179,8 +180,10 @@ sap.ui.define([
179
180
  }
180
181
  },
181
182
 
182
- /*
183
- * Cleans up the state which is created while resize a column via drag&drop.
183
+ /**
184
+ * Cleans up the state which is created while resizing a column via drag&drop.
185
+ *
186
+ * @param {sap.ui.table.Table} oTable Instance of the table
184
187
  */
185
188
  _cleanupColumResizing: function(oTable) {
186
189
  if (oTable._$colResize) {
@@ -198,77 +201,6 @@ sap.ui.define([
198
201
  $Document.off("mouseup.sapUiTableColumnResize");
199
202
  },
200
203
 
201
- /*
202
- * Cleans up the state which is created while resize a column via drag&drop and recalculates the new column width.
203
- */
204
- _resizeColumn: function(oTable, iColIndex, iNewWidth) {
205
- const aVisibleColumns = oTable._getVisibleColumns();
206
- let oColumn;
207
-
208
- if (iColIndex >= 0 && iColIndex < aVisibleColumns.length) {
209
- oColumn = aVisibleColumns[iColIndex];
210
- if (iNewWidth != null) {
211
- TableUtils.Column.resizeColumn(oTable, oTable.indexOfColumn(oColumn), iNewWidth);
212
- }
213
- }
214
-
215
- ColumnResizeHelper._cleanupColumResizing(oTable);
216
- oColumn.focus();
217
- },
218
-
219
- /*
220
- * Computes the optimal width for a column and changes the width if the auto resize feature is activated for the column.
221
- *
222
- * Experimental feature.
223
- */
224
- doAutoResizeColumn: function(oTable, iColIndex) {
225
- const aVisibleColumns = oTable._getVisibleColumns();
226
- let oColumn;
227
-
228
- if (iColIndex >= 0 && iColIndex < aVisibleColumns.length) {
229
- oColumn = aVisibleColumns[iColIndex];
230
- if (!oColumn.getAutoResizable() || !oColumn.getResizable()) {
231
- return;
232
- }
233
-
234
- const iNewWidth = ColumnResizeHelper._calculateAutomaticColumnWidth.apply(oTable, [oColumn, iColIndex]);
235
- if (iNewWidth) {
236
- ColumnResizeHelper._resizeColumn(oTable, iColIndex, iNewWidth);
237
- }
238
- }
239
- },
240
-
241
- /*
242
- * Calculates the widest content width of the currently visible column cells including headers.
243
- * Headers with column span are not taken into account.
244
- * @param {sap.ui.table.Column} oCol the column
245
- * @param {int} iColIndex index of the column
246
- * @returns {int} iWidth calculated column width
247
- * @private
248
- */
249
- _calculateAutomaticColumnWidth: function(oCol, iColIndex) {
250
- oCol = oCol || this.getColumns()[iColIndex];
251
- const $this = this.$();
252
- const $hiddenArea = jQuery("<div>").addClass("sapUiTableHiddenSizeDetector sapUiTableHeaderDataCell sapUiTableDataCell");
253
- $this.append($hiddenArea);
254
-
255
- // Create a copy of all visible cells in the column, including the header cells without colspan
256
- const $cells = $this.find("td[data-sap-ui-colid = \"" + oCol.getId() + "\"]:not([colspan])")
257
- .filter(function(index, element) {
258
- return element.style.display !== "none";
259
- }).children().clone();
260
- $cells.removeAttr("id"); // remove all id attributes
261
-
262
- // Determine the column width
263
- let iWidth = $hiddenArea.append($cells).width() + 4; // widest cell + 4px for borders, padding and rounding
264
- iWidth = Math.min(iWidth, $this.find(".sapUiTableCnt").width()); // no wider as the table
265
- iWidth = Math.max(iWidth + 4, TableUtils.Column.getMinColumnWidth()); // not to small
266
-
267
- $hiddenArea.remove();
268
-
269
- return iWidth;
270
- },
271
-
272
204
  /*
273
205
  * Initialize the event listener for positioning the column resize bar and computing the currently hovered column.
274
206
  */
@@ -678,7 +610,13 @@ sap.ui.define([
678
610
  ondblclick: function(oEvent) {
679
611
  if (Device.system.desktop && oEvent.target === this.getDomRef("rsz")) {
680
612
  oEvent.preventDefault();
681
- ColumnResizeHelper.doAutoResizeColumn(this, this._iLastHoveredVisibleColumnIndex);
613
+ ColumnResizeHelper._cleanupColumResizing(this);
614
+
615
+ const oColumn = this._getVisibleColumns()[this._iLastHoveredVisibleColumnIndex];
616
+
617
+ if (oColumn.getAutoResizable()) {
618
+ oColumn.autoResize();
619
+ }
682
620
  }
683
621
  },
684
622
 
@@ -765,7 +703,7 @@ sap.ui.define([
765
703
  * @class Extension for sap.ui.table.Table which handles mouse and touch related things.
766
704
  * @extends sap.ui.table.extensions.ExtensionBase
767
705
  * @author SAP SE
768
- * @version 1.124.2
706
+ * @version 1.126.0
769
707
  * @constructor
770
708
  * @private
771
709
  * @alias sap.ui.table.extensions.Pointer
@@ -835,18 +773,6 @@ sap.ui.define([
835
773
  this._KNOWNCLICKABLECONTROLS = KNOWNCLICKABLECONTROLS;
836
774
  },
837
775
 
838
- /**
839
- * Resizes the given column to its optimal width if the auto resize feature is available for this column.
840
- *
841
- * @param {int} iColIndex The index of the column to resize.
842
- */
843
- doAutoResizeColumn: function(iColIndex) {
844
- const oTable = this.getTable();
845
- if (oTable) {
846
- ColumnResizeHelper.doAutoResizeColumn(oTable, iColIndex);
847
- }
848
- },
849
-
850
776
  /**
851
777
  * Initialize the basic event handling for column reordering and starts the reordering.
852
778
  *