@openui5/sap.ui.table 1.131.0 → 1.132.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 (116) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +3 -3
  3. package/src/sap/ui/table/.library +2 -2
  4. package/src/sap/ui/table/AnalyticalColumn.js +2 -2
  5. package/src/sap/ui/table/AnalyticalColumnMenu.js +2 -2
  6. package/src/sap/ui/table/AnalyticalTable.js +21 -33
  7. package/src/sap/ui/table/Column.js +5 -2
  8. package/src/sap/ui/table/ColumnMenu.js +2 -2
  9. package/src/sap/ui/table/CreationRow.js +2 -2
  10. package/src/sap/ui/table/CreationRowRenderer.js +1 -1
  11. package/src/sap/ui/table/Row.js +5 -3
  12. package/src/sap/ui/table/RowAction.js +2 -2
  13. package/src/sap/ui/table/RowActionItem.js +2 -2
  14. package/src/sap/ui/table/RowActionRenderer.js +1 -1
  15. package/src/sap/ui/table/RowSettings.js +2 -2
  16. package/src/sap/ui/table/Table.js +44 -44
  17. package/src/sap/ui/table/TablePersoController.js +2 -2
  18. package/src/sap/ui/table/TableRenderer.js +1 -4
  19. package/src/sap/ui/table/TreeTable.js +2 -2
  20. package/src/sap/ui/table/designtime/AnalyticalTable.designtime.js +1 -1
  21. package/src/sap/ui/table/designtime/Table.designtime.js +1 -1
  22. package/src/sap/ui/table/designtime/library.designtime.js +1 -1
  23. package/src/sap/ui/table/extensions/Accessibility.js +2 -2
  24. package/src/sap/ui/table/extensions/AccessibilityRender.js +2 -2
  25. package/src/sap/ui/table/extensions/DragAndDrop.js +2 -2
  26. package/src/sap/ui/table/extensions/ExtensionBase.js +2 -2
  27. package/src/sap/ui/table/extensions/Keyboard.js +2 -2
  28. package/src/sap/ui/table/extensions/KeyboardDelegate.js +2 -2
  29. package/src/sap/ui/table/extensions/Pointer.js +2 -2
  30. package/src/sap/ui/table/extensions/Scrolling.js +2 -2
  31. package/src/sap/ui/table/extensions/ScrollingIOS.js +2 -2
  32. package/src/sap/ui/table/extensions/Synchronization.js +2 -2
  33. package/src/sap/ui/table/library.js +12 -12
  34. package/src/sap/ui/table/library.support.js +1 -1
  35. package/src/sap/ui/table/menus/AnalyticalTableContextMenu.js +299 -0
  36. package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +2 -2
  37. package/src/sap/ui/table/menus/ContextMenu.js +154 -0
  38. package/src/sap/ui/table/menus/LegacyColumnMenuAdapter.js +1 -1
  39. package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +2 -2
  40. package/src/sap/ui/table/messagebundle_ar.properties +0 -4
  41. package/src/sap/ui/table/messagebundle_bg.properties +0 -4
  42. package/src/sap/ui/table/messagebundle_ca.properties +0 -4
  43. package/src/sap/ui/table/messagebundle_cnr.properties +0 -4
  44. package/src/sap/ui/table/messagebundle_cs.properties +0 -4
  45. package/src/sap/ui/table/messagebundle_cy.properties +0 -4
  46. package/src/sap/ui/table/messagebundle_da.properties +0 -4
  47. package/src/sap/ui/table/messagebundle_de.properties +0 -4
  48. package/src/sap/ui/table/messagebundle_el.properties +0 -4
  49. package/src/sap/ui/table/messagebundle_en.properties +0 -4
  50. package/src/sap/ui/table/messagebundle_en_GB.properties +0 -4
  51. package/src/sap/ui/table/messagebundle_en_US_saptrc.properties +91 -72
  52. package/src/sap/ui/table/messagebundle_es.properties +0 -4
  53. package/src/sap/ui/table/messagebundle_es_MX.properties +0 -4
  54. package/src/sap/ui/table/messagebundle_et.properties +0 -4
  55. package/src/sap/ui/table/messagebundle_fi.properties +0 -4
  56. package/src/sap/ui/table/messagebundle_fr.properties +0 -4
  57. package/src/sap/ui/table/messagebundle_fr_CA.properties +0 -4
  58. package/src/sap/ui/table/messagebundle_hi.properties +0 -4
  59. package/src/sap/ui/table/messagebundle_hr.properties +0 -4
  60. package/src/sap/ui/table/messagebundle_hu.properties +0 -4
  61. package/src/sap/ui/table/messagebundle_id.properties +0 -4
  62. package/src/sap/ui/table/messagebundle_it.properties +0 -4
  63. package/src/sap/ui/table/messagebundle_iw.properties +0 -4
  64. package/src/sap/ui/table/messagebundle_ja.properties +0 -4
  65. package/src/sap/ui/table/messagebundle_kk.properties +0 -4
  66. package/src/sap/ui/table/messagebundle_ko.properties +0 -4
  67. package/src/sap/ui/table/messagebundle_lt.properties +0 -4
  68. package/src/sap/ui/table/messagebundle_lv.properties +0 -4
  69. package/src/sap/ui/table/messagebundle_mk.properties +0 -4
  70. package/src/sap/ui/table/messagebundle_ms.properties +0 -4
  71. package/src/sap/ui/table/messagebundle_nl.properties +0 -4
  72. package/src/sap/ui/table/messagebundle_no.properties +0 -4
  73. package/src/sap/ui/table/messagebundle_pl.properties +0 -4
  74. package/src/sap/ui/table/messagebundle_pt.properties +0 -4
  75. package/src/sap/ui/table/messagebundle_pt_PT.properties +0 -4
  76. package/src/sap/ui/table/messagebundle_ro.properties +0 -4
  77. package/src/sap/ui/table/messagebundle_ru.properties +0 -4
  78. package/src/sap/ui/table/messagebundle_sh.properties +0 -4
  79. package/src/sap/ui/table/messagebundle_sk.properties +0 -4
  80. package/src/sap/ui/table/messagebundle_sl.properties +0 -4
  81. package/src/sap/ui/table/messagebundle_sr.properties +0 -4
  82. package/src/sap/ui/table/messagebundle_sv.properties +0 -4
  83. package/src/sap/ui/table/messagebundle_th.properties +0 -4
  84. package/src/sap/ui/table/messagebundle_tr.properties +0 -4
  85. package/src/sap/ui/table/messagebundle_uk.properties +0 -4
  86. package/src/sap/ui/table/messagebundle_vi.properties +0 -4
  87. package/src/sap/ui/table/messagebundle_zh_CN.properties +0 -4
  88. package/src/sap/ui/table/messagebundle_zh_TW.properties +0 -4
  89. package/src/sap/ui/table/plugins/BindingSelection.js +2 -2
  90. package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +2 -2
  91. package/src/sap/ui/table/plugins/ODataV4Selection.js +2 -1
  92. package/src/sap/ui/table/plugins/PluginBase.js +2 -2
  93. package/src/sap/ui/table/plugins/SelectionModelSelection.js +2 -2
  94. package/src/sap/ui/table/plugins/SelectionPlugin.js +2 -2
  95. package/src/sap/ui/table/plugins/V4Aggregation.js +2 -2
  96. package/src/sap/ui/table/rowmodes/Auto.js +2 -2
  97. package/src/sap/ui/table/rowmodes/Fixed.js +2 -2
  98. package/src/sap/ui/table/rowmodes/Interactive.js +2 -2
  99. package/src/sap/ui/table/rowmodes/RowMode.js +2 -2
  100. package/src/sap/ui/table/rowmodes/Type.js +1 -1
  101. package/src/sap/ui/table/rowmodes/Variable.js +2 -2
  102. package/src/sap/ui/table/rules/Accessibility.support.js +1 -1
  103. package/src/sap/ui/table/rules/Binding.support.js +1 -1
  104. package/src/sap/ui/table/rules/ColumnTemplate.support.js +1 -1
  105. package/src/sap/ui/table/rules/Plugins.support.js +1 -1
  106. package/src/sap/ui/table/rules/Rows.support.js +1 -1
  107. package/src/sap/ui/table/rules/TableHelper.support.js +1 -1
  108. package/src/sap/ui/table/themes/base/library.source.less +1 -1
  109. package/src/sap/ui/table/themes/sap_hcb/library.source.less +1 -1
  110. package/src/sap/ui/table/utils/TableUtils.js +4 -42
  111. package/src/sap/ui/table/utils/_BindingUtils.js +2 -2
  112. package/src/sap/ui/table/utils/_ColumnUtils.js +2 -2
  113. package/src/sap/ui/table/utils/_GroupingUtils.js +2 -2
  114. package/src/sap/ui/table/utils/_HookUtils.js +2 -12
  115. package/src/sap/ui/table/utils/_MenuUtils.js +22 -106
  116. package/src/sap/ui/table/menus/GroupHeaderContextMenuAdapter.js +0 -332
