@openui5/sap.ui.mdc 1.111.2 → 1.112.2

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 (167) 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/Chart.js +21 -23
  5. package/src/sap/ui/mdc/ChartDelegate.js +1 -1
  6. package/src/sap/ui/mdc/ChartRenderer.js +0 -2
  7. package/src/sap/ui/mdc/Control.js +1 -1
  8. package/src/sap/ui/mdc/Element.js +1 -1
  9. package/src/sap/ui/mdc/Field.js +6 -6
  10. package/src/sap/ui/mdc/FilterBar.js +1 -1
  11. package/src/sap/ui/mdc/FilterBarDelegate.js +0 -37
  12. package/src/sap/ui/mdc/FilterField.js +4 -4
  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 +3 -11
  16. package/src/sap/ui/mdc/TableDelegate.js +5 -3
  17. package/src/sap/ui/mdc/ValueHelp.js +28 -15
  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/ChartImplementationContainerRenderer.js +0 -2
  21. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  22. package/src/sap/ui/mdc/chart/ChartToolbar.js +2 -2
  23. package/src/sap/ui/mdc/chart/ChartTypeButton.js +2 -2
  24. package/src/sap/ui/mdc/chart/PropertyHelper.js +35 -2
  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 +43 -1
  30. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  31. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +10 -17
  32. package/src/sap/ui/mdc/condition/RangeOperator.js +7 -8
  33. package/src/sap/ui/mdc/field/ConditionType.js +1 -1
  34. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  35. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  36. package/src/sap/ui/mdc/field/DefineConditionPanel.js +6 -6
  37. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +49 -62
  38. package/src/sap/ui/mdc/field/FieldBase.js +93 -33
  39. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  40. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  41. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  42. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  43. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  44. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  45. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  46. package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
  47. package/src/sap/ui/mdc/field/content/DateContent.js +1 -2
  48. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +4 -4
  49. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +3 -0
  50. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  51. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +29 -2
  52. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  53. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  54. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  55. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  56. package/src/sap/ui/mdc/flexibility/GroupFlex.js +56 -9
  57. package/src/sap/ui/mdc/flexibility/SortFlex.js +56 -9
  58. package/src/sap/ui/mdc/flexibility/Util.js +7 -1
  59. package/src/sap/ui/mdc/library.js +108 -2
  60. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  61. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  62. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  63. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  64. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  65. package/src/sap/ui/mdc/link/Factory.js +1 -1
  66. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  67. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  68. package/src/sap/ui/mdc/link/Panel.js +1 -1
  69. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  70. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  71. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  72. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  73. package/src/sap/ui/mdc/messagebundle.properties +15 -0
  74. package/src/sap/ui/mdc/messagebundle_ar.properties +11 -1
  75. package/src/sap/ui/mdc/messagebundle_bg.properties +10 -0
  76. package/src/sap/ui/mdc/messagebundle_ca.properties +10 -0
  77. package/src/sap/ui/mdc/messagebundle_cs.properties +10 -0
  78. package/src/sap/ui/mdc/messagebundle_cy.properties +10 -0
  79. package/src/sap/ui/mdc/messagebundle_da.properties +10 -0
  80. package/src/sap/ui/mdc/messagebundle_de.properties +10 -0
  81. package/src/sap/ui/mdc/messagebundle_el.properties +13 -3
  82. package/src/sap/ui/mdc/messagebundle_en.properties +10 -0
  83. package/src/sap/ui/mdc/messagebundle_en_GB.properties +10 -0
  84. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +10 -0
  85. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +2 -0
  86. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +10 -0
  87. package/src/sap/ui/mdc/messagebundle_es.properties +10 -0
  88. package/src/sap/ui/mdc/messagebundle_es_MX.properties +10 -0
  89. package/src/sap/ui/mdc/messagebundle_et.properties +10 -0
  90. package/src/sap/ui/mdc/messagebundle_fi.properties +10 -0
  91. package/src/sap/ui/mdc/messagebundle_fr.properties +10 -0
  92. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +10 -0
  93. package/src/sap/ui/mdc/messagebundle_hi.properties +10 -0
  94. package/src/sap/ui/mdc/messagebundle_hr.properties +10 -0
  95. package/src/sap/ui/mdc/messagebundle_hu.properties +10 -0
  96. package/src/sap/ui/mdc/messagebundle_id.properties +10 -0
  97. package/src/sap/ui/mdc/messagebundle_it.properties +10 -0
  98. package/src/sap/ui/mdc/messagebundle_iw.properties +10 -0
  99. package/src/sap/ui/mdc/messagebundle_ja.properties +11 -1
  100. package/src/sap/ui/mdc/messagebundle_kk.properties +10 -0
  101. package/src/sap/ui/mdc/messagebundle_ko.properties +10 -0
  102. package/src/sap/ui/mdc/messagebundle_lt.properties +10 -0
  103. package/src/sap/ui/mdc/messagebundle_lv.properties +10 -0
  104. package/src/sap/ui/mdc/messagebundle_ms.properties +10 -0
  105. package/src/sap/ui/mdc/messagebundle_nl.properties +10 -0
  106. package/src/sap/ui/mdc/messagebundle_no.properties +10 -0
  107. package/src/sap/ui/mdc/messagebundle_pl.properties +10 -0
  108. package/src/sap/ui/mdc/messagebundle_pt.properties +10 -0
  109. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +10 -0
  110. package/src/sap/ui/mdc/messagebundle_ro.properties +10 -0
  111. package/src/sap/ui/mdc/messagebundle_ru.properties +10 -0
  112. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -0
  113. package/src/sap/ui/mdc/messagebundle_sk.properties +10 -0
  114. package/src/sap/ui/mdc/messagebundle_sl.properties +10 -0
  115. package/src/sap/ui/mdc/messagebundle_sv.properties +10 -0
  116. package/src/sap/ui/mdc/messagebundle_th.properties +10 -0
  117. package/src/sap/ui/mdc/messagebundle_tr.properties +10 -0
  118. package/src/sap/ui/mdc/messagebundle_uk.properties +15 -5
  119. package/src/sap/ui/mdc/messagebundle_vi.properties +10 -0
  120. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +10 -0
  121. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +10 -0
  122. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  123. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  124. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +4 -3
  125. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  126. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -71
  127. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +7 -0
  128. package/src/sap/ui/mdc/p13n/P13nBuilder.js +382 -376
  129. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  130. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  131. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +1 -1
  132. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +5 -3
  133. package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +1 -1
  134. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +158 -11
  135. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +7 -7
  136. package/src/sap/ui/mdc/p13n/subcontroller/SelectionController.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/GridTableType.js +19 -0
  140. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
  141. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +1 -1
  142. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  143. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  144. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  145. package/src/sap/ui/mdc/table/menu/Item.js +6 -0
  146. package/src/sap/ui/mdc/themes/base/Chart.less +1 -1
  147. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +5 -1
  148. package/src/sap/ui/mdc/util/DateUtil.js +84 -95
  149. package/src/sap/ui/mdc/util/InfoBar.js +88 -60
  150. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  151. package/src/sap/ui/mdc/util/PropertyHelper.js +5 -1
  152. package/src/sap/ui/mdc/util/TypeUtil.js +6 -3
  153. package/src/sap/ui/mdc/valuehelp/Dialog.js +67 -58
  154. package/src/sap/ui/mdc/valuehelp/Popover.js +19 -1
  155. package/src/sap/ui/mdc/valuehelp/base/Container.js +12 -1
  156. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
  157. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  158. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +1 -1
  159. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  160. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  161. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  162. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  163. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
  164. package/src/sap/ui/mdc/valuehelp/content/MTable.js +6 -8
  165. package/src/sap/ui/mdc/p13n/Engine.js +0 -1200
  166. package/src/sap/ui/mdc/p13n/FlexUtil.js +0 -276
  167. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +0 -438
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.mdc",
3
- "version": "1.111.2",
3
+ "version": "1.112.2",
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.111.2",
18
- "@openui5/sap.ui.core": "1.111.2",
19
- "@openui5/sap.ui.layout": "1.111.2"
17
+ "@openui5/sap.m": "1.112.2",
18
+ "@openui5/sap.ui.core": "1.112.2",
19
+ "@openui5/sap.ui.layout": "1.112.2"
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.111.2</version>
9
+ <version>1.112.2</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.111.2
34
+ * @version 1.112.2
35
35
  * @constructor
