@openui5/sap.ui.mdc 1.139.0 → 1.141.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 (178) hide show
  1. package/THIRDPARTY.txt +2 -2
  2. package/package.json +4 -4
  3. package/src/sap/ui/mdc/.library +1 -1
  4. package/src/sap/ui/mdc/ActionToolbar.js +1 -1
  5. package/src/sap/ui/mdc/Chart.js +1 -1
  6. package/src/sap/ui/mdc/ChartDelegate.js +16 -2
  7. package/src/sap/ui/mdc/Control.js +1 -1
  8. package/src/sap/ui/mdc/DefaultTypeMap.js +5 -2
  9. package/src/sap/ui/mdc/Element.js +1 -1
  10. package/src/sap/ui/mdc/Field.js +2 -2
  11. package/src/sap/ui/mdc/FilterBar.js +1 -1
  12. package/src/sap/ui/mdc/FilterField.js +2 -2
  13. package/src/sap/ui/mdc/Link.js +1 -1
  14. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  15. package/src/sap/ui/mdc/Table.js +21 -20
  16. package/src/sap/ui/mdc/TableDelegate.js +17 -6
  17. package/src/sap/ui/mdc/ValueHelp.js +1 -1
  18. package/src/sap/ui/mdc/ValueHelpDelegate.js +3 -1
  19. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +13 -2
  20. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
  21. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  22. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  23. package/src/sap/ui/mdc/chart/ToolbarControlFactory.js +1 -1
  24. package/src/sap/ui/mdc/chart/Util.js +25 -0
  25. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  26. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  27. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  28. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  29. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +12 -12
  30. package/src/sap/ui/mdc/condition/Operator.js +7 -7
  31. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +54 -19
  32. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  33. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +0 -10
  34. package/src/sap/ui/mdc/field/ConditionType.js +17 -9
  35. package/src/sap/ui/mdc/field/ConditionTypeMixin.js +1 -1
  36. package/src/sap/ui/mdc/field/ConditionsType.js +2 -2
  37. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  38. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
  39. package/src/sap/ui/mdc/field/FieldBase.js +2 -1
  40. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  41. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  42. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  43. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  44. package/src/sap/ui/mdc/field/FieldSelect.js +1 -1
  45. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  46. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +18 -2
  47. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  48. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  49. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  50. package/src/sap/ui/mdc/field/content/UnitContent.js +9 -2
  51. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +1 -1
  52. package/src/sap/ui/mdc/filterbar/FilterBarLayoutRenderer.js +177 -0
  53. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  54. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +13 -1
  55. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  56. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  57. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  58. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  59. package/src/sap/ui/mdc/flexibility/GroupFlex.js +10 -10
  60. package/src/sap/ui/mdc/flexibility/actiontoolbar/CombineAction.js +1 -1
  61. package/src/sap/ui/mdc/flexibility/actiontoolbar/SplitAction.js +1 -1
  62. package/src/sap/ui/mdc/library.js +22 -2
  63. package/src/sap/ui/mdc/link/Factory.js +1 -1
  64. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  65. package/src/sap/ui/mdc/link/Panel.js +1 -1
  66. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  67. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  68. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  69. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  70. package/src/sap/ui/mdc/messagebundle.properties +14 -0
  71. package/src/sap/ui/mdc/messagebundle_ar.properties +13 -2
  72. package/src/sap/ui/mdc/messagebundle_bg.properties +12 -1
  73. package/src/sap/ui/mdc/messagebundle_ca.properties +11 -0
  74. package/src/sap/ui/mdc/messagebundle_cnr.properties +11 -0
  75. package/src/sap/ui/mdc/messagebundle_cs.properties +12 -1
  76. package/src/sap/ui/mdc/messagebundle_cy.properties +11 -0
  77. package/src/sap/ui/mdc/messagebundle_da.properties +11 -0
  78. package/src/sap/ui/mdc/messagebundle_de.properties +11 -0
  79. package/src/sap/ui/mdc/messagebundle_el.properties +11 -0
  80. package/src/sap/ui/mdc/messagebundle_en.properties +11 -0
  81. package/src/sap/ui/mdc/messagebundle_en_GB.properties +11 -0
  82. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +11 -0
  83. package/src/sap/ui/mdc/messagebundle_es.properties +11 -0
  84. package/src/sap/ui/mdc/messagebundle_es_MX.properties +12 -1
  85. package/src/sap/ui/mdc/messagebundle_et.properties +11 -0
  86. package/src/sap/ui/mdc/messagebundle_fi.properties +11 -0
  87. package/src/sap/ui/mdc/messagebundle_fr.properties +12 -1
  88. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +11 -0
  89. package/src/sap/ui/mdc/messagebundle_hi.properties +11 -0
  90. package/src/sap/ui/mdc/messagebundle_hr.properties +13 -2
  91. package/src/sap/ui/mdc/messagebundle_hu.properties +11 -0
  92. package/src/sap/ui/mdc/messagebundle_id.properties +24 -13
  93. package/src/sap/ui/mdc/messagebundle_it.properties +12 -1
  94. package/src/sap/ui/mdc/messagebundle_iw.properties +11 -0
  95. package/src/sap/ui/mdc/messagebundle_ja.properties +11 -0
  96. package/src/sap/ui/mdc/messagebundle_kk.properties +13 -2
  97. package/src/sap/ui/mdc/messagebundle_ko.properties +11 -0
  98. package/src/sap/ui/mdc/messagebundle_lt.properties +11 -0
  99. package/src/sap/ui/mdc/messagebundle_lv.properties +11 -0
  100. package/src/sap/ui/mdc/messagebundle_mk.properties +14 -3
  101. package/src/sap/ui/mdc/messagebundle_ms.properties +11 -0
  102. package/src/sap/ui/mdc/messagebundle_nl.properties +11 -0
  103. package/src/sap/ui/mdc/messagebundle_no.properties +11 -0
  104. package/src/sap/ui/mdc/messagebundle_pl.properties +12 -1
  105. package/src/sap/ui/mdc/messagebundle_pt.properties +11 -0
  106. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +11 -0
  107. package/src/sap/ui/mdc/messagebundle_ro.properties +11 -0
  108. package/src/sap/ui/mdc/messagebundle_ru.properties +11 -0
  109. package/src/sap/ui/mdc/messagebundle_sh.properties +11 -0
  110. package/src/sap/ui/mdc/messagebundle_sk.properties +11 -0
  111. package/src/sap/ui/mdc/messagebundle_sl.properties +11 -0
  112. package/src/sap/ui/mdc/messagebundle_sr.properties +11 -0
  113. package/src/sap/ui/mdc/messagebundle_sv.properties +11 -0
  114. package/src/sap/ui/mdc/messagebundle_th.properties +11 -0
  115. package/src/sap/ui/mdc/messagebundle_tr.properties +11 -0
  116. package/src/sap/ui/mdc/messagebundle_uk.properties +11 -0
  117. package/src/sap/ui/mdc/messagebundle_vi.properties +22 -11
  118. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +11 -0
  119. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +11 -0
  120. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +5 -2
  121. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  122. package/src/sap/ui/mdc/mixin/FilterBarLayoutMixin.js +130 -0
  123. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  124. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  125. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +3 -4
  126. package/src/sap/ui/mdc/odata/TypeMap.js +1 -1
  127. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +64 -53
  128. package/src/sap/ui/mdc/odata/v4/TypeMap.js +1 -1
  129. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +104 -10
  130. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  131. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +6 -3
  132. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +182 -8
  133. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +3 -3
  134. package/src/sap/ui/mdc/p13n/subcontroller/ColumnFreezeController.js +1 -1
  135. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +3 -3
  136. package/src/sap/ui/mdc/p13n/subcontroller/ShowDetailsController.js +1 -1
  137. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  138. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  139. package/src/sap/ui/mdc/table/DragDropConfig.js +1 -1
  140. package/src/sap/ui/mdc/table/GridTableType.js +1 -1
  141. package/src/sap/ui/mdc/table/ODataV4PropertyHelper.js +1 -1
  142. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
  143. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  144. package/src/sap/ui/mdc/table/ResponsiveTableType.js +1 -5
  145. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  146. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  147. package/src/sap/ui/mdc/table/utils/Personalization.js +1 -1
  148. package/src/sap/ui/mdc/themes/base/FilterBar.less +1 -0
  149. package/src/sap/ui/mdc/themes/base/FilterBarLayout.less +41 -0
  150. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +17 -30
  151. package/src/sap/ui/mdc/themes/base/library.source.less +1 -0
  152. package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +1 -1
  153. package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +1 -1
  154. package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +1 -1
  155. package/src/sap/ui/mdc/util/InfoBar.js +1 -1
  156. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  157. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  158. package/src/sap/ui/mdc/util/PropertyHelperUtil.js +10 -9
  159. package/src/sap/ui/mdc/valuehelp/Dialog.js +15 -10
  160. package/src/sap/ui/mdc/valuehelp/FilterBar.js +1 -1
  161. package/src/sap/ui/mdc/valuehelp/Popover.js +36 -16
  162. package/src/sap/ui/mdc/valuehelp/RequestShowContainerDefault.js +1 -1
  163. package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
  164. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
  165. package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +1 -1
  166. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  167. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +1 -1
  168. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  169. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  170. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  171. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +6 -2
  172. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +1 -1
  173. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
  174. package/src/sap/ui/mdc/valuehelp/content/MTable.js +1 -1
  175. package/test/sap/ui/mdc/testutils/opa/field/Actions.js +12 -6
  176. package/test/sap/ui/mdc/testutils/opa/field/TestObjects.js +3 -2
  177. package/test/sap/ui/mdc/testutils/opa/multivaluefield/Actions.js +76 -5
  178. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +31 -2