package/THIRDPARTY.txt CHANGED
@@ -468,7 +468,7 @@ License: Apache-2.0
468
468
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
469
469
  Contained in: lib/jsdoc/ui5/plugin.js
470
470
 
471
- Component: SAP Theming Base Content, version: 11.22.0
471
+ Component: SAP Theming Base Content, version: 11.24.0
472
472
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
473
473
  License: Apache-2.0
474
474
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.table",
3
- "version": "1.131.0",
3
+ "version": "1.132.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.131.0",
18
- "@openui5/sap.ui.unified": "1.131.0"
17
+ "@openui5/sap.ui.core": "1.132.0",
18
+ "@openui5/sap.ui.unified": "1.132.0"
19
19
  }
20
20
  }
@@ -4,9 +4,9 @@
4
4
  <name>sap.ui.table</name>
5
5
  <vendor>SAP SE</vendor>
6
6
  <copyright>OpenUI5
7
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
7
+ * (c) Copyright 2009-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.131.0</version>
9
+ <version>1.132.0</version>
10
10
 
11
11
  <documentation>Table-like controls, mainly for desktop scenarios.</documentation>
12
12
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  * @extends sap.ui.table.Column
48
48
  *
49
49
  * @author SAP SE
50
- * @version 1.131.0
50
+ * @version 1.132.0
51
51
  *
