@openui5/sap.ui.table 1.133.0 → 1.134.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 (101) hide show
  1. package/.reuse/dep5 +0 -7
  2. package/THIRDPARTY.txt +1 -22
  3. package/package.json +3 -3
  4. package/src/sap/ui/table/.library +1 -1
  5. package/src/sap/ui/table/AnalyticalColumn.js +18 -13
  6. package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
  7. package/src/sap/ui/table/AnalyticalTable.js +3 -3
  8. package/src/sap/ui/table/Column.js +1 -1
  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/CreationRowRenderer.js +2 -2
  12. package/src/sap/ui/table/Row.js +1 -1
  13. package/src/sap/ui/table/RowAction.js +1 -1
  14. package/src/sap/ui/table/RowActionItem.js +1 -1
  15. package/src/sap/ui/table/RowSettings.js +1 -1
  16. package/src/sap/ui/table/Table.js +18 -8
  17. package/src/sap/ui/table/TablePersoController.js +1 -1
  18. package/src/sap/ui/table/TableRenderer.js +48 -49
  19. package/src/sap/ui/table/TreeTable.js +3 -3
  20. package/src/sap/ui/table/extensions/Accessibility.js +535 -375
  21. package/src/sap/ui/table/extensions/AccessibilityRender.js +1 -9
  22. package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
  23. package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
  24. package/src/sap/ui/table/extensions/Keyboard.js +2 -4
  25. package/src/sap/ui/table/extensions/KeyboardDelegate.js +9 -46
  26. package/src/sap/ui/table/extensions/Pointer.js +1 -1
  27. package/src/sap/ui/table/extensions/Scrolling.js +1 -1
  28. package/src/sap/ui/table/extensions/ScrollingIOS.js +1 -1
  29. package/src/sap/ui/table/extensions/Synchronization.js +1 -1
  30. package/src/sap/ui/table/library.js +11 -11
  31. package/src/sap/ui/table/menus/AnalyticalTableContextMenu.js +1 -1
  32. package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
  33. package/src/sap/ui/table/menus/ContextMenu.js +1 -1
  34. package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +1 -1
  35. package/src/sap/ui/table/messagebundle.properties +10 -14
  36. package/src/sap/ui/table/messagebundle_ar.properties +6 -9
  37. package/src/sap/ui/table/messagebundle_bg.properties +6 -9
  38. package/src/sap/ui/table/messagebundle_ca.properties +6 -9
  39. package/src/sap/ui/table/messagebundle_cnr.properties +6 -9
  40. package/src/sap/ui/table/messagebundle_cs.properties +6 -9
  41. package/src/sap/ui/table/messagebundle_cy.properties +6 -9
  42. package/src/sap/ui/table/messagebundle_da.properties +6 -9
  43. package/src/sap/ui/table/messagebundle_de.properties +4 -7
  44. package/src/sap/ui/table/messagebundle_el.properties +5 -8
  45. package/src/sap/ui/table/messagebundle_en.properties +6 -9
  46. package/src/sap/ui/table/messagebundle_en_GB.properties +4 -7
  47. package/src/sap/ui/table/messagebundle_es.properties +6 -9
  48. package/src/sap/ui/table/messagebundle_es_MX.properties +5 -8
  49. package/src/sap/ui/table/messagebundle_et.properties +6 -9
  50. package/src/sap/ui/table/messagebundle_fi.properties +6 -9
  51. package/src/sap/ui/table/messagebundle_fr.properties +6 -9
  52. package/src/sap/ui/table/messagebundle_fr_CA.properties +6 -9
  53. package/src/sap/ui/table/messagebundle_hi.properties +6 -9
  54. package/src/sap/ui/table/messagebundle_hr.properties +6 -9
  55. package/src/sap/ui/table/messagebundle_hu.properties +6 -9
  56. package/src/sap/ui/table/messagebundle_id.properties +6 -9
  57. package/src/sap/ui/table/messagebundle_it.properties +6 -9
  58. package/src/sap/ui/table/messagebundle_iw.properties +6 -9
  59. package/src/sap/ui/table/messagebundle_ja.properties +5 -8
  60. package/src/sap/ui/table/messagebundle_kk.properties +10 -13
  61. package/src/sap/ui/table/messagebundle_ko.properties +5 -8
  62. package/src/sap/ui/table/messagebundle_lt.properties +4 -7
  63. package/src/sap/ui/table/messagebundle_lv.properties +5 -8
  64. package/src/sap/ui/table/messagebundle_mk.properties +6 -9
  65. package/src/sap/ui/table/messagebundle_ms.properties +5 -8
  66. package/src/sap/ui/table/messagebundle_nl.properties +6 -9
  67. package/src/sap/ui/table/messagebundle_no.properties +6 -9
  68. package/src/sap/ui/table/messagebundle_pl.properties +6 -9
  69. package/src/sap/ui/table/messagebundle_pt.properties +6 -9
  70. package/src/sap/ui/table/messagebundle_pt_PT.properties +4 -7
  71. package/src/sap/ui/table/messagebundle_ro.properties +6 -9
  72. package/src/sap/ui/table/messagebundle_ru.properties +6 -9
  73. package/src/sap/ui/table/messagebundle_sh.properties +6 -9
  74. package/src/sap/ui/table/messagebundle_sk.properties +6 -9
  75. package/src/sap/ui/table/messagebundle_sl.properties +6 -9
  76. package/src/sap/ui/table/messagebundle_sr.properties +6 -9
  77. package/src/sap/ui/table/messagebundle_sv.properties +6 -9
  78. package/src/sap/ui/table/messagebundle_th.properties +6 -9
  79. package/src/sap/ui/table/messagebundle_tr.properties +6 -9
  80. package/src/sap/ui/table/messagebundle_uk.properties +4 -7
  81. package/src/sap/ui/table/messagebundle_vi.properties +6 -9
  82. package/src/sap/ui/table/messagebundle_zh_CN.properties +4 -7
  83. package/src/sap/ui/table/messagebundle_zh_TW.properties +6 -9
  84. package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
  85. package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +2 -2
  86. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  87. package/src/sap/ui/table/plugins/SelectionModelSelection.js +3 -1
  88. package/src/sap/ui/table/plugins/SelectionPlugin.js +1 -1
  89. package/src/sap/ui/table/plugins/V4Aggregation.js +1 -1
  90. package/src/sap/ui/table/rowmodes/Auto.js +1 -1
  91. package/src/sap/ui/table/rowmodes/Fixed.js +1 -1
  92. package/src/sap/ui/table/rowmodes/Interactive.js +19 -12
  93. package/src/sap/ui/table/rowmodes/RowMode.js +1 -1
  94. package/src/sap/ui/table/rowmodes/Variable.js +1 -1
  95. package/src/sap/ui/table/utils/TableUtils.js +15 -4
  96. package/src/sap/ui/table/utils/_BindingUtils.js +1 -1
  97. package/src/sap/ui/table/utils/_ColumnUtils.js +1 -1
  98. package/src/sap/ui/table/utils/_GroupingUtils.js +1 -1
  99. package/src/sap/ui/table/utils/_HookUtils.js +1 -1
  100. package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
  101. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
