@openui5/sap.ui.table 1.139.0 → 1.140.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 (152) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +3 -3
  3. package/src/sap/ui/table/.library +1 -1
  4. package/src/sap/ui/table/AnalyticalColumn.js +1 -1
  5. package/src/sap/ui/table/AnalyticalColumnMenu.js +1 -1
  6. package/src/sap/ui/table/AnalyticalTable.js +1 -1
  7. package/src/sap/ui/table/Column.js +1 -1
  8. package/src/sap/ui/table/ColumnMenu.js +1 -1
  9. package/src/sap/ui/table/CreationRow.js +1 -1
  10. package/src/sap/ui/table/Row.js +1 -1
  11. package/src/sap/ui/table/RowAction.js +1 -1
  12. package/src/sap/ui/table/RowActionItem.js +1 -1
  13. package/src/sap/ui/table/RowSettings.js +1 -1
  14. package/src/sap/ui/table/Table.js +3 -13
  15. package/src/sap/ui/table/TablePersoController.js +1 -1
  16. package/src/sap/ui/table/TreeTable.js +1 -1
  17. package/src/sap/ui/table/extensions/Accessibility.js +17 -9
  18. package/src/sap/ui/table/extensions/AccessibilityRender.js +1 -1
  19. package/src/sap/ui/table/extensions/DragAndDrop.js +1 -1
  20. package/src/sap/ui/table/extensions/ExtensionBase.js +1 -1
  21. package/src/sap/ui/table/extensions/Keyboard.js +1 -1
  22. package/src/sap/ui/table/extensions/KeyboardDelegate.js +1 -1
  23. package/src/sap/ui/table/extensions/Pointer.js +1 -1
  24. package/src/sap/ui/table/extensions/Scrolling.js +1 -1
  25. package/src/sap/ui/table/extensions/ScrollingIOS.js +1 -1
  26. package/src/sap/ui/table/extensions/Synchronization.js +1 -1
  27. package/src/sap/ui/table/i18n/interaction_ar.xml +1 -1
  28. package/src/sap/ui/table/i18n/interaction_bg.xml +1 -1
  29. package/src/sap/ui/table/i18n/interaction_ca.xml +1 -1
  30. package/src/sap/ui/table/i18n/interaction_cnr.xml +1 -1
  31. package/src/sap/ui/table/i18n/interaction_cs.xml +1 -1
  32. package/src/sap/ui/table/i18n/interaction_cy.xml +1 -1
  33. package/src/sap/ui/table/i18n/interaction_da.xml +1 -1
  34. package/src/sap/ui/table/i18n/interaction_de.xml +2 -2
  35. package/src/sap/ui/table/i18n/interaction_el.xml +1 -1
  36. package/src/sap/ui/table/i18n/interaction_en.xml +1 -1
  37. package/src/sap/ui/table/i18n/interaction_en_GB.xml +1 -1
  38. package/src/sap/ui/table/i18n/interaction_en_US_saprigi.xml +1 -1
  39. package/src/sap/ui/table/i18n/interaction_es.xml +1 -1
  40. package/src/sap/ui/table/i18n/interaction_es_MX.xml +1 -1
  41. package/src/sap/ui/table/i18n/interaction_et.xml +1 -1
  42. package/src/sap/ui/table/i18n/interaction_fi.xml +1 -1
  43. package/src/sap/ui/table/i18n/interaction_fr.xml +1 -1
  44. package/src/sap/ui/table/i18n/interaction_fr_CA.xml +1 -1
  45. package/src/sap/ui/table/i18n/interaction_hi.xml +1 -1
  46. package/src/sap/ui/table/i18n/interaction_hr.xml +1 -1
  47. package/src/sap/ui/table/i18n/interaction_hu.xml +1 -1
  48. package/src/sap/ui/table/i18n/interaction_id.xml +1 -1
  49. package/src/sap/ui/table/i18n/interaction_it.xml +1 -1
  50. package/src/sap/ui/table/i18n/interaction_iw.xml +1 -1
  51. package/src/sap/ui/table/i18n/interaction_ja.xml +1 -1
  52. package/src/sap/ui/table/i18n/interaction_kk.xml +1 -1
  53. package/src/sap/ui/table/i18n/interaction_ko.xml +1 -1
  54. package/src/sap/ui/table/i18n/interaction_lt.xml +1 -1
  55. package/src/sap/ui/table/i18n/interaction_lv.xml +1 -1
  56. package/src/sap/ui/table/i18n/interaction_mk.xml +1 -1
  57. package/src/sap/ui/table/i18n/interaction_ms.xml +1 -1
  58. package/src/sap/ui/table/i18n/interaction_nl.xml +1 -1
  59. package/src/sap/ui/table/i18n/interaction_no.xml +1 -1
  60. package/src/sap/ui/table/i18n/interaction_pl.xml +1 -1
  61. package/src/sap/ui/table/i18n/interaction_pt.xml +1 -1
  62. package/src/sap/ui/table/i18n/interaction_pt_PT.xml +1 -1
  63. package/src/sap/ui/table/i18n/interaction_ro.xml +1 -1
  64. package/src/sap/ui/table/i18n/interaction_ru.xml +1 -1
  65. package/src/sap/ui/table/i18n/interaction_sh.xml +1 -1
  66. package/src/sap/ui/table/i18n/interaction_sk.xml +1 -1
  67. package/src/sap/ui/table/i18n/interaction_sl.xml +1 -1
  68. package/src/sap/ui/table/i18n/interaction_sr.xml +1 -1
  69. package/src/sap/ui/table/i18n/interaction_sv.xml +1 -1
  70. package/src/sap/ui/table/i18n/interaction_th.xml +1 -1
  71. package/src/sap/ui/table/i18n/interaction_tr.xml +1 -1
  72. package/src/sap/ui/table/i18n/interaction_uk.xml +1 -1
  73. package/src/sap/ui/table/i18n/interaction_vi.xml +1 -1
  74. package/src/sap/ui/table/i18n/interaction_zh_CN.xml +1 -1
  75. package/src/sap/ui/table/i18n/interaction_zh_TW.xml +1 -1
  76. package/src/sap/ui/table/library.js +27 -11
  77. package/src/sap/ui/table/menus/AnalyticalTableContextMenu.js +1 -1
  78. package/src/sap/ui/table/menus/ColumnHeaderMenuAdapter.js +1 -1
  79. package/src/sap/ui/table/menus/ContextMenu.js +1 -1
  80. package/src/sap/ui/table/menus/MobileColumnHeaderMenuAdapter.js +2 -2
  81. package/src/sap/ui/table/messagebundle.properties +7 -0
  82. package/src/sap/ui/table/messagebundle_ar.properties +5 -0
  83. package/src/sap/ui/table/messagebundle_bg.properties +5 -0
  84. package/src/sap/ui/table/messagebundle_ca.properties +5 -0
  85. package/src/sap/ui/table/messagebundle_cnr.properties +5 -0
  86. package/src/sap/ui/table/messagebundle_cs.properties +7 -2
  87. package/src/sap/ui/table/messagebundle_cy.properties +5 -0
  88. package/src/sap/ui/table/messagebundle_da.properties +5 -0
  89. package/src/sap/ui/table/messagebundle_de.properties +11 -6
  90. package/src/sap/ui/table/messagebundle_el.properties +5 -0
  91. package/src/sap/ui/table/messagebundle_en.properties +5 -0
  92. package/src/sap/ui/table/messagebundle_en_GB.properties +5 -0
  93. package/src/sap/ui/table/messagebundle_en_US_saprigi.properties +5 -0
  94. package/src/sap/ui/table/messagebundle_es.properties +6 -1
  95. package/src/sap/ui/table/messagebundle_es_MX.properties +5 -0
  96. package/src/sap/ui/table/messagebundle_et.properties +5 -0
  97. package/src/sap/ui/table/messagebundle_fi.properties +6 -1
  98. package/src/sap/ui/table/messagebundle_fr.properties +7 -2
  99. package/src/sap/ui/table/messagebundle_fr_CA.properties +7 -2
  100. package/src/sap/ui/table/messagebundle_hi.properties +5 -0
  101. package/src/sap/ui/table/messagebundle_hr.properties +5 -0
  102. package/src/sap/ui/table/messagebundle_hu.properties +5 -0
  103. package/src/sap/ui/table/messagebundle_id.properties +5 -0
  104. package/src/sap/ui/table/messagebundle_it.properties +5 -0
  105. package/src/sap/ui/table/messagebundle_iw.properties +5 -0
  106. package/src/sap/ui/table/messagebundle_ja.properties +6 -1
  107. package/src/sap/ui/table/messagebundle_kk.properties +5 -0
  108. package/src/sap/ui/table/messagebundle_ko.properties +5 -0
  109. package/src/sap/ui/table/messagebundle_lt.properties +5 -0
  110. package/src/sap/ui/table/messagebundle_lv.properties +7 -2
  111. package/src/sap/ui/table/messagebundle_mk.properties +7 -2
  112. package/src/sap/ui/table/messagebundle_ms.properties +7 -2
  113. package/src/sap/ui/table/messagebundle_nl.properties +6 -1
  114. package/src/sap/ui/table/messagebundle_no.properties +5 -0
  115. package/src/sap/ui/table/messagebundle_pl.properties +5 -0
  116. package/src/sap/ui/table/messagebundle_pt.properties +5 -0
  117. package/src/sap/ui/table/messagebundle_pt_PT.properties +6 -1
  118. package/src/sap/ui/table/messagebundle_ro.properties +7 -2
  119. package/src/sap/ui/table/messagebundle_ru.properties +9 -4
  120. package/src/sap/ui/table/messagebundle_sh.properties +5 -0
  121. package/src/sap/ui/table/messagebundle_sk.properties +5 -0
  122. package/src/sap/ui/table/messagebundle_sl.properties +5 -0
  123. package/src/sap/ui/table/messagebundle_sr.properties +5 -0
  124. package/src/sap/ui/table/messagebundle_sv.properties +5 -0
  125. package/src/sap/ui/table/messagebundle_th.properties +5 -0
  126. package/src/sap/ui/table/messagebundle_tr.properties +5 -0
  127. package/src/sap/ui/table/messagebundle_uk.properties +5 -0
  128. package/src/sap/ui/table/messagebundle_vi.properties +5 -0
  129. package/src/sap/ui/table/messagebundle_zh_CN.properties +5 -0
  130. package/src/sap/ui/table/messagebundle_zh_TW.properties +7 -2
  131. package/src/sap/ui/table/plugins/BindingSelection.js +1 -1
  132. package/src/sap/ui/table/plugins/MultiSelectionPlugin.js +6 -2
  133. package/src/sap/ui/table/plugins/{V4Aggregation.js → ODataV4Aggregation.js} +51 -70
  134. package/src/sap/ui/table/plugins/ODataV4Hierarchy.js +91 -0
  135. package/src/sap/ui/table/plugins/ODataV4MultiLevel.js +100 -0
  136. package/src/sap/ui/table/plugins/ODataV4MultiSelection.js +489 -0
  137. package/src/sap/ui/table/plugins/ODataV4Selection.js +51 -412
  138. package/src/sap/ui/table/plugins/ODataV4SingleSelection.js +120 -0
  139. package/src/sap/ui/table/plugins/PluginBase.js +1 -1
  140. package/src/sap/ui/table/plugins/SelectionModelSelection.js +1 -1
  141. package/src/sap/ui/table/plugins/SelectionPlugin.js +18 -16
  142. package/src/sap/ui/table/rowmodes/Auto.js +1 -1
  143. package/src/sap/ui/table/rowmodes/Fixed.js +1 -1
  144. package/src/sap/ui/table/rowmodes/Interactive.js +1 -1
  145. package/src/sap/ui/table/rowmodes/RowMode.js +1 -1
  146. package/src/sap/ui/table/rowmodes/Variable.js +1 -1
  147. package/src/sap/ui/table/utils/TableUtils.js +1 -1
  148. package/src/sap/ui/table/utils/_ColumnUtils.js +1 -1
  149. package/src/sap/ui/table/utils/_GroupingUtils.js +1 -1
  150. package/src/sap/ui/table/utils/_HookUtils.js +1 -1
  151. package/src/sap/ui/table/utils/_MenuUtils.js +1 -1
  152. package/src/sap/ui/table/plugins/SelectionMode.js +0 -35
