@openui5/sap.ui.mdc 1.123.1 → 1.124.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 (162) hide show
  1. package/package.json +4 -4
  2. package/src/sap/ui/mdc/.library +1 -1
  3. package/src/sap/ui/mdc/ActionToolbar.js +3 -2
  4. package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -2
  5. package/src/sap/ui/mdc/Chart.js +9 -5
  6. package/src/sap/ui/mdc/ChartDelegate.js +9 -4
  7. package/src/sap/ui/mdc/Control.js +1 -3
  8. package/src/sap/ui/mdc/DefaultTypeMap.js +1 -1
  9. package/src/sap/ui/mdc/Element.js +1 -3
  10. package/src/sap/ui/mdc/Field.js +2 -3
  11. package/src/sap/ui/mdc/FilterBar.js +1 -2
  12. package/src/sap/ui/mdc/FilterBarDelegate.js +3 -0
  13. package/src/sap/ui/mdc/FilterField.js +2 -3
  14. package/src/sap/ui/mdc/Link.js +1 -3
  15. package/src/sap/ui/mdc/LinkDelegate.js +0 -2
  16. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  17. package/src/sap/ui/mdc/Table.js +21 -39
  18. package/src/sap/ui/mdc/TableDelegate.js +7 -3
  19. package/src/sap/ui/mdc/ValueHelp.js +1 -3
  20. package/src/sap/ui/mdc/ValueHelpDelegate.js +0 -2
  21. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -4
  22. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +2 -1
  23. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +2 -1
  24. package/src/sap/ui/mdc/chart/Item.js +1 -0
  25. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  26. package/src/sap/ui/mdc/chart/SelectionButton.js +16 -21
  27. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +1 -0
  28. package/src/sap/ui/mdc/chart/ToolbarControlFactory.js +1 -1
  29. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  30. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -2
  31. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -2
  32. package/src/sap/ui/mdc/condition/ConditionModelPropertyBinding.js +0 -1
  33. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -2
  34. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +33 -21
  35. package/src/sap/ui/mdc/condition/Operator.js +36 -6
  36. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -2
  37. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  38. package/src/sap/ui/mdc/enums/ActionToolbarActionAlignment.js +1 -0
  39. package/src/sap/ui/mdc/enums/ChartP13nMode.js +1 -0
  40. package/src/sap/ui/mdc/enums/ChartToolbarActionType.js +1 -0
  41. package/src/sap/ui/mdc/enums/ContentMode.js +1 -2
  42. package/src/sap/ui/mdc/enums/TableType.js +0 -1
  43. package/src/sap/ui/mdc/field/ConditionType.js +44 -45
  44. package/src/sap/ui/mdc/field/ConditionTypeMixin.js +17 -3
  45. package/src/sap/ui/mdc/field/ConditionsType.js +26 -31
  46. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -2
  47. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
  48. package/src/sap/ui/mdc/field/FieldBase.js +6 -13
  49. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +51 -3
  50. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  51. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  52. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  53. package/src/sap/ui/mdc/field/FieldMultiInput.js +70 -3
  54. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  55. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +2 -0
  56. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +2 -1
  57. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  58. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  59. package/src/sap/ui/mdc/field/content/BooleanContent.js +0 -1
  60. package/src/sap/ui/mdc/field/content/ContentFactory.js +0 -2
  61. package/src/sap/ui/mdc/field/content/DateContent.js +0 -1
  62. package/src/sap/ui/mdc/field/content/DateTimeContent.js +0 -1
  63. package/src/sap/ui/mdc/field/content/DefaultContent.js +0 -1
  64. package/src/sap/ui/mdc/field/content/LinkContent.js +0 -1
  65. package/src/sap/ui/mdc/field/content/SearchContent.js +0 -1
  66. package/src/sap/ui/mdc/field/content/TimeContent.js +0 -1
  67. package/src/sap/ui/mdc/field/content/UnitContent.js +0 -1
  68. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +5 -3
  69. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  70. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +11 -3
  71. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +5 -106
  72. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +10 -271
  73. package/src/sap/ui/mdc/filterbar/vh/FilterBarDelegate.js +6 -15
  74. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +6 -131
  75. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  76. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  77. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  78. package/src/sap/ui/mdc/flexibility/GroupFlex.js +21 -16
  79. package/src/sap/ui/mdc/flexibility/SortFlex.js +16 -14
  80. package/src/sap/ui/mdc/flexibility/helpers/addKeyOrName.js +28 -0
  81. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +0 -3
  82. package/src/sap/ui/mdc/library.js +5 -14
  83. package/src/sap/ui/mdc/link/Factory.js +1 -1
  84. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  85. package/src/sap/ui/mdc/link/Panel.js +2 -1
  86. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  87. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  88. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  89. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  90. package/src/sap/ui/mdc/messagebundle_et.properties +1 -1
  91. package/src/sap/ui/mdc/messagebundle_sh.properties +110 -110
  92. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -2
  93. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -2
  94. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -2
  95. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -2
  96. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -2
  97. package/src/sap/ui/mdc/mixin/delegate/FilterIntegrationDefault.js +0 -1
  98. package/src/sap/ui/mdc/odata/TypeMap.js +1 -1
  99. package/src/sap/ui/mdc/odata/TypeUtil.js +0 -3
  100. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +7 -7
  101. package/src/sap/ui/mdc/odata/v4/TypeMap.js +1 -1
  102. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +0 -3
  103. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +0 -2
  104. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +0 -1
  105. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +6 -1
  106. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -2
  107. package/src/sap/ui/mdc/p13n/StateUtil.js +6 -6
  108. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +3 -4
  109. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +0 -1
  110. package/src/sap/ui/mdc/p13n/panels/GroupView.js +0 -1
  111. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +2 -1
  112. package/src/sap/ui/mdc/p13n/subcontroller/SelectionController.js +21 -1
  113. package/src/sap/ui/mdc/table/Column.js +12 -30
  114. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  115. package/src/sap/ui/mdc/table/CreationRow.js +1 -2
  116. package/src/sap/ui/mdc/table/DragDropConfig.js +1 -1
  117. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -2
  118. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  119. package/src/sap/ui/mdc/table/ResponsiveTableType.js +17 -0
  120. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  121. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  122. package/src/sap/ui/mdc/table/TableSettings.js +0 -3
  123. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -2
  124. package/src/sap/ui/mdc/table/utils/Personalization.js +45 -33
  125. package/src/sap/ui/mdc/ushell/LinkDelegate.js +0 -3
  126. package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +1 -1
  127. package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +1 -1
  128. package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +1 -1
  129. package/src/sap/ui/mdc/util/InfoBar.js +1 -2
  130. package/src/sap/ui/mdc/util/PromiseCache.js +1 -2
  131. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -4
  132. package/src/sap/ui/mdc/util/TypeMap.js +0 -3
  133. package/src/sap/ui/mdc/util/TypeUtil.js +0 -3
  134. package/src/sap/ui/mdc/valuehelp/CollectiveSearchSelect.js +141 -0
  135. package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
  136. package/src/sap/ui/mdc/valuehelp/FilterBar.js +304 -0
  137. package/src/sap/ui/mdc/valuehelp/FilterBarDelegate.js +31 -0
  138. package/src/sap/ui/mdc/valuehelp/FilterContainer.js +152 -0
  139. package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
  140. package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -2
  141. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -5
  142. package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +1 -1
  143. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -2
  144. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +1 -1
  145. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  146. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -2
  147. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  148. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  149. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +1 -1
  150. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +2 -2
  151. package/src/sap/ui/mdc/valuehelp/content/MTable.js +1 -1
  152. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +2 -1
  153. package/test/sap/ui/mdc/testutils/opa/field/Actions.js +3 -2
  154. package/test/sap/ui/mdc/testutils/opa/field/Assertions.js +12 -0
  155. package/test/sap/ui/mdc/testutils/opa/field/TestObjects.js +27 -2
  156. package/test/sap/ui/mdc/testutils/opa/multivaluefield/Actions.js +36 -0
  157. package/test/sap/ui/mdc/testutils/opa/multivaluefield/Assertions.js +82 -0
  158. package/test/sap/ui/mdc/testutils/opa/multivaluefield/JSDoc.md +80 -0
  159. package/test/sap/ui/mdc/testutils/opa/multivaluefield/TestObjects.js +86 -0
  160. package/test/sap/ui/mdc/testutils/opa/multivaluefield/waitForMultiValueField.js +36 -0
  161. package/test/sap/ui/mdc/testutils/opa/table/Assertions.js +12 -6
  162. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +18 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.mdc",
