@openui5/sap.ui.mdc 1.116.0 → 1.117.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 (177) 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 +1 -1
  4. package/src/sap/ui/mdc/AggregationBaseDelegate.js +8 -6
  5. package/src/sap/ui/mdc/BaseDelegate.js +5 -5
  6. package/src/sap/ui/mdc/Chart.js +8 -5
  7. package/src/sap/ui/mdc/Control.js +1 -1
  8. package/src/sap/ui/mdc/DefaultTypeMap.js +1 -1
  9. package/src/sap/ui/mdc/Element.js +1 -1
  10. package/src/sap/ui/mdc/Field.js +54 -8
  11. package/src/sap/ui/mdc/FilterBar.js +3 -2
  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 +47 -6
  16. package/src/sap/ui/mdc/TableDelegate.js +33 -1
  17. package/src/sap/ui/mdc/ValueHelp.js +1 -1
  18. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
  19. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
  20. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  21. package/src/sap/ui/mdc/chart/ChartSettings.js +3 -3
  22. package/src/sap/ui/mdc/chart/ChartToolbar.js +3 -3
  23. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  24. package/src/sap/ui/mdc/condition/Condition.js +8 -6
  25. package/src/sap/ui/mdc/condition/ConditionConverter.js +3 -3
  26. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  27. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  28. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +1 -1
  29. package/src/sap/ui/mdc/condition/Operator.js +2 -2
  30. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
  31. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  32. package/src/sap/ui/mdc/enum/ActionToolbarActionAlignment.js +1 -1
  33. package/src/sap/ui/mdc/enum/BaseType.js +1 -1
  34. package/src/sap/ui/mdc/enum/ConditionValidated.js +1 -1
  35. package/src/sap/ui/mdc/enum/ContentMode.js +1 -1
  36. package/src/sap/ui/mdc/enum/EditMode.js +1 -1
  37. package/src/sap/ui/mdc/enum/FieldDisplay.js +1 -1
  38. package/src/sap/ui/mdc/enum/FilterBarValidationStatus.js +1 -1
  39. package/src/sap/ui/mdc/enum/LinkType.js +1 -1
  40. package/src/sap/ui/mdc/enum/OperatorOverwrite.js +1 -1
  41. package/src/sap/ui/mdc/enum/OperatorValueType.js +1 -1
  42. package/src/sap/ui/mdc/enum/ProcessingStrategy.js +1 -1
  43. package/src/sap/ui/mdc/enum/PropagationReason.js +1 -1
  44. package/src/sap/ui/mdc/enum/ReasonMode.js +1 -1
  45. package/src/sap/ui/mdc/enum/SelectType.js +1 -1
  46. package/src/sap/ui/mdc/field/ConditionType.js +1 -1
  47. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  48. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  49. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldBase.js +72 -18
  51. package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -2
  52. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  53. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  54. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  55. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  56. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -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/filterbar/FilterBarBase.js +38 -24
  60. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  61. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +24 -3
  62. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +2 -1
  63. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  64. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  65. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  66. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  67. package/src/sap/ui/mdc/library.js +34 -15
  68. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  69. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  70. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  71. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  72. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  73. package/src/sap/ui/mdc/link/Factory.js +1 -1
  74. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  75. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  76. package/src/sap/ui/mdc/link/Panel.js +1 -1
  77. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  78. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  79. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  80. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  81. package/src/sap/ui/mdc/messagebundle.properties +5 -2
  82. package/src/sap/ui/mdc/messagebundle_ar.properties +29 -27
  83. package/src/sap/ui/mdc/messagebundle_bg.properties +45 -43
  84. package/src/sap/ui/mdc/messagebundle_ca.properties +21 -19
  85. package/src/sap/ui/mdc/messagebundle_cs.properties +42 -40
  86. package/src/sap/ui/mdc/messagebundle_cy.properties +13 -11
  87. package/src/sap/ui/mdc/messagebundle_da.properties +23 -21
  88. package/src/sap/ui/mdc/messagebundle_de.properties +16 -14
  89. package/src/sap/ui/mdc/messagebundle_el.properties +24 -22
  90. package/src/sap/ui/mdc/messagebundle_en.properties +4 -2
  91. package/src/sap/ui/mdc/messagebundle_en_GB.properties +4 -2
  92. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +4 -2
  93. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +4 -2
  94. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +4 -2
  95. package/src/sap/ui/mdc/messagebundle_es.properties +23 -21
  96. package/src/sap/ui/mdc/messagebundle_es_MX.properties +10 -8
  97. package/src/sap/ui/mdc/messagebundle_et.properties +21 -19
  98. package/src/sap/ui/mdc/messagebundle_fi.properties +14 -12
  99. package/src/sap/ui/mdc/messagebundle_fr.properties +31 -29
  100. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +13 -11
  101. package/src/sap/ui/mdc/messagebundle_hi.properties +29 -27
  102. package/src/sap/ui/mdc/messagebundle_hr.properties +53 -51
  103. package/src/sap/ui/mdc/messagebundle_hu.properties +27 -25
  104. package/src/sap/ui/mdc/messagebundle_id.properties +14 -12
  105. package/src/sap/ui/mdc/messagebundle_it.properties +35 -33
  106. package/src/sap/ui/mdc/messagebundle_iw.properties +24 -22
  107. package/src/sap/ui/mdc/messagebundle_ja.properties +25 -23
  108. package/src/sap/ui/mdc/messagebundle_kk.properties +12 -10
  109. package/src/sap/ui/mdc/messagebundle_ko.properties +16 -14
  110. package/src/sap/ui/mdc/messagebundle_lt.properties +11 -9
  111. package/src/sap/ui/mdc/messagebundle_lv.properties +13 -11
  112. package/src/sap/ui/mdc/messagebundle_ms.properties +7 -5
  113. package/src/sap/ui/mdc/messagebundle_nl.properties +38 -36
  114. package/src/sap/ui/mdc/messagebundle_no.properties +18 -16
  115. package/src/sap/ui/mdc/messagebundle_pl.properties +28 -26
  116. package/src/sap/ui/mdc/messagebundle_pt.properties +24 -22
  117. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +10 -8
  118. package/src/sap/ui/mdc/messagebundle_ro.properties +20 -18
  119. package/src/sap/ui/mdc/messagebundle_ru.properties +19 -17
  120. package/src/sap/ui/mdc/messagebundle_sh.properties +7 -5
  121. package/src/sap/ui/mdc/messagebundle_sk.properties +17 -15
  122. package/src/sap/ui/mdc/messagebundle_sl.properties +51 -49
  123. package/src/sap/ui/mdc/messagebundle_sv.properties +18 -16
  124. package/src/sap/ui/mdc/messagebundle_th.properties +17 -15
  125. package/src/sap/ui/mdc/messagebundle_tr.properties +26 -24
  126. package/src/sap/ui/mdc/messagebundle_uk.properties +26 -24
  127. package/src/sap/ui/mdc/messagebundle_vi.properties +19 -17
  128. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +19 -17
  129. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +27 -25
  130. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  131. package/src/sap/ui/mdc/mixin/DelegateMixin.js +8 -8
  132. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +19 -7
  133. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  134. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  135. package/src/sap/ui/mdc/odata/TypeMap.js +1 -1
  136. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
  137. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +43 -1
  138. package/src/sap/ui/mdc/odata/v4/TypeMap.js +2 -2
  139. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +1 -1
  140. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +9 -9
  141. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  142. package/src/sap/ui/mdc/p13n/UIManager.js +2 -2
  143. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +9 -0
  144. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +3 -0
  145. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +4 -2
  146. package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
  147. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  148. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
  149. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  150. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  151. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  152. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  153. package/src/sap/ui/mdc/table/menu/Item.js +1 -1
  154. package/src/sap/ui/mdc/table/utils/Personalization.js +2 -2
  155. package/src/sap/ui/mdc/themes/base/FilterBar.less +8 -0
  156. package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
  157. package/src/sap/ui/mdc/util/InfoBar.js +1 -1
  158. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  159. package/src/sap/ui/mdc/util/PropertyHelper.js +17 -5
  160. package/src/sap/ui/mdc/util/TypeMap.js +26 -3
  161. package/src/sap/ui/mdc/util/TypeUtil.js +1 -1
  162. package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
  163. package/src/sap/ui/mdc/valuehelp/Popover.js +13 -3
  164. package/src/sap/ui/mdc/valuehelp/base/Container.js +5 -5
  165. package/src/sap/ui/mdc/valuehelp/base/Content.js +8 -8
  166. package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +1 -1
  167. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  168. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +4 -4
  169. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  170. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  171. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +3 -3
  172. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  173. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +1 -1
  174. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
  175. package/src/sap/ui/mdc/valuehelp/content/MTable.js +2 -2
  176. package/test/sap/ui/mdc/testutils/opa/p13n/Assertions.js +4 -2
  177. package/ui5.yaml +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.mdc",