36
36
  * @private
37
37
  * @since 1.58
@@ -28,7 +28,8 @@ sap.ui.define([
28
28
  "sap/ui/events/KeyCodes",
29
29
  "sap/ui/mdc/util/InfoBar",
30
30
  "sap/m/Label",
31
- "sap/ui/core/format/ListFormat"
31
+ "sap/ui/core/format/ListFormat",
32
+ "sap/ui/mdc/enum/ProcessingStrategy"
32
33
  ],
33
34
  function (
34
35
  Core,
@@ -54,7 +55,8 @@ sap.ui.define([
54
55
  KeyCodes,
55
56
  InfoBar,
56
57
  Label,
57
- ListFormat
58
+ ListFormat,
59
+ ProcessingStrategy
58
60
  ) {
59
61
  "use strict";
60
62
 
@@ -69,7 +71,7 @@ sap.ui.define([
69
71
  * @class The Chart control creates a chart based on metadata and the configuration specified.
70
72
  * @extends sap.ui.mdc.Control
71
73
  * @author SAP SE
72
- * @version 1.111.2
74
+ * @version 1.112.2
73
75
  * @constructor
74
76
  * @experimental As of version 1.88
75
77
  * @private
@@ -598,7 +600,8 @@ sap.ui.define([
598
600
  };
599
601
 
600
602
  Chart.prototype._initInfoToolbar = function() {
601
- this.setAggregation("_infoToolbar", new InfoBar(this.getId() + "--infoToolbar", {infoText: this._getFilterInfoText(),
603
+ this.setAggregation("_infoToolbar", new InfoBar(this.getId() + "--infoToolbar", {
604
+ infoText: this._getFilterInfoText(),
602
605
  press: function() {
603
606
  this.finalizePropertyHelper().then(function(){
604
607
  return ChartSettings.showPanel(this, "Filter");
@@ -612,12 +615,24 @@ sap.ui.define([
612
615
  });
613
616
 
614
617
  if (bNoConditions && this.getAggregation("_toolbar")) {
615
- this.getAggregation("_toolbar").getSettingsButton().focus();
618
+ this.getAggregation("_toolbar").getSettingsButton().focus();
616
619
  }
617
620
 
618
621
  }.bind(this));
619
622
  }.bind(this));
620
- }.bind(this)}));
623
+ }.bind(this),
624
+ removeAllFilters: function(oEvent) {
625
+ //this will only reset to the last variant and not clear all filters. this.getEngine().reset(this, ["Filter"]);
626
+ this.getEngine().createChanges({
627
+ control: this,
628
+ key: "Filter",
629
+ state: {},
630
+ applyAbsolute: ProcessingStrategy.FullReplace
631
+ });
632
+ //Focus handling, setting the focus back tothe settoing button
633
+ this._getToolbar().getSettingsButton().focus();
634
+ }.bind(this)
635
+ }));
621
636
 
622
637
  if (this.getDomRef()) {
623
638
  this.getDomRef().setAttribute("aria-labelledby", this.getAggregation("_infoToolbar").getACCTextId());
@@ -1259,23 +1274,6 @@ sap.ui.define([
1259
1274
  return this.getSortConditions() ? this.getSortConditions().sorters : [];
1260
1275
  };
1261
1276
 
1262
- /**
1263
- * Returns the fetched properties from the delegate
1264
- *
1265
- * @private
1266
- */
1267
- Chart.prototype._getPropertyData = function () {
1268
-
1269
- if (!this.aFetchedProperties) {
1270
- //retrieve the data
1271
- this.aFetchedProperties = this.getControlDelegate().fetchProperties(this);
1272
- } else {
1273
- //take the already instantiated data
1274
- return this.aFetchedProperties;
1275
- }
1276
-
1277
- };
1278
-
1279
1277
  Chart.prototype._getTypeBtnActive = function(){
1280
1278
  return !!this._typeBtnActive;
1281
1279
  };
@@ -497,7 +497,7 @@ sap.ui.define([
497
497
  * Returns the relevant property infos based on the metadata used with the MDC chart instance.
498
498
  *
499
499
  * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
500
- * @returns {array} Array of the property infos to be used within MDC chart
500
+ * @returns {Promise<sap.ui.mdc.chart.PropertyInfo[]>} Array of the property infos to be used within the chart
501
501
  *
502
502
  * @experimental
503
503
  * @private
@@ -32,8 +32,6 @@ sap.ui.define(['./library'],
32
32
  */
33
33
  ChartRenderer.render = function(oRm, oMDCChart) {
34
34
  oRm.openStart("div", oMDCChart);
35
- //TODO: Clarify why providing the control in openStart doesn't work on rerender
36
- oRm.attr("id", oMDCChart.getId());
37
35
  oRm.class(ChartRenderer.CSS_CLASS);
38
36
  //oRm.class("sapUiFixFlex");
39
37
  //oRm.style("overflow", "hidden");
@@ -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.111.2
23
+ * @version 1.112.2
24
24
  * @alias sap.ui.mdc.Control
25
25
  *
26
26
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as awaitControlDelegate
@@ -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.111.2
23
+ * @version 1.112.2
24
24
  * @alias sap.ui.mdc.Element
25
25
  *
26
26
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as awaitControlDelegate
@@ -42,12 +42,12 @@ sap.ui.define([
42
42
  * @implements sap.ui.core.IFormContent
43
43
  *
44
44
  * @author SAP SE
45
- * @version 1.111.2
45
+ * @version 1.112.2
46
46
  *
47
47
  * @constructor
48
48
  * @alias sap.ui.mdc.Field
49
49
  * @author SAP SE
50
- * @version 1.111.2
50
+ * @version 1.112.2
51
51
  * @since 1.54.0
52
52
  * @experimental As of version 1.54
53
53
  *
@@ -193,11 +193,11 @@ sap.ui.define([
193
193
  // BindingContextChanged -> if parsing error trigger update to remove valueState and wrong input
194
194
  this._oBindingContext = oBindingContext;
195
195
  this._getContentFactory().updateConditionType();
196
- if (this._bParseError || this.getFieldHelp()) { // In FieldHelp case InParameters might need an update
196
+ if (this._isInvalidInput() || this.getFieldHelp()) { // In FieldHelp case InParameters might need an update
197
197
  if (this._oManagedObjectModel) {
198
198
  this._oManagedObjectModel.checkUpdate(true, true); // async. to reduce updates
199
199
  }
200
- this._bParseError = false;
200
+ this._resetInvalidInput();
201
201
  }
202
202
  }
203
203
 
@@ -222,12 +222,12 @@ sap.ui.define([
222
222
 
223
223
  Field.prototype.setProperty = function(sPropertyName, oValue, bSuppressInvalidate) {
224
224
 
225
- if (sPropertyName === "value" && this._bParseError && deepEqual(this.getValue(), this.validateProperty(sPropertyName, oValue))) {
225
+ if (sPropertyName === "value" && this._isInvalidInput() && deepEqual(this.getValue(), this.validateProperty(sPropertyName, oValue))) {
226
226
  // in parse error and same value - no update on property - so remove error here
227
227
  if (this._oManagedObjectModel) {
228
228
  this._oManagedObjectModel.checkUpdate(true, true); // async. to reduce updates (additionalValue will follow)
229
229
  }
230
- this._bParseError = false;
230
+ this._resetInvalidInput();
231
231
  }
232
232
 
233
233
  return FieldBase.prototype.setProperty.apply(this, arguments);
@@ -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.111.2
24
+ * @version 1.112.2
25
25
  * @constructor
26
26
  * @experimental As of version 1.61
27
27
  * @private
@@ -107,43 +107,6 @@ sap.ui.define(["sap/ui/mdc/AggregationBaseDelegate", "sap/ui/mdc/enum/FilterBarV
107
107
  return Promise.resolve();
108
108
  };
109
109
 
110
- /**
111
- * @typedef {object} sap.ui.mdc.filterbar.PropertyInfo
112
- *
113
- * @property {string} path
114
- * The identifier of the property
115
- * @property {string} [name]
116
- * The alternative identifier of the property. Either path or name can be used; preference is on path.
117
- * @property {string} label
118
- * The label of the identifier
119
- * @property {string} [tooltip]
120
- * The tooltip of the identifier
121
- * @property {string} datatype
122
- * The name of the type of the property
123
- * @property {object} [constraints]
124
- * Defines constraints for the data type of the property
125
- * @property {object} [formatOptions]
126
- * Defines format options for the data type of the property
127
- * @property {string} [group]
128
- * The group identifier to which the property belongs
129
- * @property {string} [groupLabel]
130
- * The group name of the group identifier
131
- * @property {boolean} [caseSensitive = false]
132
- * If <code>true</code> defines that the filter value will be treated as case-sensitive
133
- * @property {sap.ui.mdc.enum.FieldDisplay} [display]
134
- * Describes how the value will be presented to the user
135
- * @property {boolean} [hiddenFilter = false]
136
- * Defines if the filter will be visible on the filter bar
137
- * @property {boolean} [required = false]
138
- * Defines if the filter is mandatory
139
- * @property {int} maxConditions
140
- * Defines if the filter supports multiple values <code>-1</code> or single values <code>1</code>
141
- *
142
- * @private
143
- * @experimental
144
- * @ui5-restricted sap.fe
145
- * @MDC_PUBLIC_CANDIDATE
146
- */
147
110
 
148
111
  /**
149
112
  * Retrieves the relevant metadata for a given payload and returns the property info array.
@@ -33,12 +33,12 @@ sap.ui.define([
33
33
  * @extends sap.ui.mdc.field.FieldBase
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.111.2
36
+ * @version 1.112.2
37
37
  *
38
38
  * @constructor
39
39
  * @alias sap.ui.mdc.FilterField
40
40
  * @author SAP SE
41
- * @version 1.111.2
41
+ * @version 1.112.2
42
42
  * @since 1.48.0
43
43
  *
44
44
  * @experimental As of version 1.48
@@ -138,7 +138,7 @@ sap.ui.define([
138
138
 
139
139
  FilterField.prototype.setProperty = function(sPropertyName, oValue, bSuppressInvalidate) {
140
140
 
141
- if (sPropertyName === "conditions" && this._bParseError && deepEqual(this.getConditions(), this.validateProperty(sPropertyName, oValue))) {
141
+ if (sPropertyName === "conditions" && this._isInvalidInput() && deepEqual(this.getConditions(), this.validateProperty(sPropertyName, oValue))) {
142
142
  // in parse error and same Conditions - no update on property - so remove error here
143
143
  // As ConditionModel triggers checkUpdate in forced mode on addCondition, setConditions... also unchanged conditions will be updated
144
144
  // So e.g. if a variant is applied an error will be removed.
@@ -146,7 +146,7 @@ sap.ui.define([
146
146
  this._oManagedObjectModel.checkUpdate(true, true); // async. to reduce updates (additionalValue will follow)
147
147
  }
148
148
  // TODO: prevent unneeded update of tokens?
149
- this._bParseError = false;
149
+ this._resetInvalidInput();
150
150
  }
151
151
 
152
152
  return FieldBase.prototype.setProperty.apply(this, arguments);
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @extends sap.ui.mdc.field.FieldInfoBase
46
46
  *
47
47
  * @author SAP SE
48
- * @version 1.111.2
48
+ * @version 1.112.2
49
49
  *
50
50
  * @constructor
51
51
  * @alias sap.ui.mdc.Link
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @constructor
36
36
  * @alias sap.ui.mdc.MultiValueField
37
37
  * @author SAP SE
38
- * @version 1.111.2
38
+ * @version 1.112.2
39
39
  * @since 1.93.0
40
40
  *
41
41
  * @private
@@ -225,6 +225,9 @@ sap.ui.define([
225
225
  /**
226
226
  * Selection mode of the table. Specifies whether single or multiple rows can be selected and how the selection can be extended. It
227
227
  * may also influence the visual appearance.
228
+ *
229
+ * With the {@link sap.ui.mdc.table.GridTableType GridTableType} and server-side models, range selections, including Select All, only
230
+ * work properly if the count is known. Make sure the model/binding is configured to request the count from the service.
228
231
  */
229
232
  selectionMode: {
230
233
  type: "sap.ui.mdc.SelectionMode",
@@ -2601,17 +2604,6 @@ sap.ui.define([
2601
2604
  }
2602
2605
  };
2603
2606
 
2604
- //Due to flexibility handling an additional invalidation on the inner control might be necessary
2605
- //Note: ManagedObject#invalidate does not provide arguments - sReason will only be provided when called during mdc flex handling
2606
- Table.prototype.invalidate = function(sReason) {
2607
- if (sReason === "InvalidationSuppressedByMDCFlex" && this._oTable) {
2608
- // Invalidation might have been suppressed when applying column changes, for example. See sap.ui.mdc.flexibility.ItemBaseFlex.
2609
- // The inner table might react to an invalidation, so it needs to be called manually.
2610
- this._oTable.invalidate();
2611
- }
2612
- Control.prototype.invalidate.apply(this, arguments);
2613
- };
2614
-
2615
2607
  /**
2616
2608
  * Terminates the <code>MDCTable</code> control.
2617
2609
  * @private
@@ -13,13 +13,15 @@ sap.ui.define([
13
13
  "./library",
14
14
  "sap/ui/model/Sorter",
15
15
  "sap/ui/core/library",
16
- "sap/ui/core/Core"
16
+ "sap/ui/core/Core",
17
+ "sap/base/util/UriParameters"
17
18
  ], function(
18
19
  AggregationBaseDelegate,
19
20
  library,
20
21
  Sorter,
21
22
  coreLibrary,
22
- Core
23
+ Core,
24
+ UriParameters
23
25
  ) {
24
26
  "use strict";
25
27
 
@@ -243,7 +245,7 @@ sap.ui.define([
243
245
  * @private
244
246
  */
245
247
  TableDelegate.isExportSupported = function(oTable) {
246
- return !oTable._isOfType(TableType.TreeTable);
248
+ return !oTable._isOfType(TableType.TreeTable) || UriParameters.fromURL(window.location.href).has("sap-ui-xx-mdc-tree-export");
247
249
  };
248
250
 
249
251
  /**
@@ -80,7 +80,7 @@ sap.ui.define([
80
80
  * @param {object} [mSettings] Initial settings for the new element
81
81
  * @class Element for the <code>FieldHelp</code> association in the {@link sap.ui.mdc.field.FieldBase FieldBase} controls.
82
82
  * @extends sap.ui.mdc.Element
83
- * @version 1.111.2
83
+ * @version 1.112.2
84
84
  * @constructor
85
85
  * @abstract
86
86
  * @private
@@ -628,6 +628,24 @@ sap.ui.define([
628
628
 
629
629
  };
630
630
 
631
+ /**
632
+ * Determines if the value help should be opened when the user focuses the connected control.
633
+ *
634
+ * Opening the value help must be triggered by the control the <code>ValueHelp</code> element
635
+ * belongs to.
636
+ *
637
+ * <b>Note:</b> This function must only be called by the control the <code>ValueHelp</code> element
638
+ * belongs to, not by the application.
639
+ *
640
+ * @returns {boolean} If <code>true</code>, the value help should open when user focuses the connected field control
641
+ * @private
642
+ * @ui5-restricted sap.ui.mdc.field.FieldBase
643
+ */
644
+ ValueHelp.prototype.shouldOpenOnFocus = function () {
645
+ var oContainer = _getValueHelpContainer.call(this, true);
646
+ return oContainer && oContainer.shouldOpenOnFocus();
647
+ };
648
+
631
649
  /**
632
650
  * Determines if the value help should be opened when the user clicks into the connected control.
633
651
  *
@@ -642,10 +660,7 @@ sap.ui.define([
642
660
  * @ui5-restricted sap.ui.mdc.field.FieldBase
643
661
  */
644
662
  ValueHelp.prototype.shouldOpenOnClick = function () {
645
- var oTypeahead = this.getTypeahead();
646
- var oDialog = this.getDialog();
647
- var bTypeaheadEnabled = oTypeahead && (oTypeahead.getUseAsValueHelp() || !!oDialog); // Prefer typeahead, but only if dialog is available or dialog-like usage is enabled
648
- var oContainer = bTypeaheadEnabled ? oTypeahead : oDialog;
663
+ var oContainer = _getValueHelpContainer.call(this, true);
649
664
  return oContainer && oContainer.shouldOpenOnClick();
650
665
  };
651
666
 
@@ -1006,19 +1021,17 @@ sap.ui.define([
1006
1021
  this.setBindingContext(oBindingContext);
1007
1022
  }
1008
1023
 
1009
- function _getValueHelpContainer() {
1024
+ function _getValueHelpContainer(bPreferTypeahead) {
1010
1025
 
1011
- var oContainer = this.getDialog();
1026
+ var oTypeahead = this.getTypeahead();
1027
+ var bUseAsValueHelp = !!oTypeahead && oTypeahead.getUseAsValueHelp();
1028
+ var oDialog = this.getDialog();
1012
1029
 
1013
- if (!oContainer) { // no Dialog -> check if Typeahead should be opened
1014
- var oTypeahead = this.getTypeahead();
1015
- if (oTypeahead && oTypeahead.getUseAsValueHelp()) {
1016
- oContainer = oTypeahead;
1017
- }
1030
+ if (bPreferTypeahead) {
1031
+ return (bUseAsValueHelp || oDialog) && oTypeahead || oDialog;
1032
+ } else {
1033
+ return oDialog || bUseAsValueHelp && oTypeahead;
1018
1034
  }
1019
-
1020
- return oContainer;
1021
-
1022
1035
  }
1023
1036
 
1024
1037
  // overwrite standard logic of Element to use FieldGroups of connected Field for all content (children aggregations)
@@ -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.111.2
24
+ * @version 1.112.2
25
25
  * @constructor
26
26
  * @private
27
27
  * @since 1.58
@@ -22,7 +22,7 @@ function (Control, Renderer, Core, jQuery
22
22
  * @class The Chart control creates a chart based on metadata and the configuration specified.
23
23
  * @extends sap.ui.core.Control
24
24
  * @author SAP SE
25
- * @version 1.111.2
25
+ * @version 1.112.2
26
26
  * @constructor
27
27
  * @experimental As of version 1.105
28
28
  * @private
@@ -32,8 +32,6 @@ sap.ui.define([],
32
32
  */
33
33
  ChartRenderer.render = function(oRm, oChartImplContainer) {
34
34
  oRm.openStart("div", oChartImplContainer);
35
- //TODO: Clarify why providing the control in openStart doesn't work on rerender
36
- oRm.attr("id", oChartImplContainer.getId());
37
35
  //oRm.class(ChartRenderer.CSS_CLASS);
38
36
  //oRm.class("sapUiFixFlex");
39
37
  //oRm.style("overflow", "hidden");
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @class The ChartSelectionDetails control creates a sap.m.SelectionDetails popover based on metadata and the configuration specified.
34
34
  * @extends sap.m.SelectionDetails
35
35
  * @author SAP SE
36
- * @version 1.111.2
36
+ * @version 1.112.2
37
37
  * @constructor
38
38
  * @experimental As of version 1.88
39
39
  * @private
@@ -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.111.2
52
+ * @version 1.112.2
53
53
  * @constructor
54
54
  * @experimental As of version 1.88
55
55
  * @private
@@ -178,7 +178,7 @@ sap.ui.define([
178
178
  //Enabled via toggleZoomButtons()
179
179
  }
180
180
 
181
- if (aP13nMode.indexOf("Sort") > -1 || aP13nMode.indexOf("Item") > -1) {
181
+ if (aP13nMode.indexOf("Sort") > -1 || aP13nMode.indexOf("Item") > -1 || aP13nMode.indexOf("Filter") > -1) {
182
182
  this._oSettingsBtn = new OverflowButton(oMDCChart.getId() + "-chart_settings", {
183
183
  icon: "sap-icon://action-settings",//TODO the right icon for P13n chart dialog
184
184
  tooltip: MDCRb.getText('chart.SETTINGS'),
@@ -181,8 +181,8 @@ sap.ui.define([
181
181
  var oObj = oCtx.getObject();
182
182
  if (oObj && oObj.key) {
183
183
  sap.ui.require([
184
- "sap/ui/mdc/p13n/FlexUtil", "sap/ui/mdc/flexibility/Chart.flexibility"
185
- ], function(FlexUtil,ChartFlex) {
184
+ "sap/ui/mdc/flexibility/Chart.flexibility"
185
+ ], function(ChartFlex) {
186
186
  //var aChanges = [];
187
187
 
188
188
  oMDCChart.getEngine().createChanges({
@@ -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.111.2
29
+ * @version 1.112.2
30
30
  *
31
31
  * @private
32
32
  * @experimental
@@ -37,7 +37,40 @@ sap.ui.define([
37
37
  constructor: function(aProperties, oParent) {
38
38
  PropertyHelperBase.call(this, aProperties, oParent, {
39
39
  filterable: true,
40
- sortable: true
40
+ sortable: true,
41
+ propertyInfos: true,
42
+
43
+ //Additional attributes
44
+ groupable: {
45
+ type: "boolean"
46
+ },
47
+ aggregatable: {
48
+ type: "boolean"
49
+ },
50
+ propertyPath: {
51
+ type: "string"
52
+ },
53
+ aggregationMethod : {
54
+ type: "string"
55
+ },
56
+ role : {
57
+ type: "string"
58
+ },
59
+ datapoint : {
60
+ type: "object"
61
+ },
62
+ criticality : {
63
+ type: "object"
64
+ },
65
+ textProperty : {
66
+ type: "string"
67
+ },
68
+ availableRoles : {
69
+ type: "object"
70
+ },
71
+ kind: {
72
+ type: "string"
73
+ }
41
74
  });
42
75
  }
43
76
  });
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  *
29
29
  * @namespace
30
30
  * @author SAP SE
31
- * @version 1.111.2
31
+ * @version 1.112.2
32
32
  * @since 1.61.0
33
33
  * @alias sap.ui.mdc.condition.Condition
34
34
  *
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace
26
26
  * @author SAP SE
27
- * @version 1.111.2
27
+ * @version 1.112.2
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.mdc
30
30
  * @experimental As of version 1.74
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @extends sap.ui.model.json.JSONModel
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.111.2
38
+ * @version 1.112.2
39
39
  * @since 1.48.0
40
40
  * @alias sap.ui.mdc.condition.ConditionModel
41
41
  *
@@ -24,7 +24,7 @@ function(
24
24
  *
25
25
  * @namespace
26
26
  * @author SAP SE
27
- * @version 1.111.2
27
+ * @version 1.112.2
28
28
  * @since 1.78.0
29
29
  * @alias sap.ui.mdc.condition.FilterConverter
30
30
  *