package/THIRDPARTY.txt CHANGED
@@ -379,7 +379,7 @@ License: MIT
379
379
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
380
380
  Contained in: src/sap.ui.integration/src/sap/ui/integration/thirdparty/adaptive-expressions.js
381
381
 
382
- Component: Markdown-it, version: 12.3.2
382
+ Component: Markdown-it, version: 14.1.0
383
383
  Copyright: 2014 Vitaly Puzrin, Alex Kocharin
384
384
  License: MIT
385
385
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
@@ -444,7 +444,7 @@ License: Apache-2.0
444
444
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
445
445
  Contained in: lib/jsdoc/ui5/plugin.js
446
446
 
447
- Component: SAP Theming Base Content, version: 11.30.0
447
+ Component: SAP Theming Base Content, version: 11.32.2-20250827135846+79bb30d311678435d61b21db26ecbe07d6b05079
448
448
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
449
449
  License: Apache-2.0
450
450
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.mdc",
3
- "version": "1.139.0",
3
+ "version": "1.141.0",
4
4
  "description": "OpenUI5 UI Library sap.ui.mdc",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,8 +14,8 @@
14
14
  "url": "https://github.com/UI5/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.m": "1.139.0",
18
- "@openui5/sap.ui.core": "1.139.0",
19
- "@openui5/sap.ui.layout": "1.139.0"
17
+ "@openui5/sap.m": "1.141.0",
18
+ "@openui5/sap.ui.core": "1.141.0",
19
+ "@openui5/sap.ui.layout": "1.141.0"
20
20
  }