@@ -0,0 +1,120 @@
1
+ /*
2
+ * OpenUI5
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ "./ODataV4Selection",
8
+ "./PluginBase",
9
+ "../utils/TableUtils",
10
+ "../library"
11
+ ], function(
12
+ ODataV4Selection,
13
+ PluginBase,
14
+ TableUtils,
15
+ library
16
+ ) {
17
+ "use strict";
18
+
19
+ /**
20
+ * @class
21
+ * Integrates the selection of the {@link sap.ui.model.odata.v4.ODataListBinding} and the table. Works only in combination with a
22
+ * {@link sap.ui.model.odata.v4.ODataModel}.
23
+ * The selection of multiple contexts is not allowed. Only one context can be selected at a time.
24
+ *
25
+ * The selection of a context that is not selectable is not allowed.
26
+ * The following contexts are not selectable:
27
+ * <ul>
28
+ * <li>Header context</li>
29
+ * <li>Contexts that represent group headers</li>
30
+ * <li>Contexts that contain totals</li>
31
+ * </ul>
32
+ *
33
+ * All binding-related limitations also apply in the context of this plugin. For details, see {@link sap.ui.model.odata.v4.Context#setSelected}
34
+ * and {@link sap.ui.model.odata.v4.ODataModel#bindList}.
35
+ *
36
+ * @extends sap.ui.table.plugins.SelectionPlugin
37
+ *
38
+ * @author SAP SE
39
+ * @version 1.140.0
40
+ *
41
+ * @public
42
+ * @since 1.140
43
+ * @alias sap.ui.table.plugins.ODataV4SingleSelection
44
+ * @see {@link topic:ec55312f796f45e8883810af3b68b46c OData V4: Selection}
45
+ *
46
+ * @borrows sap.ui.table.plugins.PluginBase.findOn as findOn
47
+ */
48
+ const ODataV4SingleSelection = ODataV4Selection.extend("sap.ui.table.plugins.ODataV4SingleSelection", {
49
+ metadata: {
50
+ library: "sap.ui.table"
51
+ }
52
+ });
53
+
54
+ ODataV4SingleSelection.findOn = PluginBase.findOn;
55
+
56
+ /**
57
+ * @inheritDoc
58
+ */
59
+ ODataV4SingleSelection.prototype.onActivate = function(oTable) {
60
+ ODataV4Selection.prototype.onActivate.apply(this, arguments);
61
+ oTable.setProperty("selectionMode", library.SelectionMode.Single);
62
+ };
63
+
64
+ /**
65
+ * @inheritDoc
66
+ */
67
+ ODataV4SingleSelection.prototype.onDeactivate = function(oTable) {
68
+ ODataV4Selection.prototype.onDeactivate.apply(this, arguments);
69
+ oTable.setProperty("selectionMode", library.SelectionMode.None);
70
+ };
71
+
72
+ /**
73
+ * @inheritDoc
74
+ */
75
+ ODataV4SingleSelection.prototype.setSelected = function(oRow, bSelected, mConfig) {
76
+ const oContext = TableUtils.getBindingContextOfRow(oRow);
77
+
78
+ if (!this.isActive() || !oContext || !this.isContextSelectable(oContext) || this.isSelected(oRow) === bSelected) {
79
+ return;
80
+ }
81
+
82
+ if (bSelected) {
83
+ this.clearSelection();
84
+ }
85
+
86
+ oContext.setSelected(bSelected);
87
+ };
88
+
89
+ /**
90
+ * @inheritDoc
91
+ */
92
+ ODataV4SingleSelection.prototype.validateSelection = function(aContextsToValidate) {
93
+ ODataV4Selection.prototype.validateSelection.apply(this, arguments);
94
+
95
+ if (this.getSelectedCount() > 1) {
96
+ throw new Error("Multiple contexts selected");
97
+ }
98
+ };
99
+
100
+ /**
101
+ * Returns the selected context.
102
+ *
103
+ * @returns {sap.ui.model.odata.v4.Context} The selected context
104
+ * @public
105
+ */
106
+ ODataV4SingleSelection.prototype.getSelectedContext = function() {
107
+ return this.getSelectedContexts()[0];
108
+ };
109
+
110
+ /**
111
+ * Clears the selection.
112
+ *
113
+ * @public
114
+ * @name sap.ui.table.plugins.ODataV4SingleSelection#clearSelection
115
+ * @function
116
+ */
117
+ // Inherited from ODataV4Selection
118
+
119
+ return ODataV4SingleSelection;
120
+ });
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @extends sap.ui.core.Element
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.139.0
22
+ * @version 1.140.0
23
23
  *