package/.reuse/dep5 CHANGED
@@ -364,13 +364,6 @@ Copyright:
364
364
  License: Apache-2.0 and ISC
365
365
  Comment: these files contain content from SAP and node-lru-cache: LRUPersistentCache.js is overall written by SAP, but portions ('Least Recently Used' logic) are taken from the node-lru-cache project (see https://github.com/isaacs/node-lru-cache/blob/v2.7.3/README.md) and modified.
366
366
 
367
- Files: src/sap.ui.core/test/sap/ui/core/qunit/i18n/helper/_timezones.js
368
- Copyright:
369
- 2009-2024 SAP SE or an SAP affiliate company and OpenUI5 contributors
370
- Arthur David Olson, Paul Eggert and other contributors
371
- License: Apache-2.0 and LicenseRef-tzdata-PublicDomain
372
- Comment: these files contain content from SAP and Time Zone Database: _timezones.js is overall written by SAP, but the list of IANA timezone IDs is taken from the Timezone Database
373
-
374
367
 
375
368
  # Library: sap.ui.documentation:
376
369
 
package/THIRDPARTY.txt CHANGED
@@ -22,7 +22,7 @@ Contained in: src/sap.m/test/sap/m/qunit/_thirdparty/qunit-composite.css
22
22
 
23
23
  Library: sap.ui.codeeditor:
24
24
 
25
- Component: Ace (Ajax.org Cloud9 Editor), version: 1.31.1
25
+ Component: Ace (Ajax.org Cloud9 Editor), version: 1.36.5
26
26
  Copyright: 2010, Ajax.org B.V.
27
27
  License: BSD-3-Clause
28
28
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
@@ -342,12 +342,6 @@ License: ISC
342
342
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/ISC.txt
343
343
  Contained in: src/sap.ui.core/src/sap/ui/core/cache/LRUPersistentCache.js
344
344
 
345
- Component: Time Zone Database, version: 2024b
346
- Copyright: Arthur David Olson, Paul Eggert and other contributors
347
- License: LicenseRef-tzdata-PublicDomain
348
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/LicenseRef-tzdata-PublicDomain.txt
349
- Contained in: src/sap.ui.core/test/sap/ui/core/qunit/i18n/helper/_timezones.js
350
-
351
345
 
352
346
  Library: sap.ui.documentation:
353
347
 
@@ -1015,21 +1009,6 @@ END of license: LicenseRef-Unicode-3.0
1015
1009
  =================================
1016
1010
 
1017
1011
 
1018
- =================================
1019
- BEGIN of license: LicenseRef-tzdata-PublicDomain
1020
- =================================
1021
-
1022
- Unless specified below, all files in the tz code and data (including
1023
- this LICENSE file) are in the public domain.
1024
-
1025
- If the files date.c, newstrftime.3, and strftime.c are present, they
1026
- contain material derived from BSD and use the BSD 3-clause license.
1027
-
1028
- =================================
1029
- END of license: LicenseRef-tzdata-PublicDomain
1030
- =================================
1031
-
1032
-
1033
1012
  =================================
1034
1013
  BEGIN of license: MIT
1035
1014
  =================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.table",
3
- "version": "1.133.0",
3
+ "version": "1.134.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.133.0",
18
- "@openui5/sap.ui.unified": "1.133.0"
17
+ "@openui5/sap.ui.core": "1.134.0",
18
+ "@openui5/sap.ui.unified": "1.134.0"
19
19
  }