52
52
  * @constructor
53
53
  * @public
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -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.131.0
23
+ * @version 1.132.0
24
24
  *
25
25
  * @constructor
26
26
  * @public
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -11,7 +11,7 @@ sap.ui.define([
11
11
  "./Table",
12
12
  "./TreeTable",
13
13
  "./TableRenderer",
14
- "./menus/GroupHeaderContextMenuAdapter",
14
+ "./menus/AnalyticalTableContextMenu",
15
15
  "sap/ui/core/Element",
16
16
  "sap/ui/model/analytics/ODataModelAdapter",
17
17
  "./utils/TableUtils",
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  Table,
26
26
  TreeTable,
27
27
  TableRenderer,
28
- GroupHeaderContextMenuAdapter,
28
+ AnalyticalTableContextMenu,
29
29
  Element,
30
30
  ODataModelAdapter,
31
31
  TableUtils,
@@ -50,7 +50,7 @@ sap.ui.define([
50
50
  * @see https://github.com/SAP/odata-vocabularies/blob/main/docs/v2-annotations.md
51
51
  *
52
52
  * @extends sap.ui.table.Table
53
- * @version 1.131.0
53
+ * @version 1.132.0
54
54
  *
55
55
  * @constructor
56
56
  * @public
@@ -160,6 +160,9 @@ sap.ui.define([
160
160
  /**
161
161
  * If set to <code>true</code>, the full set of <code>MenuItem</code> instances is shown in the group header menu. The value
162
162
  * <code>false</code> means that only a reduced set of group header menu items is shown.
163
+ *
164
+ * @private
165
+ * @ui5-private sap.ui.comp.smarttable.SmartTable
163
166
  */
164
167
  extendedGroupHeaderMenu: {type: "boolean", group: "Behavior", defaultValue: true, visibility: "hidden"}
165
168
  },
@@ -223,31 +226,15 @@ sap.ui.define([
223
226
  });
224
227
  this._aGroupedColumns = [];
225
228
  this._bSuspendUpdateAnalyticalInfo = false;
226
- this._oGroupHeaderMenuAdapter = new GroupHeaderContextMenuAdapter(this);
227
229
 
228
230
  TableUtils.Grouping.setToDefaultGroupMode(this);
229
231
  TableUtils.Hook.register(this, TableUtils.Hook.Keys.Row.UpdateState, updateRowState, this);
230
- TableUtils.Hook.register(this, TableUtils.Hook.Keys.Table.OpenContextMenu, onOpenTableContextMenu, this);
231
232
  TableUtils.Hook.register(this, TableUtils.Hook.Keys.Row.Expand, expandRow, this);
232
233
  TableUtils.Hook.register(this, TableUtils.Hook.Keys.Row.Collapse, collapseRow, this);
233
234
 
234
235
  this._oProxy = new TreeBindingProxy(this, "rows");
235
236
  };
236
237
 
237
- AnalyticalTable.prototype.exit = function() {
238
- Table.prototype.exit.apply(this, arguments);
239
- this._oGroupHeaderMenuAdapter.destroy();
240
- };
241
-
242
- AnalyticalTable.prototype._adaptLocalization = function(bRtlChanged, bLangChanged) {
243
- return Table.prototype._adaptLocalization.apply(this, arguments).then(function() {
244
- if (bLangChanged) {
245
- this._oGroupHeaderMenuAdapter.destroy();
246
- this._oGroupHeaderMenuAdapter = new GroupHeaderContextMenuAdapter(this);
247
- }
248
- }.bind(this));
249
- };
250
-
251
238
  AnalyticalTable.prototype.setFixedRowCount = function() {
252
239
  Log.error("The property fixedRowCount is not supported by control sap.ui.table.AnalyticalTable!");
253
240
  return this;
@@ -517,18 +504,6 @@ sap.ui.define([
517
504
  }
518
505
  };
519
506
 
520
- function onOpenTableContextMenu(oCellInfo, oMenu) {
521
- const oRow = oCellInfo.isOfType(TableUtils.CELLTYPE.ANYCONTENTCELL) ? this.getRows()[oCellInfo.rowIndex] : null;
522
-
523
- if (!oRow || !oRow.isGroupHeader()) {
524
- this._oGroupHeaderMenuAdapter.removeItemsFrom(oMenu);
525
- return;
526
- }
527
-
528
- this._iGroupedLevel = oRow.getLevel();
529
- this._oGroupHeaderMenuAdapter.addItemsTo(oMenu, this.getProperty("extendedGroupHeaderMenu"));
530
- }
531
-
532
507
  /**
533
508
  * @inheritDoc
534
509
  */
@@ -1052,7 +1027,7 @@ sap.ui.define([
1052
1027
  * @param {sap.ui.table.Row} oRow The row for which the analytical information is returned
1053
1028
  * @returns {object | null} The analytical information of the given row
1054
1029
  * @private
1055
- * @ui5-restricted sap.ui.comp
1030
+ * @ui5-restricted sap.ui.comp.smarttable.SmartTable
1056
1031
  */
1057
1032
  AnalyticalTable.prototype.getAnalyticalInfoOfRow = function(oRow) {
1058
1033
  const oBinding = this.getBinding();
@@ -1106,6 +1081,19 @@ sap.ui.define([
1106
1081
  // This table sets its own constraints on the row counts.
1107
1082
  AnalyticalTable.prototype._setRowCountConstraints = function() {};
1108
1083
 
1084
+ AnalyticalTable.prototype._getDefaultContextMenu = function() {
1085
+ let oDefaultContextMenu = this.getAggregation("_hiddenDependents").find((oElement) => {
1086
+ return oElement.isA("sap.ui.table.menus.AnalyticalTableContextMenu");
1087
+ });
1088
+
1089
+ if (!oDefaultContextMenu) {
1090
+ oDefaultContextMenu = new AnalyticalTableContextMenu();
1091
+ this.addAggregation("_hiddenDependents", oDefaultContextMenu);
1092
+ }
1093
+
1094
+ return oDefaultContextMenu;
1095
+ };
1096
+
1109
1097
  // If the AnalyticalBinding is created with the parameter "useBatchRequest" set to false, an imbalance between dataRequested and
1110
1098
  // dataReceived events can occur. There will be one dataRequested event for every request that would otherwise be part of a batch
1111
1099
  // request. But still only one dataReceived event is fired after all responses are received.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -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.131.0
66
+ * @version 1.132.0
67
67
  *
68
68
  * @constructor
69
69
  * @public
@@ -125,6 +125,9 @@ sap.ui.define([
125
125
  * automatically set to <code>Ascending</code>.
126
126
  * If this property is <code>true</code> and <code>sortOrder</code> is <code>None</code>, the sort indicator is not shown.
127
127
  *
128
+ * <b>Note:</b> Even though the <code>sorted</code> property has been deprecated, is still required in the UI5 1.x versions to show the sort indicator.
129
+ * With UI5 2.x, the <code>sorted</code> property will be removed and the sort indicator will be shown based on the <code>sortOrder</code>.
130
+ *
128
131
  * @deprecated As of version 1.120, replaced by {@link sap.ui.core.SortOrder SortOrder.None} for the <code>sortOrder</code> property
129
132
  */
130
133
  sorted: {type: "boolean", group: "Appearance", defaultValue: false, deprecated: true},
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -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.131.0
43
+ * @version 1.132.0
44
44
  *
45
45
  * @constructor
46
46
  * @public
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -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.131.0
35
+ * @version 1.132.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -135,7 +135,7 @@ sap.ui.define([
135
135
  * @class
136
136
  * The row.
137
137
  * @extends sap.ui.core.Element
138
- * @version 1.131.0
138
+ * @version 1.132.0
139
139
  *
140
140
  * @constructor
141
141
  * @public
@@ -478,6 +478,7 @@ sap.ui.define([
478
478
  *
479
479
  * @returns {number} The level.
480
480
  * @private
481
+ * @ui5-private sap.ui.mdc.Table
481
482
  */
482
483
  Row.prototype.getLevel = function() {
483
484
  return state(this).level;
@@ -522,7 +523,8 @@ sap.ui.define([
522
523
  };
523
524
 
524
525
  Row.prototype.invalidate = function() {
525
- return this;
526
+ // The table takes care of rendering the rows after it has done an update. Rendering must not be triggered by the row itself, therefore
527
+ // invalidation must not bubble up to the table.
526
528
  };
527
529
 
528
530
  /**
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
  * 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.131.0
38
+ * @version 1.132.0
39
39
  *
40
40
  * @constructor
41
41
  * @public
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.131.0
27
+ * @version 1.132.0
28
28
  * @since 1.45
29
29
  *
30
30
  * @constructor
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
  * 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.131.0
30
+ * @version 1.132.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -31,6 +31,7 @@ sap.ui.define([
31
31
  "./rowmodes/Interactive",
32
32
  "./rowmodes/Auto",
33
33
  "./plugins/SelectionModelSelection",
34
+ "./menus/ContextMenu",
34
35
  "sap/ui/thirdparty/jquery",
35
36
  "sap/base/Log",
36
37
  "sap/ui/core/AnimationMode",
@@ -62,6 +63,7 @@ sap.ui.define([
62
63
  InteractiveRowMode,
63
64
  AutoRowMode,
64
65
  SelectionModelSelectionPlugin,
66
+ ContextMenu,
65
67
  jQuery,
66
68
  Log,
67
69
  AnimationMode,
@@ -102,7 +104,7 @@ sap.ui.define([
102
104
  * the data model and binding being used.
103
105
  * </p>
104
106
  * @extends sap.ui.core.Control
105
- * @version 1.131.0
107
+ * @version 1.132.0
106
108
  *
107
109
  * @constructor
108
110
  * @public
@@ -494,7 +496,7 @@ sap.ui.define([
494
496
  * If the creation row is set, the busy indicator will no longer cover the horizontal scrollbar, even if the creation row is invisible.
495
497
  *
496
498
  * @private
497
- * @ui5-private sap.ui.mdc
499
+ * @ui5-private sap.ui.mdc.Table
498
500
  */
499
501
  creationRow: {type: "sap.ui.core.Control", multiple: false, visibility: "hidden"},
500
502
 
@@ -509,7 +511,7 @@ sap.ui.define([
509
511
  * The control that is shown in case the Table has no visible columns.
510
512
  *
511
513
  * @private
512
- * @ui5-private sap.ui.mdc, sap.ui.comp
514
+ * @ui5-private sap.ui.mdc.Table, sap.ui.comp.smarttable.SmartTable
513
515
  */
514
516
  _noColumnsMessage: {type: "sap.ui.core.Control", multiple: false, visibility: "hidden"},
515
517
 
@@ -540,6 +542,19 @@ sap.ui.define([
540
542
  */
541
543
  contextMenu: {type: "sap.ui.core.IContextMenu", multiple: false},
542
544
 
545
+ // This aggregation is OK as long as it's restricted to the MDC Table. Usage is simple in that context. As soon as there are plans for
546
+ // other usages, we should think about having only the contextMenu aggregation and an enum. The enum (row type) controls where the menu
547
+ // should be opened.
548
+ /**
549
+ * Defines the context menu for group header rows.
550
+ *
551
+ * <b>Note:</b> The public event <code>beforeOpenContextMenu</code> is fired before this private context menu is opened.
552
+ *
553
+ * @private
554
+ * @ui5-private sap.ui.mdc.Table
555
+ */
556
+ groupHeaderRowContextMenu: {type: "sap.ui.core.IContextMenu", multiple: false, visibility: "hidden"},
557
+
543
558
  /**
544
559
  * Plugin section of the table. Multiple plugins are possible, but always only <b>one</b> of a certain type.
545
560
  *
@@ -1154,7 +1169,6 @@ sap.ui.define([
1154
1169
  this._detachExtensions();
1155
1170
  this._cleanUpTimers();
1156
1171
  this._detachEvents();
1157
- TableUtils.Menu.cleanupDefaultContentCellContextMenu(this);
1158
1172
  clearHideBusyIndicatorTimeout(this);
1159
1173
  delete this._aTableHeaders;
1160
1174
  };
@@ -1218,53 +1232,28 @@ sap.ui.define([
1218
1232
  const oChanges = oEvent.changes || {};
1219
1233
  const bRtlChanged = oChanges.hasOwnProperty("rtl");
1220
1234
  const bLangChanged = oChanges.hasOwnProperty("language");
1221
- this._adaptLocalization(bRtlChanged, bLangChanged).then(function() {
1222
- this.invalidate();
1223
- }.bind(this)).catch(function() {});
1224
- };
1225
-
1226
- /**
1227
- * @deprecated As of version 1.120
1228
- */
1229
- Table.prototype.onlocalizationChanged = Table.prototype.onLocalizationChanged;
1230
-
1231
- /**
1232
- * Adapts the table to localization changes. Re-rendering or invalidation of the table needs to be taken care of by the caller.
1233
- *
1234
- * @param {boolean} bRtlChanged Whether the text direction changed.
1235
- * @param {boolean} bLangChanged Whether the language changed.
1236
- * @returns {Promise} A promise on the adaptation. If no adaptation is required, because text direction and language did not change, the
1237
- * promise will be rejected.
1238
- * @private
1239
- */
1240
- Table.prototype._adaptLocalization = function(bRtlChanged, bLangChanged) {
1241
- if (!bRtlChanged && !bLangChanged) {
1242
- return Promise.reject();
1243
- }
1244
-
1245
- let pUpdateLocalizationInfo = Promise.resolve();
1246
1235
 
1247
1236
  if (bRtlChanged) {
1248
1237
  this._bRtlMode = Localization.getRTL();
1249
1238
  }
1250
1239
 
1251
1240
  if (bLangChanged) {
1252
- pUpdateLocalizationInfo = TableUtils.getResourceBundle({async: true, reload: true});
1241
+ /**
1242
+ * @deprecated As of Version 1.117
1243
+ */
1244
+ this._invalidateColumnMenus(); // Update the column menus.
1253
1245
  }
1254
1246
 
1255
- return pUpdateLocalizationInfo.then(function() {
1256
- if (bLangChanged) {
1257
- // Clear the cell context menu.
1258
- TableUtils.Menu.cleanupDefaultContentCellContextMenu(this);
1259
-
1260
- /**
1261
- * @deprecated As of Version 1.117
1262
- */
1263
- this._invalidateColumnMenus(); // Update the column menus.
1264
- }
1265
- }.bind(this));
1247
+ if (bRtlChanged || bLangChanged) {
1248
+ this.invalidate();
1249
+ }
1266
1250
  };
1267
1251
 
1252
+ /**
1253
+ * @deprecated As of version 1.120
1254
+ */
1255
+ Table.prototype.onlocalizationChanged = Table.prototype.onLocalizationChanged;
1256
+
1268
1257
  /**
1269
1258
  * Determines the row heights. For every row in the table the maximum height of all <code>tr</code> elements in the fixed and
1270
1259
  * scrollable column areas is returned.
@@ -2651,7 +2640,7 @@ sap.ui.define([
2651
2640
  * @param {sap.ui.table.CreationRow} oCreationRow Instance of the creation row
2652
2641
  * @returns {this} Reference to <code>this</code> in order to allow method chaining
2653
2642
  * @private
2654
- * @ui5-restricted sap.ui.mdc
2643
+ * @ui5-restricted sap.ui.mdc.Table
2655
2644
  */
2656
2645
  Table.prototype.setCreationRow = function(oCreationRow) {
2657
2646
  if (!TableUtils.isA(oCreationRow, "sap.ui.table.CreationRow")) {
@@ -2666,7 +2655,7 @@ sap.ui.define([
2666
2655
  *
2667
2656
  * @returns {sap.ui.table.CreationRow} oCreationRow Instance of the creation row
2668
2657
  * @private
2669
- * @ui5-restricted sap.ui.mdc
2658
+ * @ui5-restricted sap.ui.mdc.Table
2670
2659
  */
2671
2660
  Table.prototype.getCreationRow = function() {
2672
2661
  return this.getAggregation("creationRow");
@@ -4182,6 +4171,17 @@ sap.ui.define([
4182
4171
  }
4183
4172
  }
4184
4173
 
4174
+ Table.prototype._getDefaultContextMenu = function() {
4175
+ let oDefaultContextMenu = this.getAggregation("_hiddenDependents").find((oElement) => oElement.isA("sap.ui.table.menus.ContextMenu"));
4176
+
4177
+ if (!oDefaultContextMenu) {
4178
+ oDefaultContextMenu = new ContextMenu();
4179
+ this.addAggregation("_hiddenDependents", oDefaultContextMenu);
4180
+ }
4181
+
4182
+ return oDefaultContextMenu;
4183
+ };
4184
+
4185
4185
  /**
4186
4186
  * @inheritDoc
4187
4187
  */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.base.ManagedObject
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.131.0
37
+ * @version 1.132.0
38
38
  * @since 1.21.1
39
39
  *
40
40
  * @constructor
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -62,9 +62,6 @@ sap.ui.define([
62
62
  mFlexCellContentAlignment.Left = oTable._bRtlMode ? "flex-end" : "flex-start";
63
63
  mFlexCellContentAlignment.Right = oTable._bRtlMode ? "flex-start" : "flex-end";
64
64
 
65
- // The resource bundle is required for rendering. In case it is not already loaded, it should be loaded synchronously.
66
- TableUtils.getResourceBundle();
67
-
68
65
  // basic table div
69
66
  rm.openStart("div", oTable);
70
67
  oTable._getAccRenderExtension().writeAriaAttributesFor(rm, oTable, "ROOT");
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -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.131.0
45
+ * @version 1.132.0
46
46
  *
47
47
  * @constructor
48
48
  * @public
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -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.131.0
972
+ * @version 1.132.0
973
973
  * @constructor
974
974
  * @private
975
975
  * @alias sap.ui.table.extensions.Accessibility
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-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
 
@@ -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.131.0
47
+ * @version 1.132.0
48
48
  * @constructor
49
49
  * @private
50
50
  * @alias sap.ui.table.extensions.AccessibilityRender