3
- "version": "1.116.0",
3
+ "version": "1.117.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.116.0",
18
- "@openui5/sap.ui.core": "1.116.0",
19
- "@openui5/sap.ui.layout": "1.116.0"
17
+ "@openui5/sap.m": "1.117.0",
18
+ "@openui5/sap.ui.core": "1.117.0",
19
+ "@openui5/sap.ui.layout": "1.117.0"
20
20
  }
21
21
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.116.0</version>
9
+ <version>1.117.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.ui.mdc</documentation>
12
12
 
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @class The column for the metadata driven table, that hold the template to be shown when the rows has data.
32
32
  * @extends sap.m.OverflowToolbar
33
33
  * @author SAP SE
34
- * @version 1.116.0
34
+ * @version 1.117.0
35
35
  * @constructor
36
36
  * @since 1.58
37
37
  * @public
@@ -23,9 +23,12 @@ sap.ui.define(['sap/ui/mdc/BaseDelegate', 'sap/ui/core/library'], function (Base
23
23
  *
24
24
  * @author SAP SE
25
25
  *
26
+ * @namespace
27
+ * @private
26
28
  * @ui5-restricted sap.ui.mdc
27
29
  * @since 1.82.0
28
- * @alias sap.ui.mdc.AggregationBaseDelegate
30
+ * @alias module:sap/ui/mdc/AggregationBaseDelegate
31
+ * @extends module:sap/ui/mdc/BaseDelegate
29
32
  */
30
33
  var AggregationBaseDelegate = Object.assign({}, BaseDelegate, {
31
34
 
@@ -83,7 +86,7 @@ sap.ui.define(['sap/ui/mdc/BaseDelegate', 'sap/ui/core/library'], function (Base
83
86
  /**
84
87
  * A validator to evaluate the theoretical control state.
85
88
  *
86
- * @param {sap.ui.mdc.Control} oControl Instance of a <code>sap.ui.mdc.Control</code>
89
+ * @param {sap.ui.mdc.Control} oControl Instance of an <code>sap.ui.mdc.Control</code>
87
90
  * @param {Object} oState The theoretical external state representation of an MDC control. The representation of this format is similar as processed by {@link sap.ui.mdc.p13n.StateUtil StateUtil}
88
91
  * @returns {Object} An object that must contain at least the <code>validation</code> attribute {@link sap.ui.core.MessageType MessageType}.
89
92
  * If <code>warning</code> or <code>error</code> state types have been provided, the <code>message</code> is shown in addition.
@@ -111,18 +114,17 @@ sap.ui.define(['sap/ui/mdc/BaseDelegate', 'sap/ui/core/library'], function (Base
111
114
  },
112
115
 
113
116
  /**
114
- * A validator to evaluate the state of a MDC control.
117
+ * A validator to evaluate the state of an MDC control.
115
118
  *
116
- * @param {Object<sap.ui.mdc.Control>} oControl Instance of a MDC control
119
+ * @param {sap.ui.mdc.Control} oControl Instance of a MDC control
117
120
  * @param {map} [mValidation] Object Describing the validation result
118
-
119
121
  */
120
122
  determineValidationState: function(oControl) {
121
123
  return oControl.checkValidationState ? oControl.checkValidationState() : -1;
122
124
  },
123
125
 
124
126
  /**
125
- * Visualizes the validation state of a MDC control.
127
+ * Visualizes the validation state of an MDC control.
126
128
  *
127
129
  * @param {Object<sap.ui.mdc.Control>} oControl Instance of a MDC control
128
130
  * @returns {map} mValidation Describes the validation result.
@@ -6,7 +6,7 @@
6
6
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
7
7
  */
8
8
 
9
- // sap.ui.mdc.BaseDelegate
9
+ // module:sap/ui/mdc/BaseDelegate
10
10
  sap.ui.define(['sap/ui/mdc/enums/BaseType', 'sap/ui/mdc/DefaultTypeMap', "sap/base/Log"], function (BaseType, DefaultTypeMap, Log) {
11
11
  "use strict";
12
12
 
@@ -14,7 +14,7 @@ sap.ui.define(['sap/ui/mdc/enums/BaseType', 'sap/ui/mdc/DefaultTypeMap', "sap/ba
14
14
  * Basic Delegate for {@link sap.ui.mdc.Control}, {@link sap.ui.mdc.Element}<br>
15
15
  *
16
16
  * All delegate implementations for MDC controls must be derived directly or indirectly from this entity.
17
- * Applications should implement {@link sap.ui.mdc.BaseDelegate.getTypeMap getTypeMap} to provide type mappings based on their model usage.
17
+ * Applications should implement {@link module:sap/ui/mdc/BaseDelegate.getTypeMap getTypeMap} to provide type mappings based on their model usage.
18
18
  * Please also see the following extensible presets: {@link sap.ui.mdc.DefaultTypeMap}, {@link sap.ui.mdc.odata.TypeMap}, {@link sap.ui.mdc.odata.v4.TypeMap}
19
19
  *
20
20
  * @namespace
@@ -29,9 +29,9 @@ sap.ui.define(['sap/ui/mdc/enums/BaseType', 'sap/ui/mdc/DefaultTypeMap', "sap/ba
29
29
  * Returns a TypeUtil for this delegate.
30
30
  *
31
31
  * @param {sap.ui.mdc.Control} oControl Delegate payload object
32
- * @return {sap.ui.mdc.util.TypeUtil|sap.ui.mdc.util.TypeMap} configured TypeUtil/TypeMap
32
+ * @return {sap.ui.mdc.util.TypeUtil|module:sap/ui/mdc/util/TypeMap} configured TypeUtil/TypeMap
33
33
  * @since 1.79.0
34
- * @deprecated (since 1.115.0) - please see {@link #getTypeMap}
34
+ * @deprecated since 1.115.0 - please see {@link #getTypeMap}
35
35
  *
36
36
  */
37
37
  BaseDelegate.getTypeUtil = function (oControl) {
@@ -48,7 +48,7 @@ sap.ui.define(['sap/ui/mdc/enums/BaseType', 'sap/ui/mdc/DefaultTypeMap', "sap/ba
48
48
  * Returns the typeutil configuration for this delegate.
49
49
  *
50
50
  * @param {sap.ui.mdc.Control} oControl Delegate payload object
51
- * @return {sap.ui.mdc.util.TypeMap} typeMap configuration for this delegate
51
+ * @return {module:sap/ui/mdc/util/TypeMap} typeMap configuration for this delegate
52
52
  * Note: The returned array will also serve as a key in the weakmap-based typeutil cache of BaseDelegate
53
53
  * @since 1.114.0
54
54
  * @public
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  * <b>Note:</b> The inner chart needs to be assigned <code>ChartDelegate</code>.
68
68
  * @extends sap.ui.mdc.Control
69
69
  * @author SAP SE
70
- * @version 1.116.0
70
+ * @version 1.117.0
71
71
  * @constructor
72
72
  *
73
73
  * @public
@@ -832,8 +832,11 @@ sap.ui.define([
832
832
 
833
833
  /**
834
834
  * Rebinds the inner chart instance by calling oDelegate.rebind
835
- */
836
- Chart.prototype._rebind = function () {
835
+ *
836
+ * @param {boolean} [bForceRefresh] Indicates that the binding must be refreshed regardless of any <code>bindingInfo</code> change
837
+ * @private
838
+ */
839
+ Chart.prototype._rebind = function (bForceRefresh) {
837
840
 
838
841
  if (!this._bInnerChartReady) {
839
842
  //TODO: This can lead to a race conditition when the "Go" button is pressed while the inner chart still intializes
@@ -842,7 +845,7 @@ sap.ui.define([
842
845
 
843
846
  //Wait with rebind until inner chart is ready
844
847
  this.initialized().then(function () {
845
- this._rebind();
848
+ this._rebind(bForceRefresh);
846
849
  }.bind(this));
847
850
  return;
848
851
  }
@@ -874,7 +877,7 @@ sap.ui.define([
874
877
  Chart.prototype._getToolbar = function () {
875
878
  if (this.getAggregation("_toolbar")) {
876
879
  return this.getAggregation("_toolbar");
877
- } else {
880
+ } else if (!this._bIsDestroyed){
878
881
  var oToolbar = new ChartToolbar(this.getId() + "--toolbar", {
879
882
  design: "Transparent"
880
883
  });
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @extends sap.ui.core.Control
21
21
  * @abstract
22
22
  * @author SAP SE
23
- * @version 1.116.0
23
+ * @version 1.117.0
24
24
  * @alias sap.ui.mdc.Control
25
25
  *
26
26
  * @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.116.0
32
+ * @version 1.117.0
33
33
  * @public
34
34
  * @since 1.114.0
35
35
  * @namespace
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @extends sap.ui.core.Element
21
21
  * @abstract
22
22
  * @author SAP SE
23
- * @version 1.116.0
23
+ * @version 1.117.0
24
24
  * @alias sap.ui.mdc.Element
25
25
  *
26
26
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as awaitControlDelegate
@@ -52,11 +52,11 @@ sap.ui.define([
52
52
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent
53
53
  *
54
54
  * @author SAP SE
55
- * @version 1.116.0
55
+ * @version 1.117.0
56
56
  *
57
57
  * @constructor
58
58
  * @alias sap.ui.mdc.Field
59
- * @version 1.116.0
59
+ * @version 1.117.0
60
60
  * @since 1.54.0
61
61
  *
62
62
  * @public
@@ -142,7 +142,7 @@ sap.ui.define([
142
142
  this.setProperty("_operators", ["EQ"], true);
143
143
 
144
144
  this._oObserver.observe(this, {
145
- properties: ["value", "additionalValue"]
145
+ properties: ["value", "additionalValue", "valueState"]
146
146
  });
147
147
 
148
148
  };
@@ -285,6 +285,13 @@ sap.ui.define([
285
285
  _triggerConditionUpdate.call(this);
286
286
  }
287
287
 
288
+ if (oChanges.name === "valueState") {
289
+ // if condition update is pending do not remove the value state later if set before from outside
290
+ if (this._bPendingConditionUpdate) {
291
+ this._bKeepValueState = true;
292
+ }
293
+ }
294
+
288
295
  if (oChanges.name === "conditions") {
289
296
  // keep value/additionalValue and conditions in sync
290
297
  // (value must be updated if conditions are changed in async parsing too, so not in change event)
@@ -321,6 +328,7 @@ sap.ui.define([
321
328
  _triggerConditionUpdate.call(this);
322
329
  }
323
330
  }.bind(this));
331
+ this._bPendingConditionUpdate = true;
324
332
  return;
325
333
  }
326
334
 
@@ -332,7 +340,6 @@ sap.ui.define([
332
340
  this._iConditionUpdateTimer = setTimeout(function() {
333
341
  _updateCondition.call(this, _getValue.call(this), _getAdditionalValue.call(this));
334
342
  this._iConditionUpdateTimer = undefined;
335
- this._bPendingConditionUpdate = false;
336
343
  }.bind(this), 0);
337
344
  this._bPendingConditionUpdate = true;
338
345
  }
@@ -350,8 +357,8 @@ sap.ui.define([
350
357
  } else {
351
358
  var oCurrentCondition = aConditions[0];
352
359
  var vOldValue = oCurrentCondition && oCurrentCondition.values[0];
353
- var sOldAdditionalValue = oCurrentCondition && oCurrentCondition.values[1] ? oCurrentCondition.values[1] : null; // to compare with default value
354
- if (!oCurrentCondition || oCurrentCondition.operator !== "EQ" || !_compareValues.call(this, vOldValue, vValue) || sOldAdditionalValue !== vAdditionalValue) {
360
+ var vOldAdditionalValue = oCurrentCondition && oCurrentCondition.values[1] ? oCurrentCondition.values[1] : null; // to compare with default value
361
+ if (!oCurrentCondition || oCurrentCondition.operator !== "EQ" || !_compareValues.call(this, vOldValue, vValue) || !_compareAdditionalValues.call(this, vAdditionalValue, vOldAdditionalValue)) {
355
362
  var oDelegate = this.getControlDelegate();
356
363
  var oNextCondition = oDelegate.createCondition(this, this, [vValue, vAdditionalValue], oCurrentCondition);
357
364
  if (!Condition.compareConditions(oCurrentCondition, oNextCondition)) { // We do a full comparison here as FilterOperatorUtils.compareConditions may ignore text changes
@@ -360,6 +367,9 @@ sap.ui.define([
360
367
  }
361
368
  }
362
369
 
370
+ this._bPendingConditionUpdate = false;
371
+ this._bKeepValueState = false;
372
+
363
373
  }
364
374
 
365
375
  function _adjustValue(vValue, vOldValue) {
@@ -421,6 +431,22 @@ sap.ui.define([
421
431
 
422
432
  }
423
433
 
434
+ function _compareAdditionalValues(vValue1, vValue2, bUpdateCheck) {
435
+
436
+ var bEqual = vValue1 === vValue2;
437
+
438
+ if (!bEqual && (vValue1 === null || vValue1 === undefined || vValue1 === "") && (vValue2 === null || vValue2 === undefined || vValue2 === "")) {
439
+ // in the moment there is no real data type support for additionalValue, normally only String types are used.
440
+ // As, depending on the data type configuration a "" can be converted into null or vice versa it needs to be handed both as initial.
441
+ // In case of wrong user input with disabled ValueHelp input validation no addtitionalValue is added at all, so if set to "" by model it is no change.
442
+ // TODO: This logic needs to be adopted if there is a real data type support like for value.
443
+ bEqual = true;
444
+ }
445
+
446
+ return bEqual;
447
+
448
+ }
449
+
424
450
  function _initializeType(vValue) {
425
451
 
426
452
  if (!this._oTypeInitialization) {
@@ -508,7 +534,7 @@ sap.ui.define([
508
534
  var vOldValue = this.getValue();
509
535
  var vOldAdditionalValue = this.getAdditionalValue();
510
536
 
511
- if (aConditions.length === 0 && vOldValue === null && vOldAdditionalValue === null) {
537
+ if (aConditions.length === 0 && _isValueNull(vOldValue) && _isValueNull(vOldAdditionalValue)) {
512
538
  // Field initialized from setter -> cannot have a condition -> no update needed
513
539
  return;
514
540
  }
@@ -528,7 +554,7 @@ sap.ui.define([
528
554
  // to run not in V4 update issues if data not already loaded
529
555
  this.setProperty("value", vValue, true);
530
556
  }
531
- if (vAdditionalValue !== vOldAdditionalValue && !_checkAdditionalValueOneWay.call(this)) {
557
+ if (!_compareAdditionalValues.call(this, vAdditionalValue, vOldAdditionalValue, true) && !_checkAdditionalValueOneWay.call(this)) {
532
558
  // to run not in V4 update issues if data not already loaded
533
559
  // do not update property in OneWay mode to keep in sync with model
534
560
  this.setProperty("additionalValue", vAdditionalValue, true);
@@ -577,6 +603,26 @@ sap.ui.define([
577
603
 
578
604
  };
579
605
 
606
+ function _isValueNull(vValue) {
607
+
608
+ var bNull = false;
609
+
610
+ if (vValue === null) {
611
+ bNull = true;
612
+ } else if (Array.isArray(vValue)) {
613
+ bNull = true;
614
+ for (var i = 0; i < vValue.length; i++) {
615
+ if (vValue[i] !== null) {
616
+ bNull = false;
617
+ break;
618
+ }
619
+ }
620
+ }
621
+
622
+ return bNull;
623
+
624
+ }
625
+
580
626
  /**
581
627
  * Sets a new value for property {@link #getConditions conditions}.
582
628
  *
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * The metadata information is provided via the {@link sap.ui.mdc.FilterBarDelegate FilterBarDelegate} implementation. This implementation has to be provided by the application.
22
22
  * @extends sap.ui.mdc.filterbar.FilterBarBase
23
23
  * @author SAP SE
24
- * @version 1.116.0
24
+ * @version 1.117.0
25
25
  * @constructor
26
26
  * @public
27
27
  * @since 1.61.0
@@ -213,9 +213,10 @@ sap.ui.define([
213
213
  FilterBar.prototype.onAdaptFilters = function(oEvent) {
214
214
 
215
215
  return this._retrieveMetadata().then(function() {
216
- return this.getEngine().uimanager.show(this, "Item", {
216
+ return this.getEngine().show(this, "Item", {
217
217
  reset: function(){
218
218
  this.getEngine().reset(this);
219
+ this._getConditionModel().checkUpdate(true);
219
220
  }.bind(this)
220
221
  })
221
222
  .then(function(oPopup){
@@ -51,11 +51,11 @@ sap.ui.define([
51
51
  * @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.116.0
54
+ * @version 1.117.0
55
55
  *
56
56
  * @constructor
57
57
  * @alias sap.ui.mdc.FilterField
58
- * @version 1.116.0
58
+ * @version 1.117.0
59
59
  * @since 1.48.0
60
60
  *
61
61
  * @public
@@ -80,7 +80,7 @@ sap.ui.define([
80
80
  * @extends sap.ui.mdc.field.FieldInfoBase
81
81
  *
82
82
  * @author SAP SE
83
- * @version 1.116.0
83
+ * @version 1.117.0
84
84
  *
85
85
  * @constructor
86
86
  * @alias sap.ui.mdc.Link
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @constructor
43
43
  * @alias sap.ui.mdc.MultiValueField
44
44
  * @author SAP SE
45
- * @version 1.116.0
45
+ * @version 1.117.0
46
46
  * @since 1.93.0
47
47
  *
48
48
  * @public
@@ -813,7 +813,7 @@ sap.ui.define([
813
813
  /**
814
814
  * Returns the clipboard settings for a column.
815
815
  *
816
- * @param {sap.ui.mdc.Column} oColumn The column for which to get the clipboard settings
816
+ * @param {sap.ui.mdc.table.Column} oColumn The column for which to get the clipboard settings
817
817
  * @returns {sap.m.plugins.CopyProvider.ColumnClipboardSettings} Clipboard setting object for the provided column.
818
818
  * @private
819
819
  * @ui5-restricted sap.m.plugins.CopyProvider
@@ -865,6 +865,14 @@ sap.ui.define([
865
865
  }
866
866
  };
867
867
 
868
+ /**
869
+ * Determine the table's type
870
+ * @param {sap.ui.mdc.enums.TableType} sType The table type to be checked
871
+ * @param {boolean} bIncludeSubTypes enable subtype check
872
+ * @returns {boolean} Indicates if the table is of the given type
873
+ * @private
874
+ * @ui5-restricted sap.ui.mdc
875
+ */
868
876
  Table.prototype._isOfType = function(sType, bIncludeSubTypes) {
869
877
  var oType = this._getType();
870
878
 
@@ -2480,9 +2488,10 @@ sap.ui.define([
2480
2488
  /**
2481
2489
  * Defines the rows/items aggregation binding
2482
2490
  *
2491
+ * @param {boolean} [bForceRefresh] Indicates that the binding must be refreshed regardless of any <code>bindingInfo</code> change
2483
2492
  * @private
2484
2493
  */
2485
- Table.prototype.bindRows = function() {
2494
+ Table.prototype.bindRows = function(bForceRefresh) {
2486
2495
  if (!this.isControlDelegateInitialized() || !this._oTable) {
2487
2496
  return;
2488
2497
  }
@@ -2514,7 +2523,7 @@ sap.ui.define([
2514
2523
 
2515
2524
  this._oTable.setShowOverlay(false);
2516
2525
  this._updateColumnsBeforeBinding();
2517
- this.getControlDelegate().updateBinding(this, oBindingInfo, this._bForceRebind ? null : this.getRowBinding());
2526
+ this.getControlDelegate().updateBinding(this, oBindingInfo, this._bForceRebind ? null : this.getRowBinding(), { forceRefresh: bForceRefresh });
2518
2527
  this._updateInnerTableNoData();
2519
2528
  this._bForceRebind = false;
2520
2529
  };
@@ -2544,6 +2553,8 @@ sap.ui.define([
2544
2553
  * @private
2545
2554
  */
2546
2555
  Table.prototype._onBindingChange = function() {
2556
+ this.fireEvent("_bindingChange"); // consumed by sap.ui.mdc.valuehelp.content.MDCTable
2557
+
2547
2558
  this._updateExpandAllButton();
2548
2559
  this._updateCollapseAllButton();
2549
2560
  this._updateExportButton();
@@ -2661,13 +2672,16 @@ sap.ui.define([
2661
2672
 
2662
2673
  /**
2663
2674
  * Rebinds the table rows.
2675
+ *
2676
+ * @param {boolean} [bForceRefresh] Indicates that the binding must be refreshed regardless of any <code>bindingInfo</code> change
2677
+ * @private
2664
2678
  */
2665
- Table.prototype._rebind = function() {
2679
+ Table.prototype._rebind = function(bForceRefresh) {
2666
2680
  // Bind the rows/items of the table, only once it is initialized.
2667
2681
  if (this._bFullyInitialized) {
2668
- this.bindRows();
2682
+ this.bindRows(bForceRefresh);
2669
2683
  } else {
2670
- this._fullyInitialized().then(this._rebind.bind(this));
2684
+ this._fullyInitialized().then(this._rebind.bind(this, bForceRefresh));
2671
2685
  }
2672
2686
  };
2673
2687
 
@@ -2782,5 +2796,32 @@ sap.ui.define([
2782
2796
  }
2783
2797
  };
2784
2798
 
2799
+ /**
2800
+ * Allows programmatic configuration of the table's selection state
2801
+ * @param {array<sap.ui.model.Context>} aContexts Contexts which should be selected
2802
+ * @ui5-restricted sap.ui.mdc
2803
+ * @private
2804
+ */
2805
+ Table.prototype._setSelectedContexts = function (aContexts) {
2806
+ this.getControlDelegate().setSelectedContexts(this, aContexts);
2807
+ };
2808
+
2809
+ /**
2810
+ * Allows programmatic configuration of the inner table's properties.
2811
+ * @param {string} sProperty Property name to be modified
2812
+ * @param {any} vValue Value to be set
2813
+ * @ui5-restricted sap.ui.mdc
2814
+ * @private
2815
+ */
2816
+ Table.prototype._setInternalProperty = function (sProperty, vValue) {
2817
+ if (this._oTable) {
2818
+ var oPropertyMetaData = this._oTable.getMetadata().getProperty(sProperty);
2819
+ var sMutator = oPropertyMetaData && oPropertyMetaData._sMutator;
2820
+ if (sMutator) {
2821
+ this._oTable[sMutator](vValue);
2822
+ }
2823
+ }
2824
+ };
2825
+
2785
2826
  return Table;
2786
2827
  });
@@ -166,9 +166,11 @@ sap.ui.define([
166
166
  * @param {sap.ui.mdc.Table} oTable Instance of the table
167
167
  * @param {sap.ui.base.ManagedObject.AggregationBindingInfo} oBindingInfo The binding info object to be used to bind the table to the model
168
168
  * @param {sap.ui.model.ListBinding} [oBinding] The binding instance of the table
169
+ * @param {object} [mSettings] Additional settings
170
+ * @param {boolean} [mSettings.forceRefresh] Indicates that the binding has to be refreshed even if <code>oBindingInfo</code> has not been changed
169
171
  * @protected
170
172
  */
171
- TableDelegate.updateBinding = function(oTable, oBindingInfo, oBinding) {
173
+ TableDelegate.updateBinding = function(oTable, oBindingInfo, oBinding, mSettings) {
172
174
  this.rebind(oTable, oBindingInfo);
173
175
  };
174
176
 
@@ -439,6 +441,36 @@ sap.ui.define([
439
441
  return [];
440
442
  };
441
443
 
444
+ function setSelectedResponsiveTableConditions (oTable, aContexts) {
445
+ var aContextPaths = aContexts.map(function (oContext) {
446
+ return oContext.getPath();
447
+ });
448
+ oTable._oTable.removeSelections(true);
449
+ oTable._oTable.setSelectedContextPaths(aContextPaths);
450
+ oTable._oTable.getItems().forEach(function (oItem) {
451
+ var sPath = oItem.getBindingContextPath();
452
+ if (sPath && aContextPaths.indexOf(sPath) > -1) {
453
+ oItem.setSelected(true);
454
+ }
455
+ });
456
+ }
457
+
458
+ /**
459
+ * Provides the possibility to set a selection state for the MDC table programmatically
460
+ *
461
+ * @param {sap.ui.mdc.Table} oTable Instance of the MDC table
462
+ * @param {array<sap.ui.model.Context>} aContexts The set of contexts which should be flagged as selected
463
+ * @private
464
+ * @throws {Error} When the delegate cannot support the table/select configuration.
465
+ */
466
+ TableDelegate.setSelectedContexts = function (oTable, aContexts) {
467
+ if (oTable._isOfType(TableType.ResponsiveTable)) {
468
+ setSelectedResponsiveTableConditions(oTable, aContexts);
469
+ } else {
470
+ throw Error("Unsupported operation: TableDelegate does not support #setSelectedContexts for the given TableType");
471
+ }
472
+ };
473
+
442
474
  /**
443
475
  * Clears the selection.
444
476
  *
@@ -78,7 +78,7 @@ sap.ui.define([
78
78
  * @param {object} [mSettings] Initial settings for the new element
79
79
  * @class Element for the <code>ValueHelp</code> association in the {@link sap.ui.mdc.field.FieldBase FieldBase} controls.
80
80
  * @extends sap.ui.mdc.Element
81
- * @version 1.116.0
81
+ * @version 1.117.0
82
82
  * @constructor
83
83
  * @abstract
84
84
  * @public
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @class The action for an {@link sap.ui.mdc.ActionToolbar ActionToolbar} control
22
22
  * @extends sap.ui.core.Control
23
23
  * @author SAP SE
24
- * @version 1.116.0
24
+ * @version 1.117.0
25
25
  * @constructor
26
26
  * @since 1.58
27
27
  * @public
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @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.
23
23
  * @extends sap.ui.core.Control
24
24
  * @author SAP SE
25
- * @version 1.116.0
25
+ * @version 1.117.0
26
26
  * @constructor
27
27
  *
28
28
  * @public
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @class The <code>ChartSelectionDetails</code> control creates a <code>sap.m.SelectionDetails</code> popover based on metadata and the configuration specified.
27
27
  * @extends sap.m.SelectionDetails
28
28
  * @author SAP SE
29
- * @version 1.116.0
29
+ * @version 1.117.0
30
30
  * @constructor
31
31
  * @public
32
32
  * @since 1.88
@@ -22,15 +22,15 @@ sap.ui.define([], function () {
22
22
  },
23
23
 
24
24
  showUIChart: function (oControl, oSource) {
25
- return oControl.getEngine().uimanager.show(oControl, "Item");
25
+ return oControl.getEngine().show(oControl, "Item");
26
26
  },
27
27
 
28
28
  showUISort: function(oControl, oSource){
29
- return oControl.getEngine().uimanager.show(oControl, "Sort");
29
+ return oControl.getEngine().show(oControl, "Sort");
30
30
  },
31
31
 
32
32
  showUIFilter: function(oControl, oSource){
33
- return oControl.getEngine().uimanager.show(oControl, "Filter");
33
+ return oControl.getEngine().show(oControl, "Filter");
34
34
  }
35
35
 
36
36
  };
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @class The ChartToolbar control is a sap.m.OverflowToolbar based on metadata and the configuration specified.
50
50
  * @extends sap.ui.mdc.ActionToolbar
51
51
  * @author SAP SE
52
- * @version 1.116.0
52
+ * @version 1.117.0
53
53
  * @constructor
54
54
  * @experimental As of version 1.88
55
55
  * @private
@@ -193,10 +193,10 @@ sap.ui.define([
193
193
 
194
194
  //TODO: Move this to p13n functionality?
195
195
  if (oChart.isPropertyHelperFinal()){
196
- oChart.getEngine().uimanager.show(oChart, aP13nMode);
196
+ oChart.getEngine().show(oChart, aP13nMode);
197
197
  } else {
198
198
  oChart.finalizePropertyHelper().then(function(){
199
- oChart.getEngine().uimanager.show(oChart, aP13nMode);
199
+ oChart.getEngine().show(oChart, aP13nMode);
200
200
  });
201
201
  }
202
202
  }
@@ -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.116.0
29
+ * @version 1.117.0
30
30
  *
31
31
  * @private
32
32
  * @experimental