3
- "version": "1.123.1",
3
+ "version": "1.124.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/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.m": "1.123.1",
18
- "@openui5/sap.ui.core": "1.123.1",
19
- "@openui5/sap.ui.layout": "1.123.1"
17
+ "@openui5/sap.m": "1.124.0",
18
+ "@openui5/sap.ui.core": "1.124.0",
19
+ "@openui5/sap.ui.layout": "1.124.0"
20
20
  }
21
21
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.123.1</version>
9
+ <version>1.124.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.ui.mdc</documentation>
12
12
 
@@ -33,10 +33,10 @@ 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.123.1
36
+ * @version 1.124.0
37
37
  * @constructor
38
38
  * @since 1.58
39
- * @public
39
+ * @private
40
40
  * @alias sap.ui.mdc.ActionToolbar
41
41
  */
42
42
 
@@ -417,6 +417,7 @@ sap.ui.define([
417
417
  sId = oAction && oAction.getId();
418
418
  if (oAction.getVisible()) {
419
419
  aActions.push({
420
+ key: sId,
420
421
  name: sId,
421
422
  alignment: oAction.getLayoutInformation().alignment
422
423
  });
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  // sap.ui.mdc.AggregationBaseDelegate
8
- sap.ui.define(['sap/ui/mdc/BaseDelegate', 'sap/ui/core/library'], (BaseDelegate, coreLibrary) => {
8
+ sap.ui.define(['sap/ui/mdc/BaseDelegate', 'sap/ui/core/message/MessageType'], (BaseDelegate, MessageType) => {
9
9
  "use strict";
10
10
 
11
11
  /**
@@ -98,7 +98,7 @@ sap.ui.define(['sap/ui/mdc/BaseDelegate', 'sap/ui/core/library'], (BaseDelegate,
98
98
  */
99
99
  AggregationBaseDelegate.validateState = function(oControl, oState) {
100
100
 
101
- const sValidation = coreLibrary.MessageType.None;
101
+ const sValidation = MessageType.None;
102
102
 
103
103
  return {
104
104
  validation: sValidation,
@@ -71,7 +71,7 @@ sap.ui.define([
71
71
  * @extends sap.ui.mdc.Control
72
72
  * @borrows sap.ui.mdc.mixin.FilterIntegrationMixin.rebind as #rebind
73
73
  * @author SAP SE
74
- * @version 1.123.1
74
+ * @version 1.124.0
75
75
  * @constructor
76
76
  *
77
77
  * @public
@@ -335,6 +335,7 @@ sap.ui.define([
335
335
  /**
336
336
  * This aggregation describes actions that are added to the chart toolbar.<br>
337
337
  * For more information, see {@link sap.ui.mdc.actiontoolbar.ActionToolbarAction}.
338
+ *
338
339
  * <b>Note:</b>
339
340
  * This aggregation is managed by the control, can only be populated during the definition in the XML view, and is not bindable.
340
341
  * Any changes of the initial aggregation content might result in undesired effects.
@@ -487,6 +488,7 @@ sap.ui.define([
487
488
  * @property {object} [unitPath]
488
489
  * The name of the unit property which will be used to display and format measure values with a unit value on a selectionDetails popover
489
490
  * @public
491
+ * @experimental As of version 1.80
490
492
  */
491
493
 
492
494
 
@@ -987,7 +989,7 @@ sap.ui.define([
987
989
  }.bind(this)
988
990
  });
989
991
 
990
- const aItems = this.getControlDelegate().getDrillableItems(this).map(function(oItem) { return { key: oItem.getPropertyKey(), text: oItem.getLabel() }; });
992
+ const aItems = this.getControlDelegate().getDrillableItems(this).map((oItem) => { return { key: oItem.getPropertyKey(), text: oItem.getLabel() }; });
991
993
  _oBreadcrumbs.update(aItems);
992
994
  this.setAggregation("_breadcrumbs", _oBreadcrumbs);
993
995
  }
@@ -1071,7 +1073,7 @@ sap.ui.define([
1071
1073
  this._rebind();
1072
1074
 
1073
1075
  //Update the breadcrumbs after an MDC Item change
1074
- const aItems = this.getControlDelegate().getDrillableItems(this).map(function(oItem) { return { key: oItem.getPropertyKey(), text: oItem.getLabel() }; });
1076
+ const aItems = this.getControlDelegate().getDrillableItems(this).map((oItem) => { return { key: oItem.getPropertyKey(), text: oItem.getLabel() }; });
1075
1077
  this.getAggregation("_breadcrumbs").update(aItems);
1076
1078
  };
1077
1079
 
@@ -1540,9 +1542,11 @@ sap.ui.define([
1540
1542
  Chart.prototype._getVisibleProperties = function() {
1541
1543
  const aProperties = [];
1542
1544
  this.getItems().forEach((oItem) => {
1545
+ const sPropertyKey = oItem.getPropertyKey();
1543
1546
  aProperties.push({
1544
- name: oItem.getPropertyKey(),
1545
- role: oItem.getRole()
1547
+ key: sPropertyKey,
1548
+ name: sPropertyKey,
1549
+ role: oItem.getRole() // TODO: not part of sap.ui.mdc.State?
1546
1550
  });
1547
1551
 
1548
1552
  });
@@ -19,6 +19,7 @@ sap.ui.define([
19
19
  * @mixes module:sap/ui/mdc/mixin/delegate/FilterIntegrationDefault
20
20
  * @since 1.88
21
21
  * @public
22
+ * @experimental As of version 1.88
22
23
  *
23
24
  */
24
25
  const ChartDelegate = Object.assign({}, AggregationBaseDelegate, FilterIntegrationDefault);
@@ -59,7 +60,7 @@ sap.ui.define([
59
60
  * @typedef {object} sap.ui.mdc.chart.ZoomState
60
61
  * @property {boolean} enabled Zooming is enabled if set to <code>true</code>
61
62
  * @property {number} currentZoomLevel Current zoom level of the chart in percent (between 0 and 1)
62
- *
63
+ * @experimental As of version 1.80
63
64
  * @public
64
65
  */
65
66
 
@@ -177,7 +178,7 @@ sap.ui.define([
177
178
  * @typedef {object} sap.ui.mdc.chart.SelectionDetails
178
179
  * @property {string} eventId ID of the selection event
179
180
  * @property {sap.ui.core.Control} listener Reference to inner chart
180
- *
181
+ * @experimental As of version 1.80
181
182
  * @public
182
183
  */
183
184
 
@@ -268,7 +269,7 @@ sap.ui.define([
268
269
  * @property {sap.ui.core.URI} icon URI for the icon for the current chart type
269
270
  * @property {string} text Name of the current chart type
270
271
  * @property {boolean} selected Whether the chart type is the one currently used
271
- *
272
+ * @experimental As of version 1.80
272
273
  * @public
273
274
  */
274
275
 
@@ -300,7 +301,7 @@ sap.ui.define([
300
301
  * @typedef {object} sap.ui.mdc.chart.ChartTypeLayoutConfig
301
302
  * @property {string} key identifier for the chart type
302
303
  * @property {string[]} allowedLayoutOptions Layout configuration of chart type
303
- *
304
+ * @experimental As of version 1.80
304
305
  * @public
305
306
  */
306
307
 
@@ -474,6 +475,10 @@ sap.ui.define([
474
475
  /**
475
476
  * Returns the relevant property info based on the metadata used with the chart instance.
476
477
  *
478
+ * <b>Note:</b>
479
+ * The result of this function must be kept stable throughout the lifecycle of your application.
480
+ * Any changes of the returned values might result in undesired effects.
481
+ *
477
482
  * @param {sap.ui.mdc.Chart} oChart Reference to the chart
478
483
  * @returns {Promise<sap.ui.mdc.chart.PropertyInfo[]>} Array of the property infos that is used within the chart
479
484
  *
@@ -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.123.1
26
+ * @version 1.124.0
27
27
  * @alias sap.ui.mdc.Control
28
28
  *
29
29
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as #awaitControlDelegate
@@ -45,7 +45,6 @@ sap.ui.define([
45
45
  *
46
46
  * @since 1.61
47
47
  * @public
48
- * @experimental As of version 1.61
49
48
  */
50
49
  const Control = CoreControl.extend("sap.ui.mdc.Control", /** @lends sap.ui.mdc.Control.prototype */ {
51
50
  metadata: {
@@ -65,7 +64,6 @@ sap.ui.define([
65
64
  * }</code></pre>
66
65
  * <b>Note:</b> Ensure that the related file can be requested (any required library has to be loaded before that).<br>
67
66
  * Do not bind or modify the module. This property can only be configured during control initialization.
68
- * @experimental
69
67
  */
70
68
  delegate: {
71
69
  type: "object",
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * </ul>
29
29
  *
30
30
  * @author SAP SE
31
- * @version 1.123.1
31
+ * @version 1.124.0
32
32
  * @public
33
33
  * @since 1.114.0
34
34
  * @namespace
@@ -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.123.1
26
+ * @version 1.124.0
27
27
  * @alias sap.ui.mdc.Element
28
28
  *
29
29
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as #awaitControlDelegate
@@ -45,7 +45,6 @@ sap.ui.define([
45
45
  *
46
46
  * @since 1.74
47
47
  * @public
48
- * @experimental As of version 1.74
49
48
  */
50
49
  const Element = CoreElement.extend("sap.ui.mdc.Element", /** @lends sap.ui.mdc.Element.prototype */ {
51
50
  metadata: {
@@ -65,7 +64,6 @@ sap.ui.define([
65
64
  * }</code></pre>
66
65
  * <b>Note:</b> Ensure that the related file can be requested (any required library has to be loaded before that).<br>
67
66
  * Do not bind or modify the module. This property can only be configured during control initialization.
68
- * @experimental
69
67
  */
70
68
  delegate: {
71
69
  type: "object",
@@ -54,15 +54,14 @@ sap.ui.define([
54
54
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent
55
55
  *
56
56
  * @author SAP SE
57
- * @version 1.123.1
57
+ * @version 1.124.0
58
58
  *
59
59
  * @constructor
60
60
  * @alias sap.ui.mdc.Field
61
- * @version 1.123.1
61
+ * @version 1.124.0
62
62
  * @since 1.54.0
63
63
  *
64
64
  * @public
65
- * @experimental As of version 1.54.0
66
65
  */
67
66
  const Field = FieldBase.extend("sap.ui.mdc.Field", /* @lends sap.ui.mdc.Field.prototype */ {
68
67
  metadata: {
@@ -45,12 +45,11 @@ sap.ui.define([
45
45
  * The metadata information is provided via the {@link module:sap/ui/mdc/FilterBarDelegate FilterBarDelegate} implementation. This implementation has to be provided by the application.
46
46
  * @extends sap.ui.mdc.filterbar.FilterBarBase
47
47
  * @author SAP SE
48
- * @version 1.123.1
48
+ * @version 1.124.0
49
49
  * @constructor
50
50
  * @public
51
51
  * @since 1.61.0
52
52
  * @alias sap.ui.mdc.FilterBar
53
- * @experimental As of version 1.61.0
54
53
  */
55
54
  const FilterBar = FilterBarBase.extend("sap.ui.mdc.FilterBar", {
56
55
  metadata: {
@@ -96,6 +96,9 @@ sap.ui.define(["sap/ui/mdc/AggregationBaseDelegate", "sap/ui/mdc/enums/FilterBar
96
96
  /**
97
97
  * Retrieves the relevant metadata for a given payload and returns the property info array.
98
98
  *
99
+ * <b>Note:</b>
100
+ * The result of this function must be kept stable throughout the lifecycle of your application.
101
+ * Any changes of the returned values might result in undesired effects.
99
102
  * @public
100
103
  * @param {sap.ui.mdc.FilterBar} oFilterBar Instance of the {@link sap.ui.mdc.FilterBar FilterBar} control
101
104
  * @returns {Promise<sap.ui.mdc.filterbar.PropertyInfo[]>} <code>Promise</code> that resolves into an array of property info objects
@@ -53,15 +53,14 @@ 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.123.1
56
+ * @version 1.124.0
57
57
  *
58
58
  * @constructor
59
59
  * @alias sap.ui.mdc.FilterField
60
- * @version 1.123.1
60
+ * @version 1.124.0
61
61
  * @since 1.48.0
62
62
  *
63
63
  * @public
64
- * @experimental As of version 1.48.0
65
64
  */
66
65
  const FilterField = FieldBase.extend("sap.ui.mdc.FilterField", /* @lends sap.ui.mdc.FilterField.prototype */ {
67
66
  metadata: {
@@ -71,14 +71,13 @@ sap.ui.define([
71
71
  * @extends sap.ui.mdc.field.FieldInfoBase
72
72
  *
73
73
  * @author SAP SE
74
- * @version 1.123.1
74
+ * @version 1.124.0
75
75
  *
76
76
  * @constructor
77
77
  * @alias sap.ui.mdc.Link
78
78
  * @since 1.74
79
79
  *
80
80
  * @public
81
- * @experimental As of version 1.74.0
82
81
  */
83
82
  const Link = FieldInfoBase.extend("sap.ui.mdc.Link", /** @lends sap.ui.mdc.Link.prototype */ {
84
83
  metadata: {
@@ -105,7 +104,6 @@ sap.ui.define([
105
104
  * }</code></pre>
106
105
  * <b>Note:</b> Ensure that the related file can be requested (any required library has to be loaded before that).<br>
107
106
  * Do not bind or modify the module. This property can only be configured during control initialization.
108
- * @experimental
109
107
  */
110
108
  delegate: {
111
109
  type: "object",
@@ -12,8 +12,6 @@ sap.ui.define([
12
12
  "use strict";
13
13
  /**
14
14
  * Base delegate for {@link sap.ui.mdc.Link}. Extend this object in your project to use all functionalities of the {@link sap.ui.mdc.Link}.
15
- * <b>Note:</b>
16
- * The delegate is experimental and the API/behaviour is not finalized and hence this should not be used for productive usage.
17
15
  * @author SAP SE
18
16
  * @namespace
19
17
  * @alias module:sap/ui/mdc/LinkDelegate
@@ -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.123.1
47
+ * @version 1.124.0
48
48
  * @since 1.93.0
49
49
  *
50
50
  * @public
@@ -23,7 +23,6 @@ sap.ui.define([
23
23
  "sap/m/table/Util",
24
24
  "sap/m/table/columnmenu/Menu",
25
25
  "sap/m/MessageBox",
26
- "sap/m/plugins/PluginBase",
27
26
  "sap/ui/core/Element",
28
27
  "sap/ui/core/Lib",
29
28
  "sap/ui/core/format/NumberFormat",
@@ -31,6 +30,7 @@ sap.ui.define([
31
30
  "sap/ui/core/library",
32
31
  "sap/ui/events/KeyCodes",
33
32
  "sap/ui/model/base/ManagedObjectModel",
33
+ "sap/ui/model/BindingMode",
34
34
  "sap/base/strings/capitalize",
35
35
  "sap/base/util/deepEqual",
36
36
  "sap/base/util/Deferred",
@@ -44,7 +44,6 @@ sap.ui.define([
44
44
  "sap/ui/mdc/actiontoolbar/ActionToolbarAction",
45
45
  "sap/ui/mdc/table/menu/QuickActionContainer",
46
46
  "sap/ui/mdc/table/menu/ItemContainer",
47
- "sap/ui/mdc/enums/ProcessingStrategy",
48
47
  "sap/ui/core/theming/Parameters",
49
48
  "sap/base/Log",
50
49
  "sap/ui/performance/trace/FESRHelper",
@@ -75,7 +74,6 @@ sap.ui.define([
75
74
  MTableUtil,
76
75
  ColumnMenu,
77
76
  MessageBox,
78
- PluginBase,
79
77
  Element,
80
78
  Library,
81
79
  NumberFormat,
@@ -83,6 +81,7 @@ sap.ui.define([
83
81
  coreLibrary,
84
82
  KeyCodes,
85
83
  ManagedObjectModel,
84
+ BindingMode,
86
85
  capitalize,
87
86
  deepEqual,
88
87
  Deferred,
@@ -96,7 +95,6 @@ sap.ui.define([
96
95
  ActionToolbarAction,
97
96
  QuickActionContainer,
98
97
  ItemContainer,
99
- ProcessingStrategy,
100
98
  ThemeParameters,
101
99
  Log,
102
100
  FESRHelper,
@@ -277,7 +275,6 @@ sap.ui.define([
277
275
  * @since 1.58
278
276
  * @alias sap.ui.mdc.Table
279
277
  * @public
280
- * @experimental As of version 1.58.0
281
278
  */
282
279
  const Table = Control.extend("sap.ui.mdc.Table", {
283
280
  metadata: {
@@ -335,7 +332,6 @@ sap.ui.define([
335
332
  * <b>Note:</b> Ensure that the related file can be requested (any required library has to be loaded before that).<br>
336
333
  * Do not bind or modify the module. This property can only be configured during control initialization.
337
334
  *
338
- * @experimental
339
335
  */
340
336
  delegate: {
341
337
  type: "object",
@@ -357,8 +353,8 @@ sap.ui.define([
357
353
  /**
358
354
  * Defines style of the header. For more information, see {@link sap.m.Title#setTitleStyle}.
359
355
  *
360
- * @experimental Internal use only
361
356
  * @ui5-restricted sap.fe
357
+ * @experimental
362
358
  * @since 1.116
363
359
  */
364
360
  headerStyle: {
@@ -661,9 +657,10 @@ sap.ui.define([
661
657
  /**
662
658
  * Columns of the table.
663
659
  *
664
- * <b>Note:</b> This aggregation is managed by the control, can only be populated during the definition in the XML view, and is not
665
- * bindable. Any changes of the initial aggregation content might result in unwanted effects. Changes of the aggregation have to be
666
- * made with the {@link sap.ui.mdc.p13n.StateUtil StateUtil}.
660
+ * <b>Note:</b>
661
+ * This aggregation is managed by the control, can only be populated during the definition in the XML view, and is not bindable.
662
+ * Any changes of the initial aggregation content might result in undesired effects.
663
+ * Changes of the aggregation have to be made with the {@link sap.ui.mdc.p13n.StateUtil StateUtil}.
667
664
  */
668
665
  columns: {
669
666
  type: "sap.ui.mdc.table.Column",
@@ -675,8 +672,9 @@ sap.ui.define([
675
672
  *
676
673
  * <b>Note:</b> Once the binding supports creating transient records, this aggregation will be removed.
677
674
  *
678
- * @experimental Do not use
679
675
  * @ui5-restricted sap.fe
676
+ * @experimental Do not use
677
+ * @deprecated As of version 1.124, the concept has been discarded.
680
678
  */
681
679
  creationRow: {
682
680
  type: "sap.ui.mdc.table.CreationRow",
@@ -726,10 +724,6 @@ sap.ui.define([
726
724
  /**
727
725
  * <code>DataStateIndicator</code> plugin that can be used to show binding-related messages.
728
726
  *
729
- * <b>Note:</b> The message filtering is not yet supported for this control. Therefore the
730
- * {@link sap.m.plugins.DataStateIndicator#getEnableFiltering enableFiltering} property of the <code>DataStateIndicator</code> plugin
731
- * must not be set to <code>true</code>.
732
- *
733
727
  * @since 1.89
734
728
  */
735
729
  dataStateIndicator: {
@@ -835,6 +829,7 @@ sap.ui.define([
835
829
  * @since 1.75
836
830
  */
837
831
  beforeExport: {
832
+ allowPreventDefault: true,
838
833
  parameters: {
839
834
  /**
840
835
  * Contains <code>workbook.columns, dataSource</code>, and other export-related information.
@@ -982,6 +977,7 @@ sap.ui.define([
982
977
  this._setupPropertyInfoStore("propertyInfo");
983
978
 
984
979
  this._oManagedObjectModel = new ManagedObjectModel(this);
980
+ this._oManagedObjectModel.setDefaultBindingMode(BindingMode.OneWay);
985
981
  this.setModel(this._oManagedObjectModel, "$sap.ui.mdc.Table");
986
982
  };
987
983
 
@@ -1214,7 +1210,7 @@ sap.ui.define([
1214
1210
  };
1215
1211
 
1216
1212
  Table.prototype.setType = function(vType) {
1217
- if (!this.bCreated || this.getType() == vType) {
1213
+ if (!this.bCreated ) {
1218
1214
  return this.setAggregation("type", vType, true);
1219
1215
  }
1220
1216
 
@@ -1525,7 +1521,7 @@ sap.ui.define([
1525
1521
  if (aPropertyLabels.length > 1) {
1526
1522
  sFilterText = oResourceBundle.getText("table.MULTIPLE_FILTERS_ACTIVE", [aPropertyLabels.length, oListFormat.format(aPropertyLabels)]);
1527
1523
  } else {
1528
- sFilterText = oResourceBundle.getText("table.ONE_FILTER_ACTIVE", aPropertyLabels[0]);
1524
+ sFilterText = oResourceBundle.getText("table.ONE_FILTER_ACTIVE", aPropertyLabels);
1529
1525
  }
1530
1526
 
1531
1527
  if (!oFilterInfoBar.getVisible()) {
@@ -1582,11 +1578,7 @@ sap.ui.define([
1582
1578
  tooltip: oRb.getText("infobar.REMOVEALLFILTERS"),
1583
1579
  icon: "sap-icon://decline",
1584
1580
  press: function() {
1585
- // Clear all filters. Makes current variant dirty.
1586
- PersonalizationUtils.createFilterChange(oTable, {
1587
- conditions: [],
1588
- strategy: ProcessingStrategy.FullReplace
1589
- });
1581
+ PersonalizationUtils.createClearFiltersChange(oTable);
1590
1582
  oTable.focus();
1591
1583
  }
1592
1584
  })
@@ -1899,7 +1891,7 @@ sap.ui.define([
1899
1891
  this._oTable.removeAriaLabelledBy(this.getId() + "-invisibleTitle");
1900
1892
  } else if (this._oTable && !this._oInvisibleTitle && this.getHideToolbar()) {
1901
1893
  this._oInvisibleTitle = new InvisibleText(this.getId() + "-invisibleTitle", {
1902
- text: "{= ${$sap.ui.mdc.Table>/header} }"
1894
+ text: "{$sap.ui.mdc.Table>/header}"
1903
1895
  }).toStatic();
1904
1896
  this._oTable.addAriaLabelledBy(this.getId() + "-invisibleTitle");
1905
1897
  // When the table type changes, the aria label reference gets deleted thus needs to be recreated
@@ -1955,7 +1947,6 @@ sap.ui.define([
1955
1947
  * </ul>
1956
1948
  *
1957
1949
  * @param {boolean} bShowP13nButton
1958
- * @experimental This setting is only temporary and will be replaced with an alternative API in future releases.
1959
1950
  * @since 1.108
1960
1951
  * @private
1961
1952
  * @ui5-restricted sap.fe
@@ -2020,6 +2011,7 @@ sap.ui.define([
2020
2011
  sPropertyKey = oMDCColumn && oMDCColumn.getPropertyKey();
2021
2012
  if (sPropertyKey) {
2022
2013
  aProperties.push({
2014
+ key: sPropertyKey,
2023
2015
  name: sPropertyKey
2024
2016
  });
2025
2017
  }
@@ -2443,9 +2435,9 @@ sap.ui.define([
2443
2435
 
2444
2436
  return new Promise((fnResolve, fnReject) => {
2445
2437
  Promise.all([
2446
- that._loadExportLibrary(), that.getControlDelegate().fetchExportCapabilities(that)
2438
+ that.getControlDelegate().fetchExportCapabilities(that), Library.load({name: "sap.ui.export"})
2447
2439
  ]).then((aResult) => {
2448
- const oExportCapabilities = aResult[1];
2440
+ const [oExportCapabilities] = aResult;
2449
2441
 
2450
2442
  sap.ui.require(["sap/ui/export/ExportHandler"], (ExportHandler) => {
2451
2443
  that._oExportHandler = new ExportHandler(oExportCapabilities);
@@ -2487,25 +2479,15 @@ sap.ui.define([
2487
2479
  }
2488
2480
  });
2489
2481
 
2490
- this.fireBeforeExport({
2482
+ const bExecuteDefaultAction = this.fireBeforeExport({
2491
2483
  exportSettings: oEvent.getParameter("exportSettings"),
2492
2484
  userExportSettings: oEvent.getParameter("userExportSettings"),
2493
2485
  filterSettings: aFilters
2494
2486
  });
2495
- };
2496
2487
 
2497
- /**
2498
- * Returns promise after loading the export library. The Promise
2499
- * will be resolved with a reference to the export library.
2500
- *
2501
- * @returns {Promise} export library promise
2502
- * @private
2503
- */
2504
- Table.prototype._loadExportLibrary = function() {
2505
- if (!this._oExportLibLoadPromise) {
2506
- this._oExportLibLoadPromise = Library.load({name: "sap.ui.export"});
2488
+ if (!bExecuteDefaultAction) {
2489
+ oEvent.preventDefault();
2507
2490
  }
2508
- return this._oExportLibLoadPromise;
2509
2491
  };
2510
2492
 
2511
2493
  /**
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  "sap/m/plugins/PluginBase",
15
15
  "sap/ui/model/Sorter",
16
16
  "sap/ui/core/Lib",
17
- "sap/ui/core/library"
17
+ "sap/ui/core/message/MessageType"
18
18
  ], (
19
19
  AggregationBaseDelegate,
20
20
  FilterIntegrationDefault,
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  PluginBase,
26
26
  Sorter,
27
27
  Lib,
28
- coreLibrary
28
+ MessageType
29
29
  ) => {
30
30
  "use strict";
31
31
 
@@ -70,6 +70,10 @@ sap.ui.define([
70
70
  *
71
71
  * By default, this method returns a <code>Promise</code> that resolves with an empty array.
72
72
  *
73
+ * <b>Note:</b>
74
+ * The result of this function must be kept stable throughout the lifecycle of your application.
75
+ * Any changes of the returned values might result in undesired effects.
76
+ *
73
77
  * @name module:sap/ui/mdc/TableDelegate.fetchProperties
74
78
  * @function
75
79
  * @param {sap.ui.mdc.Table} oTable Instance of the table
@@ -387,7 +391,7 @@ sap.ui.define([
387
391
  if (sKey == "Filter" && oTable._oMessageFilter) {
388
392
  const oResourceBundle = Lib.getResourceBundleFor("sap.ui.mdc");
389
393
  return {
390
- validation: coreLibrary.MessageType.Information,
394
+ validation: MessageType.Information,
391
395
  message: oResourceBundle.getText("table.PERSONALIZATION_DIALOG_FILTER_MESSAGESTRIP")
392
396
  };
393
397
  }
@@ -67,13 +67,12 @@ sap.ui.define([
67
67
  * and {@link sap.ui.mdc.FilterField FilterField} controls using the <code>valueHelp</code> association. One <code>ValueHelp</code> element instance can be
68
68
  * assigned to multiple fields (like in different table rows). It should be placed in the control tree on the container holding the fields.
69
69
  * @extends sap.ui.mdc.Element
70
- * @version 1.123.1
70
+ * @version 1.124.0
71
71
  * @constructor
72
72
  * @abstract
73
73
  * @public
74
74
  * @since 1.95.0
75
75
  * @alias sap.ui.mdc.ValueHelp
76
- * @experimental As of version 1.95.0
77
76
  */
78
77
  const ValueHelp = Element.extend("sap.ui.mdc.ValueHelp", /** @lends sap.ui.mdc.ValueHelp.prototype */ {
79
78
  metadata: {
@@ -106,7 +105,6 @@ sap.ui.define([
106
105
  * }</code></pre>
107
106
  * <b>Note:</b> Ensure that the related file can be requested (any required library has to be loaded before that).<br>
108
107
  * Do not bind or modify the module. This property can only be configured during control initialization.
109
- * @experimental
110
108
  */
111
109
  delegate: {
112
110
  type: "object",
@@ -41,8 +41,6 @@ sap.ui.define([
41
41
  /**
42
42
  * Delegate for {@link sap.ui.mdc.ValueHelp}.
43
43
  *
44
- * <b>Note:</b> The class is experimental and the API/behavior is not finalized and hence this should not be used for productive usage.
45
- *
46
44
  * @namespace
47
45
  * @author SAP SE
48
46
  * @public
@@ -18,15 +18,13 @@ sap.ui.define([
18
18
  * @param {object} [mSettings] Initial settings for the new control
19
19
  * @class
20
20
  * 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>.
21
- * <b>Note:</b>
22
- * The control is experimental and the API / behavior is not finalized. It should only be used internally in other mdc controls (e.g.
23
- * chart/table).
24
21
  * @extends sap.ui.core.Control
25
22
  * @author SAP SE
26
- * @version 1.123.1
23
+ * @version 1.124.0
27
24
  * @constructor
28
25
  * @since 1.58
29
26
  * @public
27
+ * @experimental
30
28
  * @alias sap.ui.mdc.actiontoolbar.ActionToolbarAction
31
29
  */
32
30
  const ActionToolbarAction = Control.extend("sap.ui.mdc.actiontoolbar.ActionToolbarAction", {
@@ -21,10 +21,11 @@ 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.123.1
24
+ * @version 1.124.0
25
25
  * @constructor
26
26
  *
27
27
  * @public
28
+ * @experimental As of version 1.105
28
29
  * @since 1.105
29
30
  * @alias sap.ui.mdc.chart.ChartImplementationContainer
30
31
  */