24
24
  * @private
25
25
  * @experimental Since 1.75
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.table.plugins.SelectionPlugin
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.139.0
29
+ * @version 1.140.0
30
30
  *
31
31
  * @private
32
32
  * @alias sap.ui.table.plugins.SelectionModelSelection
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @extends sap.ui.core.Element
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.139.0
24
+ * @version 1.140.0
25
25
  *
26
26
  * @public
27
27
  * @since 1.64
@@ -29,22 +29,24 @@ sap.ui.define([
29
29
  *
30
30
  * @borrows sap.ui.table.plugins.PluginBase.findOn as findOn
31
31
  */
32
- const SelectionPlugin = PluginBase.extend("sap.ui.table.plugins.SelectionPlugin", {metadata: {
33
- "abstract": true,
34
- library: "sap.ui.table",
35
- properties: {
36
- /**
37
- * Indicates whether this plugin is enabled.
38
- */
39
- enabled: {type: "boolean", defaultValue: true} // TODO: Inherited from private PluginBase. Remove once PluginBase is public.
40
- },
41
- events: {
42
- /**
43
- * This event is fired when the selection is changed.
44
- */
45
- selectionChange: {}
32
+ const SelectionPlugin = PluginBase.extend("sap.ui.table.plugins.SelectionPlugin", {
33
+ metadata: {
34
+ "abstract": true,
35
+ library: "sap.ui.table",
36
+ properties: {
37
+ /**
38
+ * Indicates whether this plugin is enabled.
39
+ */
40
+ enabled: {type: "boolean", defaultValue: true} // TODO: Inherited from private PluginBase. Remove once PluginBase is public.
41
+ },
42
+ events: {
43
+ /**
44
+ * This event is fired when the selection is changed.
45
+ */
46
+ selectionChange: {}
47
+ }
46
48
  }
47
- }});
49
+ });
48
50
 
49
51
  SelectionPlugin.findOn = PluginBase.findOn;
50
52
 
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @public
39
39
  *
40
40
  * @author SAP SE
41
- * @version 1.139.0
41
+ * @version 1.140.0
42
42
  */
43
43
  const AutoRowMode = RowMode.extend("sap.ui.table.rowmodes.Auto", /** @lends sap.ui.table.rowmodes.Auto.prototype */ {
44
44
  metadata: {
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @public
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.139.0
30
+ * @version 1.140.0
31
31
  */
32
32
  const FixedRowMode = RowMode.extend("sap.ui.table.rowmodes.Fixed", /** @lends sap.ui.table.rowmodes.Fixed.prototype */ {
33
33
  metadata: {
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @public
41
41
  *
42
42
  * @author SAP SE
43
- * @version 1.139.0
43
+ * @version 1.140.0
44
44
  */
45
45
  const InteractiveRowMode = RowMode.extend("sap.ui.table.rowmodes.Interactive", /** @lends sap.ui.table.rowmodes.Interactive.prototype */ {
46
46
  metadata: {
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @public
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.139.0
40
+ * @version 1.140.0
41
41
  */
42
42
  const RowMode = Element.extend("sap.ui.table.rowmodes.RowMode", /** @lends sap.ui.table.rowmodes.RowMode.prototype */ {
43
43
  metadata: {
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.table.rowmodes.RowMode
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.139.0
26
+ * @version 1.140.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -208,7 +208,7 @@ sap.ui.define([
208
208
  * Static collection of utility functions related to the sap.ui.table.Table, ...
209
209
  *
210
210
  * @author SAP SE
211
- * @version 1.139.0
211
+ * @version 1.140.0
212
212
  * @namespace
213
213
  * @alias sap.ui.table.utils.TableUtils
214
214
  * @private
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Column...</code>
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.139.0
21
+ * @version 1.140.0
22
22
  * @namespace
23
23
  * @alias sap.ui.table.utils._ColumnUtils
24
24
  * @private
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Grouping...</code>
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.139.0
27
+ * @version 1.140.0
28
28
  * @namespace
29
29
  * @alias sap.ui.table.utils._GroupingUtils
30
30
  * @private
@@ -21,7 +21,7 @@ sap.ui.define(["sap/ui/base/DataType", "sap/ui/model/ChangeReason"], function(Da
21
21
  * - There is no concept for public or protected hooks. Never expose a hook directly, only indirectly as can be seen in the examples.
22
22
  *
23
23
  * @author SAP SE
24
- * @version 1.139.0
24
+ * @version 1.140.0
25
25
  * @namespace
26
26
  * @alias sap.ui.table.utils._HookUtils
27
27
  *
@@ -14,7 +14,7 @@ sap.ui.define([], function() {
14
14
  * Note: Do not access the functions of this helper directly, but via <code>sap.ui.table.utils.TableUtils.Menu...</code>
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.139.0
17
+ * @version 1.140.0
18
18
  * @namespace
19
19
  * @alias sap.ui.table.utils._MenuUtils
20
20
  * @private
@@ -1,35 +0,0 @@
1
- /*!
2
- * OpenUI5
3
- * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
- * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
- */
6
- sap.ui.define(["sap/ui/base/DataType"], (DataType) => {
7
- "use strict";
8
-
9
- /**
10
- * Mode of a selection plugin.
11
- *
12
- * @enum {string}
13
- * @alias sap.ui.table.plugins.SelectionMode
14
- * @private
15
- */
16
- const SelectionMode = {
17
- /**
18
- * Only one row can be selected at a time.
19
- *
20
- * @public
21
- */
22
- Single: "Single",
23
-
24
- /**
25
- * Multiple rows can be selected.
26
- *
27
- * @public
28
- */
29
- MultiToggle: "MultiToggle"
30
- };
31
-
32
- DataType.registerEnum("sap.ui.table.plugins.SelectionMode", SelectionMode);
33
-
34
- return SelectionMode;
35
- });