21
21
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 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.139.0</version>
9
+ <version>1.141.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.ui.mdc</documentation>
12
12
 
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * The content aggregation of the control must not be used.
34
34
  * @extends sap.m.OverflowToolbar
35
35
  * @author SAP SE
36
- * @version 1.139.0
36
+ * @version 1.141.0
37
37
  * @constructor
38
38
  * @since 1.58
39
39
  * @private
@@ -79,7 +79,7 @@ sap.ui.define([
79
79
  * @extends sap.ui.mdc.Control
80
80
  * @borrows sap.ui.mdc.mixin.FilterIntegrationMixin.rebind as #rebind
81
81
  * @author SAP SE
82
- * @version 1.139.0
82
+ * @version 1.141.0
83
83
  * @constructor
84
84
  *
85
85
  * @public
@@ -82,11 +82,23 @@ sap.ui.define([
82
82
  * @example <caption>Example usage of <code>getFilterDelegate</code></caption>
83
83
  * oFilterDelegate = {
84
84
  * addItem: function() {
85
- * var oFilterFieldPromise = new Promise(...);
85
+ * const oFilterFieldPromise = new Promise(...);
86
86
  * return oFilterFieldPromise;
87
+ * },
88
+ * addCondition: function() {
89
+ * const oConditionPromise = new Promise(...);
90
+ * return oConditionPromise;
91
+ * },
92
+ * removeCondition: function() {
93
+ * const oConditionPromise = new Promise(...);
94
+ * return oConditionPromise;
95
+ * },
96
+ * determineValidationState: function() {
97
+ * const oValidationPromise = new Promise(...);
98
+ * return oValidationPromise;
87
99
  * }
88
100
  * }
89
- * @returns {{addItem: (function(sap.ui.mdc.Chart, string): Promise<sap.ui.mdc.FilterField>)}} Object for the chart filter personalization
101
+ * @returns {sap.ui.mdc.FilterDelegateObject} Object for the chart filter personalization
90
102
  * @protected
91
103
  */
92
104
  ChartDelegate.getFilterDelegate = function() {
@@ -112,6 +124,7 @@ sap.ui.define([
112
124
  * @param {string} sPropertyName Name of a property
113
125
  * @param {Object} mPropertyBag Instance of property bag from the SAPUI5 flexibility API
114
126
  * @returns {Promise} <code>Promise</code> that resolves once the properyInfo property has been updated
127
+ * @see sap.ui.mdc.FilterBarDelegate#addCondition
115
128
  *
116
129
  */
117
130
  addCondition: function(oControl, sPropertyName, mPropertyBag) {
@@ -126,6 +139,7 @@ sap.ui.define([
126
139
  * @param {string} sPropertyName Name of a property
127
140
  * @param {Object} mPropertyBag Instance of property bag from the SAPUI5 flexibility API
128
141
  * @returns {Promise} <code>Promise</code> that resolves once the properyInfo property has been updated
142
+ * @see sap.ui.mdc.FilterBarDelegate#removeCondition
129
143
  *
130
144
  */
131
145
  removeCondition: function(oControl, sPropertyName, mPropertyBag) {
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.core.Control
24
24
  * @abstract
25
25
  * @author SAP SE
26
- * @version 1.139.0
26
+ * @version 1.141.0
27
27
  * @alias sap.ui.mdc.Control
28
28
  *
29
29
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as #awaitControlDelegate
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * </ul>
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.139.0
32
+ * @version 1.141.0
33
33
  * @public
34
34
  * @since 1.114.0
35
35
  * @namespace
@@ -52,9 +52,12 @@ sap.ui.define([
52
52
  if (oCustomOptions) {
53
53
  oFormatOptions = Object.assign({}, oFormatOptions, { strictParsing: true, showNumber: !!oCustomOptions.showNumber, showMeasure: !!oCustomOptions.showMeasure });
54
54
  }
55
- if (oFormatOptions && oFormatOptions.hasOwnProperty("unitOptional")) { // as per default set if both, showNumber and showMeasure set
55
+ if (oFormatOptions?.hasOwnProperty("unitOptional")) { // as per default set if both, showNumber and showMeasure set
56
56
  delete oFormatOptions.unitOptional; // let the type determine the right default
57
57
  }
58
+ if (oFormatOptions?.showMeasure && !oFormatOptions?.showNumber) { // unit only
59
+ oFormatOptions.emptyString = ""; // set it to default for unit. (as if set for both it is used for number)
60
+ }
58
61
  return [oFormatOptions, oConstraints];
59
62
  };
60
63
 
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.core.Element
24
24
  * @abstract
25
25
  * @author SAP SE
26
- * @version 1.139.0
26
+ * @version 1.141.0
27
27
  * @alias sap.ui.mdc.Element
28
28
  *
29
29
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as #awaitControlDelegate
@@ -64,13 +64,13 @@ sap.ui.define([
64
64
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent
65
65
  *
66
66
  * @author SAP SE
67
- * @version 1.139.0
67
+ * @version 1.141.0
68
68
  *
69
69
  * @constructor
70
70
  * @alias sap.ui.mdc.Field
71
71
  * @see {@link topic:1dd2aa91115d43409452a271d11be95b sap.ui.mdc}
72
72
  * @see {@link topic:5260b9ca249f465ab33769b9edb442aa Field Building Block (OData V4)}
73
- * @version 1.139.0
73
+ * @version 1.141.0
74
74
  * @since 1.54.0
75
75
  * @public
76
76
  */
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * The metadata information is provided via the {@link module:sap/ui/mdc/FilterBarDelegate FilterBarDelegate} implementation. This implementation has to be provided by the application.
43
43
  * @extends sap.ui.mdc.filterbar.FilterBarBase
44
44
  * @author SAP SE
45
- * @version 1.139.0
45
+ * @version 1.141.0
46
46
  * @constructor
47
47
  * @public
48
48
  * @since 1.61.0
@@ -53,13 +53,13 @@ sap.ui.define([
53
53
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.139.0
56
+ * @version 1.141.0
57
57
  *
58
58
  * @constructor
59
59
  * @alias sap.ui.mdc.FilterField
60
60
  * @see {@link topic:1dd2aa91115d43409452a271d11be95b sap.ui.mdc}
61
61
  * @see {@link topic:2df783760a8e4540ad19ce5ec3ed91c8 FilterField Building Block (OData V4)}
62
- * @version 1.139.0
62
+ * @version 1.141.0
63
63
  * @since 1.48.0
64
64
  * @public
65
65
  */
@@ -71,7 +71,7 @@ sap.ui.define([
71
71
  * @extends sap.ui.mdc.field.FieldInfoBase
72
72
  *
73
73
  * @author SAP SE
74
- * @version 1.139.0
74
+ * @version 1.141.0
75
75
  *
76
76
  * @constructor
77
77
  * @alias sap.ui.mdc.Link
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @constructor
45
45
  * @alias sap.ui.mdc.MultiValueField
46
46
  * @author SAP SE
47
- * @version 1.139.0
47
+ * @version 1.141.0
48
48
  * @since 1.93.0
49
49
  *
50
50
  * @public
@@ -2538,21 +2538,21 @@ sap.ui.define([
2538
2538
  };
2539
2539
 
2540
2540
  /**
2541
- * Allows to manually trigger the default export without the Export As features and resolves even if <code>preventDefault()</code> is called in
2541
+ * Allows manual triggering of the default export without the Export As features and resolves even if <code>preventDefault()</code> is called in
2542
2542
  * the <code>beforeExport</code> event if no error is thrown.
2543
2543
  *
2544
2544
  * <b>Note:</b>
2545
2545
  * <ul>
2546
- * <li>Export must be enabled by setting the property <code>enableExport</code> to <code>true</code></li>
2547
- * <li>The "sap.ui.export" library must be available.</li>
2546
+ * <li>Export must be enabled by setting the <code>enableExport</code> property to <code>true</code></li>
2547
+ * <li>The <code>sap.ui.export</code> library must be available.</li>
2548
2548
  * <li>The table must have at least one visible column.</li>
2549
2549
  * <li>Resolves even if <code>preventDefault()</code> is called in the <code>beforeExport</code> event if no error is thrown.</li>
2550
2550
  * </ul>
2551
2551
  *
2552
2552
  * @ui5-restricted sap.ux.eng.fioriai.reuse
2553
2553
  * @returns {Promise}
2554
- * Promise that resolves when the export is finished, rejects if the table does not have columns, the export is disabled, or the sap.ui.export
2555
- * library is unavailable.
2554
+ * <code>Promise</code> that resolves if the export is finished, rejects if the table does not have columns, the export is disabled,
2555
+ * or the <code>sap.ui.export</code> library is unavailable.
2556
2556
  * @private
2557
2557
  */
2558
2558
  Table.prototype.triggerExport = function() {
@@ -2560,29 +2560,34 @@ sap.ui.define([
2560
2560
  return Promise.reject("Export is not enabled for this table.");
2561
2561
  }
2562
2562
 
2563
- return this._onExport();
2563
+ return this._onExport(false, true);
2564
2564
  };
2565
2565
 
2566
2566
  /**
2567
2567
  * Triggers export via "sap.ui.export"/"Document Export Services" export functionality
2568
2568
  *
2569
- * @param {boolean} bExportAs controls whether the regular export or the Export As dialog should be called
2569
+ * @param {boolean} bExportAs Controls whether the regular export or the Export As dialog is called
2570
+ * @param {boolean} [bSuppressErrors=false] Indicates whether error messages are suppressed
2570
2571
  * @returns {Promise} Resolves when the export process is finished
2571
2572
  * @private
2572
2573
  */
2573
- Table.prototype._onExport = function(bExportAs) {
2574
+ Table.prototype._onExport = function(bExportAs, bSuppressErrors = false) {
2574
2575
  const that = this;
2576
+
2575
2577
  return this._createExportColumnConfiguration().then((aSheetColumns) => {
2576
2578
 
2577
2579
  // If no columns exist, show message and return without exporting
2578
2580
  if (!aSheetColumns || !aSheetColumns.length) {
2579
2581
  const sErrorMessage = Library.getResourceBundleFor("sap.ui.mdc").getText("table.NO_COLS_EXPORT");
2580
2582
 
2581
- sap.ui.require(["sap/m/MessageBox"], function(MessageBox) {
2582
- MessageBox.error(sErrorMessage, {
2583
- styleClass: (this.$() && this.$().closest(".sapUiSizeCompact").length) ? "sapUiSizeCompact" : ""
2584
- });
2585
- }.bind(that));
2583
+ if (!bSuppressErrors) {
2584
+ sap.ui.require(["sap/m/MessageBox"], function(MessageBox) {
2585
+ MessageBox.error(sErrorMessage, {
2586
+ styleClass: (this.$() && this.$().closest(".sapUiSizeCompact").length) ? "sapUiSizeCompact" : ""
2587
+ });
2588
+ }.bind(that));
2589
+ }
2590
+
2586
2591
  throw new Error(sErrorMessage);
2587
2592
  }
2588
2593
 
@@ -2818,11 +2823,9 @@ sap.ui.define([
2818
2823
  };
2819
2824
 
2820
2825
  Table.prototype._onSelectionChange = function(mPropertyBag) {
2821
- if (!this._bSelectionChangedByAPI) {
2822
- this.fireSelectionChange({
2823
- selectAll: mPropertyBag.selectAll
2824
- });
2825
- }
2826
+ this.fireSelectionChange({
2827
+ selectAll: mPropertyBag.selectAll
2828
+ });
2826
2829
  };
2827
2830
 
2828
2831
  Table.prototype._onColumnResize = function(mPropertyBag) {
@@ -2976,9 +2979,7 @@ sap.ui.define([
2976
2979
  */
2977
2980
  Table.prototype.clearSelection = function() {
2978
2981
  if (this.isControlDelegateInitialized()) {
2979
- this._bSelectionChangedByAPI = true;
2980
2982
  this.getControlDelegate().clearSelection(this);
2981
- this._bSelectionChangedByAPI = false;
2982
2983
  }
2983
2984
  };
2984
2985
 
@@ -282,17 +282,26 @@ sap.ui.define([
282
282
  /**
283
283
  * Returns the filter delegate of the table that provides basic filter functionality, such as adding filter fields.
284
284
  *
285
- * <b>Note:</b> The functionality provided in this delegate acts as a subset of a <code>FilterBarDelegate</code> to enable the table for
286
- * inbuilt filtering.<br>
287
- *
288
285
  * @example
289
- * TableDelegate.getFilterDelegate = {
286
+ * oFilterDelegate = {
290
287
  * addItem: function() {
291
- * var oFilterFieldPromise = new Promise(...);
288
+ * const oFilterFieldPromise = new Promise(...);
292
289
  * return oFilterFieldPromise;
290
+ * },
291
+ * addCondition: function() {
292
+ * const oConditionPromise = new Promise(...);
293
+ * return oConditionPromise;
294
+ * },
295
+ * removeCondition: function() {
296
+ * const oConditionPromise = new Promise(...);
297
+ * return oConditionPromise;
298
+ * },
299
+ * determineValidationState: function() {
300
+ * const oValidationPromise = new Promise(...);
301
+ * return oValidationPromise;
293
302
  * }
294
303
  * }
295
- * @returns {{addItem: (function(sap.ui.mdc.Table, string): Promise<sap.ui.mdc.FilterField>)}} Object for the tables filter personalization
304
+ * @returns {sap.ui.mdc.FilterDelegateObject} Object for the tables filter personalization
296
305
  * @protected
297
306
  */
298
307
  TableDelegate.getFilterDelegate = function() {
@@ -323,6 +332,7 @@ sap.ui.define([
323
332
  * @param {string} sPropertyKey The property key
324
333
  * @param {Object} mPropertyBag Instance of a property bag from the SAPUI5 flexibility API
325
334
  * @returns {Promise} A <code>Promise</code> that resolves once the properyInfo property has been updated
335
+ * @see sap.ui.mdc.FilterBarDelegate#addCondition
326
336
  */
327
337
  addCondition: function(oTable, sPropertyKey, mPropertyBag) {
328
338
  return Promise.resolve();
@@ -338,6 +348,7 @@ sap.ui.define([
338
348
  * @param {string} sPropertyKey The property key
339
349
  * @param {Object} mPropertyBag Instance of a property bag from the SAPUI5 flexibility API
340
350
  * @returns {Promise} A <code>Promise</code> that resolves once the properyInfo property has been updated
351
+ * @see sap.ui.mdc.FilterBarDelegate#removeCondition
341
352
  */
342
353
  removeCondition: function(oTable, sPropertyKey, mPropertyBag) {
343
354
  return Promise.resolve();
@@ -69,7 +69,7 @@ sap.ui.define([
69
69
  * and {@link sap.ui.mdc.FilterField FilterField} controls using the <code>valueHelp</code> association. One <code>ValueHelp</code> element instance can be
70
70
  * assigned to multiple fields (like in different table rows). It should be placed in the control tree on the container holding the fields.
71
71
  * @extends sap.ui.mdc.Element
72
- * @version 1.139.0
72
+ * @version 1.141.0
73
73
  * @constructor
74
74
  * @abstract
75
75
  * @public
@@ -390,7 +390,9 @@ sap.ui.define([
390
390
  oListBindingInfo.template.mAggregations.cells.forEach((oCell) => {
391
391
  Object.values(oCell.mBindingInfos).forEach((oBindingInfo) => {
392
392
  oBindingInfo.parts.forEach((oPartInfo) => {
393
- oConditionTypes[oPartInfo.path] = { type: oPartInfo.type || null, baseType: oPartInfo.type ? oTypeMap.getBaseTypeForType(oPartInfo.type) : BaseType.String };
393
+ const {type, formatOptions, constraints, path} = oPartInfo;
394
+ const oTypeInstance = typeof type === "string" ? oTypeMap.getDataTypeInstance(type, formatOptions, constraints) : type;
395
+ oConditionTypes[path] = { type: oTypeInstance || null, baseType: oTypeInstance ? oTypeMap.getBaseTypeForType(oTypeInstance) : BaseType.String };
394
396
  });
395
397
  });
396
398
  }, {});
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * The action for an {@link sap.ui.mdc.ActionToolbar ActionToolbar} control with given layout information that determines where the wrapped control is displayed on the <code>ActionToolbar</code>.
28
28
  * @extends sap.ui.core.Control
29
29
  * @author SAP SE
30
- * @version 1.139.0
30
+ * @version 1.141.0
31
31
  * @constructor
32
32
  * @since 1.58
33
33
  * @public
@@ -38,7 +38,8 @@ sap.ui.define([
38
38
  library: "sap.ui.mdc",
39
39
  designtime: "sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime",
40
40
  interfaces: [
41
- "sap.m.IOverflowToolbarContent"
41
+ "sap.m.IOverflowToolbarContent",
42
+ "sap.m.IToolbarInteractiveControl"
42
43
  ],
43
44
  properties: {
44
45
  /**
@@ -154,6 +155,10 @@ sap.ui.define([
154
155
  };
155
156
  };
156
157
 
158
+ ActionToolbarAction.prototype._getToolbarInteractive = function() {
159
+ return this.getAction()?._getToolbarInteractive?.() ?? false;
160
+ };
161
+
157
162
  ActionToolbarAction.prototype.getLabel = function() {
158
163
  const sLabel = this.getProperty("label");
159
164
  if (sLabel) {
@@ -164,6 +169,12 @@ sap.ui.define([
164
169
  return oAction && oAction.getText ? oAction.getText() : this.getId();
165
170
  };
166
171
 
172
+ // Provide focus fail handling to set focus back on Additional Options button of ActionToolbar
173
+ // SNOW: DINC0541991
174
+ ActionToolbarAction.prototype.onfocusfail = function (oEvent) {
175
+ this.getParent()?.onfocusfail(oEvent);
176
+ };
177
+
167
178
  function _updateSeparators(oActionToolbar) {
168
179
  if (oActionToolbar?._updateSeparators) {
169
180
  oActionToolbar._updateSeparators();
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @class The <code>ChartImplementationContainer</code> creates a container for the <code>content</code> (chart) and <code>noDataContent</code>. Based on the <code>showNoDataStruct</code> the <code>content</code> or <code>noDataContent</code> will be shown.
22
22
  * @extends sap.ui.core.Control
23
23
  * @author SAP SE
24
- * @version 1.139.0
24
+ * @version 1.141.0
25
25
  * @constructor
26
26
  *
27
27
  * @public
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @class The <code>ChartSelectionDetails</code> control creates a <code>sap.m.SelectionDetails</code> popover based on metadata and the configuration specified.
39
39
  * @extends sap.m.SelectionDetails
40
40
  * @author SAP SE
41
- * @version 1.139.0
41
+ * @version 1.141.0
42
42
  * @constructor
43
43
  * @public
44
44
  * @experimental As of version 1.88
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.mdc.util.PropertyHelper
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.139.0
29
+ * @version 1.141.0
30
30
  *
31
31
  * @private
32
32
  * @since 1.83
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @namespace
50
50
  * @alias sap.ui.mdc.chart.ToolbarControlFactory
51
51
  * @author SAP SE
52
- * @version 1.139.0
52
+ * @version 1.141.0
53
53
  * @since 1.123
54
54
  * @experimental
55
55
  * @private
@@ -95,5 +95,30 @@ sap.ui.define([
95
95
  }
96
96
  };
97
97
 
98
+ Util.getErrorMessageForMissingMeasuresAndDimensions = function (sChartType, oError) {
99
+ const MDCRb = Library.getResourceBundleFor("sap.ui.mdc");
100
+ const oChartRB = Library.getResourceBundleFor("sap.chart");
101
+ const sChartTypeText = oChartRB.getText("info/" + sChartType);
102
+
103
+ let sErrorMsg = "";
104
+ let iDimension = oError["Dimension"] ? oError["Dimension"] : "";
105
+ let iMeasure = oError["Measure"] ? oError["Measure"] : "";
106
+
107
+ if (iDimension < 0) {
108
+ iDimension = 0;
109
+ }
110
+ if (iMeasure < 0) {
111
+ iMeasure = 0;
112
+ }
113
+ if (iDimension && iMeasure) {
114
+ sErrorMsg = MDCRb.getText("chart.MISSING_DIMENSION_AND_MEASURE_ERROR_MESSAGE", [sChartTypeText, iMeasure, iDimension]);
115
+ } else if (iDimension) {
116
+ sErrorMsg = MDCRb.getText("chart.MISSING_DIMENSION_ERROR_MESSAGE", [sChartTypeText, iDimension]);
117
+ } else if (iMeasure) {
118
+ sErrorMsg = MDCRb.getText("chart.MISSING_MEASURE_ERROR_MESSAGE", [sChartTypeText, iMeasure]);
119
+ }
120
+ return sErrorMsg;
121
+ };
122
+
98
123
  return Util;
99
124
  });
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  *
34
34
  * @namespace
35
35
  * @author SAP SE
36
- * @version 1.139.0
36
+ * @version 1.141.0
37
37
  * @since 1.61.0
38
38
  * @alias sap.ui.mdc.condition.Condition
39
39
  *
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace
26
26
  * @author SAP SE
27
- * @version 1.139.0
27
+ * @version 1.141.0
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.mdc
30
30
  * @since 1.74.0
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.ui.model.json.JSONModel
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.139.0
36
+ * @version 1.141.0
37
37
  * @since 1.48.0
38
38
  * @alias sap.ui.mdc.condition.ConditionModel
39
39
  *
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  * @namespace
28
28
  * @author SAP SE
29
- * @version 1.139.0
29
+ * @version 1.141.0
30
30
  * @since 1.78.0
31
31
  * @alias sap.ui.mdc.condition.FilterConverter
32
32
  *
@@ -68,7 +68,7 @@ sap.ui.define([
68
68
  *
69
69
  * @namespace
70
70
  * @author SAP SE
71
- * @version 1.139.0
71
+ * @version 1.141.0
72
72
  * @since 1.73.0
73
73
  * @alias sap.ui.mdc.condition.FilterOperatorUtil
74
74
  *
@@ -528,10 +528,10 @@ sap.ui.define([
528
528
  tokenParse: "^<#tokenText#>$",
529
529
  tokenFormat: "<#tokenText#>",
530
530
  longText: _getText(OperatorName.Empty, true),
531
- longTextForTypes: _getTextForTypes(OperatorName.Empty, [BaseType.Date], true),
531
+ // longTextForTypes: _getTextForTypes(OperatorName.Empty, [BaseType.Date], true),
532
532
  tokenText: _getText(OperatorName.Empty, false),
533
- tokenTextForTypes: _getTextForTypes(OperatorName.Empty, [BaseType.Date], false),
534
- groupsForTypes: _getGroupsForTypes([{id: "901", name: "GROUP3", baseType: BaseType.Date}]), // need to had a group number starting > 2 otherwise in operators dropdown it would me inserted between 1 and 2
533
+ // tokenTextForTypes: _getTextForTypes(OperatorName.Empty, [BaseType.Date], false),
534
+ // groupsForTypes: _getGroupsForTypes([{id: "901", name: "GROUP3", baseType: BaseType.Date}]), // need to had a group number starting > 2 otherwise in operators dropdown it would me inserted between 1 and 2
535
535
  valueTypes: [],
536
536
  getModelFilter: function(oCondition, sFieldPath, oType, bCaseSensitive, sBaseType) {
537
537
  const oAnyAllPath = _getAnyAllPath(sFieldPath);
@@ -2591,17 +2591,17 @@ sap.ui.define([
2591
2591
 
2592
2592
  }
2593
2593
 
2594
- function _getGroupsForTypes(aGroupsForTypes) { // Arry of objects {id: iId, name: sName, baseType: sBaseType}
2594
+ // function _getGroupsForTypes(aGroupsForTypes) { // Arry of objects {id: iId, name: sName, baseType: sBaseType}
2595
2595
 
2596
- const sTextKey = "VALUEHELP.OPERATOR.";
2597
- const oGroups = {};
2596
+ // const sTextKey = "VALUEHELP.OPERATOR.";
2597
+ // const oGroups = {};
2598
2598
 
2599
- for (let i = 0; i < aGroupsForTypes.length; i++) {
2600
- oGroups[aGroupsForTypes[i].baseType] = {id: aGroupsForTypes[i].id, text: oMessageBundle.getText(sTextKey + aGroupsForTypes[i].name.toUpperCase(), undefined, true)};
2601
- }
2602
- return oGroups;
2599
+ // for (let i = 0; i < aGroupsForTypes.length; i++) {
2600
+ // oGroups[aGroupsForTypes[i].baseType] = {id: aGroupsForTypes[i].id, text: oMessageBundle.getText(sTextKey + aGroupsForTypes[i].name.toUpperCase(), undefined, true)};
2601
+ // }
2602
+ // return oGroups;
2603
2603
 
2604
- }
2604
+ // }
2605
2605
 
2606
2606
  function _getAnyAllPath(sFieldPath) {
2607
2607
 
@@ -100,10 +100,10 @@ sap.ui.define([
100
100
  * (In this case <code>#tokenText#</code> is used in <code>tokenFormat</code>, <code>tokenTest</code>, or <code>tokenParse</code>.)
101
101
  * For operators just showing the value and a operator symbol, no token text is needed.<br>
102
102
  * If the token text is not given, the <code>longText</code> is used.
103
- * If <code>tokenTextForTypes</code> is provided for a special type, this one will be used for the corresponding type.
104
- * @param {object} [oConfiguration.tokenTextForTypes] Object holding String representation of the operator as a token text for single basic types.<br>
105
- * This text is shown in a single-value field as text or a multi-value field as token.<br>
106
- * This is needed if the text depends on the used data type. For example the "equal" operator should be named "Not Specified (empty)" if a date or time type is used.
103
+ * If <code>tokenTextForTypes</code> is provided for a special type, it will be used for that.
104
+ * @param {object} [oConfiguration.tokenTextForTypes] Object holding string representation of the operator as a token text for single basic types.<br>
105
+ * This text is shown as text in a single-value field or as token in a multi-value field.<br>
106
+ * This is needed if the text depends on the data type used. For example, the "equal" operator should be named "Not Specified (empty)" if a date or time type is used.
107
107
  * @param {object} [oConfiguration.longTextForTypes] Object holding String representation of the operator as a long text for single basic types.<br>
108
108
  * This text is shown in the operator dropdown of the value help.<br>
109
109
  * This is needed if the text depends on the used data type. For example the "less than" operator should be named "before" if a date or time type is used.
@@ -138,13 +138,13 @@ sap.ui.define([
138
138
  * group: {id : 1} - adds the operator to existing group 1 'Single Dates'<br>
139
139
  * group: {id : 2, text: "new group"} - inserts a new group with id 2. Existing group 2 will be shifted to 3, 4....<br>
140
140
  * group: {id : 10, text: "new group at the end"} - adds a new group with id 10 and text "new group as the end" to the end of all groups<br>
141
- * <b>Note:</b> The ids 900-999 are reserved for internal mdc usage, please use ids outside this range
141
+ * <b>Note:</b> The ids 900-999 are reserved for internal mdc usage, please use only IDs outside of this range.
142
142
  * @param {string} [oConfiguration.group.text] Group title for the operator. When used a new group with this title will be added.
143
- * @param {object} [oConfiguration.groupsForTypes] Additional group settings for the operator depending on the type. For every type a group object can be defined.
143
+ * @param {object} [oConfiguration.groupsForTypes] Additional group settings for the operator depending on the type. For every type, a group object can be defined.
144
144
  * @param {function} [oConfiguration.getTextForCopy] Function to determine the text copied into clipboard
145
145
  * @constructor
146
146
  * @author SAP SE
147
- * @version 1.139.0
147
+ * @version 1.141.0
148
148
  * @public
149
149
  * @alias sap.ui.mdc.condition.Operator
150
150
  * @since 1.73.0