20
20
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
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.133.0</version>
9
+ <version>1.134.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.133.0
50
+ * @version 1.134.0
51
51
  *
52
52
  * @constructor
53
53
  * @public
@@ -345,7 +345,8 @@ sap.ui.define([
345
345
  * <li>The column must be child of an <code>AnalyticalTable</code>.</li>
346
346
  * <li>The <code>rows</code> aggregation of the table must be bound.</li>
347
347
  * <li>The metadata of the model must be loaded.</li>
348
- * <li>The column's <code>leadingProperty</code> must be a sortable and filterable dimension.</li>
348
+ * <li>The dimension to which the column's <cide>leadingProperty</code> is related, must be sortable and filterable (For example: the ID for
349
+ * Text and ID relationship).</li>
349
350
  * </ul>
350
351
  *
351
352
  * @private
@@ -354,20 +355,24 @@ sap.ui.define([
354
355
  */
355
356
  AnalyticalColumn.prototype.isGroupableByMenu = function() {
356
357
  const oParent = this.getParent();
358
+ if (!isInstanceOfAnalyticalTable(oParent)) {
359
+ return false;
360
+ }
357
361
 
358
- if (isInstanceOfAnalyticalTable(oParent)) {
359
- const oBinding = oParent.getBinding();
360
- if (oBinding) {
361
- const oResultSet = oBinding.getAnalyticalQueryResult();
362
- if (oResultSet && oResultSet.findDimensionByPropertyName(this.getLeadingProperty())
363
- && oBinding.getSortablePropertyNames().indexOf(this.getLeadingProperty()) > -1
364
- && oBinding.getFilterablePropertyNames().indexOf(this.getLeadingProperty()) > -1) {
365
- return true;
366
- }
367
- }
362
+ const oBinding = oParent.getBinding();
363
+ if (!oBinding) {
364
+ return false;
368
365
  }
369
366
 
370
- return false;
367
+ const oResultSet = oBinding.getAnalyticalQueryResult();
368
+ if (!oResultSet) {
369
+ return false;
370
+ }
371
+
372
+ const oDimension = oResultSet.findDimensionByPropertyName(this.getLeadingProperty());
373
+ return !!(oDimension
374
+ && oBinding.getSortablePropertyNames().indexOf(oDimension.getName()) > -1
375
+ && oBinding.getFilterablePropertyNames().indexOf(oDimension.getName()) > -1);
371
376
  };
372
377
 
373
378
  AnalyticalColumn.prototype._isGroupableByMenu = function() {
@@ -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.133.0
23
+ * @version 1.134.0
24
24
  *
25
25
  * @constructor
26
26
  * @public
@@ -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.133.0
53
+ * @version 1.134.0
54
54
  *
55
55
  * @constructor
56
56
  * @public
@@ -1131,11 +1131,11 @@ sap.ui.define([
1131
1131
  Table.prototype._onBindingDataReceived.apply(this, arguments);
1132
1132
  };
1133
1133
 
1134
- AnalyticalTable.prototype._hasPendingRequests = function() {
1134
+ AnalyticalTable.prototype._isWaitingForData = function() {
1135
1135
  if (_private(this).hasOwnProperty("bPendingRequest")) {
1136
1136
  return _private(this).bPendingRequest;
1137
1137
  } else {
1138
- return Table.prototype._hasPendingRequests.apply(this, arguments);
1138
+ return Table.prototype._isWaitingForData.apply(this, arguments);
1139
1139
  }
1140
1140
  };
1141
1141
 
@@ -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.133.0
66
+ * @version 1.134.0
67
67
  *
68
68
  * @constructor
69
69
  * @public
@@ -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.133.0
43
+ * @version 1.134.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.133.0
35
+ * @version 1.134.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
 
38
38
  oRm.openStart("div", oCreationRow);
39
39
  oRm.attr("data-sap-ui-fastnavgroup", "true");
40
- oTable._getAccRenderExtension().writeAriaAttributesFor(oRm, oTable, "CREATIONROW", {creationRow: oCreationRow});
40
+ oTable._getAccRenderExtension().writeAriaAttributesFor(oRm, oTable, "CreationRow", {creationRow: oCreationRow});
41
41
  oRm.class("sapUiTableCreationRow");
42
42
  oRm.openEnd();
43
43
 
@@ -111,7 +111,7 @@ sap.ui.define([
111
111
  const oCreationRow = oTable.getCreationRow();
112
112
 
113
113
  oRm.openStart("table");
114
- oTable._getAccRenderExtension().writeAriaAttributesFor(oRm, oTable, "CREATIONROW_TABLE");
114
+ oTable._getAccRenderExtension().writeAriaAttributesFor(oRm, oTable, "Presentation");
115
115
  oRm.class("sapUiTableCtrl");
116
116
  oRm.style(bFixedTable ? "width" : "min-width", oTable._getColumnsWidth(iStartColumnIndex, iEndColumnIndex) + "px");
117
117
  oRm.openEnd();
@@ -135,7 +135,7 @@ sap.ui.define([
135
135
  * @class
136
136
  * The row.
137
137
  * @extends sap.ui.core.Element
138
- * @version 1.133.0
138
+ * @version 1.134.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.133.0
38
+ * @version 1.134.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.133.0
27
+ * @version 1.134.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.133.0
30
+ * @version 1.134.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -104,7 +104,7 @@ sap.ui.define([
104
104
  * the data model and binding being used.
105
105
  * </p>
106
106
  * @extends sap.ui.core.Control
107
- * @version 1.133.0
107
+ * @version 1.134.0
108
108
  *
109
109
  * @constructor
110
110
  * @public
@@ -2446,6 +2446,14 @@ sap.ui.define([
2446
2446
  Math.min(mRowCounts.fixedTop + mRowCounts.scrollable, Math.max(this._getTotalRowCount() - mRowCounts.fixedBottom, 0)));
2447
2447
  }
2448
2448
 
2449
+ if (typeof aContexts.bExpectMore === 'boolean') {
2450
+
2451
+ // Store the bExpectMore flag in the internal state of the table to prevent
2452
+ // multiple busyStateChange events.
2453
+ _private(this).bIsWaitingForData = aContexts.bExpectMore;
2454
+ updateAutomaticBusyIndicator(this);
2455
+ }
2456
+
2449
2457
  return aContexts;
2450
2458
  };
2451
2459
 
@@ -2453,6 +2461,8 @@ sap.ui.define([
2453
2461
  for (let i = 0; i < aSource.length; i++) {
2454
2462
  aTarget[iStartIndex + i] = aSource[i];
2455
2463
  }
2464
+
2465
+ aTarget.bExpectMore ||= aSource.bExpectMore;
2456
2466
  }
2457
2467
 
2458
2468
  /**
@@ -3964,7 +3974,8 @@ sap.ui.define([
3964
3974
 
3965
3975
  Table.prototype.setBusy = function(bBusy) {
3966
3976
  const bOldBusyState = this.getBusy();
3967
- const vReturn = Control.prototype.setBusy.call(this, bBusy, "sapUiTableGridCnt");
3977
+ const sBusySection = this.getCreationRow() ? "sapUiTableGridCnt" : "sapUiTableCnt";
3978
+ const vReturn = Control.prototype.setBusy.call(this, bBusy, sBusySection);
3968
3979
  const bNewBusyState = this.getBusy();
3969
3980
 
3970
3981
  if (bOldBusyState !== bNewBusyState) {
@@ -4003,11 +4014,10 @@ sap.ui.define([
4003
4014
  updateAutomaticBusyIndicator(this);
4004
4015
  };
4005
4016
 
4006
- /**
4007
- * @private
4008
- */
4009
- Table.prototype._hasPendingRequests = function() {
4010
- return _private(this).iPendingRequests > 0;
4017
+ Table.prototype._isWaitingForData = function() {
4018
+ const oState = _private(this);
4019
+
4020
+ return oState.iPendingRequests > 0 && oState.bIsWaitingForData !== false;
4011
4021
  };
4012
4022
 
4013
4023
  function updateAutomaticBusyIndicator(oTable) {
@@ -4017,7 +4027,7 @@ sap.ui.define([
4017
4027
 
4018
4028
  clearHideBusyIndicatorTimeout(oTable);
4019
4029
 
4020
- if (oTable._hasPendingRequests()) {
4030
+ if (oTable._isWaitingForData()) {
4021
4031
  oTable.setBusy(true);
4022
4032
  } else {
4023
4033
  // This timer should avoid flickering of the busy indicator and unnecessary updates of NoData in case a request will be sent
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.base.ManagedObject
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.133.0
37
+ * @version 1.134.0
38
38
  * @since 1.21.1
39
39
  *
40
40
  * @constructor