@openui5/sap.ui.mdc 1.102.1 → 1.103.1

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 (194) 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 +11 -0
  5. package/src/sap/ui/mdc/Chart.js +111 -55
  6. package/src/sap/ui/mdc/ChartDelegate.js +97 -92
  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 +2 -2
  10. package/src/sap/ui/mdc/FilterBar.js +1 -1
  11. package/src/sap/ui/mdc/FilterField.js +2 -2
  12. package/src/sap/ui/mdc/Link.js +4 -1
  13. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  14. package/src/sap/ui/mdc/Table.js +48 -12
  15. package/src/sap/ui/mdc/ValueHelp.js +1 -19
  16. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -1
  17. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -2
  18. package/src/sap/ui/mdc/chart/ChartToolbar.js +34 -2
  19. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +6 -2
  20. package/src/sap/ui/mdc/chart/Item.js +6 -11
  21. package/src/sap/ui/mdc/chart/PropertyHelper.js +7 -8
  22. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +2 -3
  23. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  24. package/src/sap/ui/mdc/condition/ConditionConverter.js +16 -131
  25. package/src/sap/ui/mdc/condition/ConditionModel.js +50 -21
  26. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  27. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +3 -3
  28. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  29. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
  30. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  31. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +6 -3
  32. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +53 -0
  33. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +9 -4
  34. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
  35. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  36. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  37. package/src/sap/ui/mdc/field/ConditionType.js +135 -39
  38. package/src/sap/ui/mdc/field/ConditionsType.js +71 -10
  39. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -2
  40. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  41. package/src/sap/ui/mdc/field/DefineConditionPanel.js +93 -81
  42. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +9 -62
  43. package/src/sap/ui/mdc/field/FieldBase.js +91 -70
  44. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +20 -1
  45. package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -39
  46. package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
  47. package/src/sap/ui/mdc/field/FieldInput.js +2 -2
  48. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  49. package/src/sap/ui/mdc/field/FieldMultiInput.js +2 -2
  50. package/src/sap/ui/mdc/field/FieldValueHelp.js +1 -1
  51. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -19
  52. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  53. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +7 -1
  54. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +1 -1
  55. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  56. package/src/sap/ui/mdc/field/InParameter.js +1 -4
  57. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  58. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  59. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  60. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  61. package/src/sap/ui/mdc/field/TokenDisplay.js +2 -2
  62. package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -2
  63. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -5
  64. package/src/sap/ui/mdc/field/content/DateContent.js +3 -3
  65. package/src/sap/ui/mdc/field/content/DateTimeContent.js +1 -1
  66. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +4 -4
  67. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
  68. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  69. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  70. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  71. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +80 -4
  72. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +19 -38
  73. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  74. package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +23 -41
  75. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +43 -58
  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 +25 -55
  79. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +21 -42
  80. package/src/sap/ui/mdc/flexibility/SortFlex.js +23 -52
  81. package/src/sap/ui/mdc/flexibility/Table.flexibility.js +3 -3
  82. package/src/sap/ui/mdc/flexibility/Util.js +82 -0
  83. package/src/sap/ui/mdc/flexibility/xConfigFlex.js +137 -0
  84. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +3 -1
  85. package/src/sap/ui/mdc/library.js +4 -15
  86. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  87. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  88. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  89. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  90. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  91. package/src/sap/ui/mdc/link/Factory.js +1 -1
  92. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  93. package/src/sap/ui/mdc/link/LinkItem.js +9 -1
  94. package/src/sap/ui/mdc/link/Panel.js +25 -10
  95. package/src/sap/ui/mdc/link/PanelItem.js +10 -1
  96. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  97. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  98. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  99. package/src/sap/ui/mdc/messagebundle.properties +12 -0
  100. package/src/sap/ui/mdc/messagebundle_ar.properties +8 -0
  101. package/src/sap/ui/mdc/messagebundle_bg.properties +8 -0
  102. package/src/sap/ui/mdc/messagebundle_ca.properties +8 -0
  103. package/src/sap/ui/mdc/messagebundle_cs.properties +8 -0
  104. package/src/sap/ui/mdc/messagebundle_cy.properties +8 -0
  105. package/src/sap/ui/mdc/messagebundle_da.properties +8 -0
  106. package/src/sap/ui/mdc/messagebundle_de.properties +8 -0
  107. package/src/sap/ui/mdc/messagebundle_el.properties +19 -11
  108. package/src/sap/ui/mdc/messagebundle_en.properties +8 -0
  109. package/src/sap/ui/mdc/messagebundle_en_GB.properties +8 -0
  110. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +8 -0
  111. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +8 -0
  112. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +8 -0
  113. package/src/sap/ui/mdc/messagebundle_es.properties +14 -6
  114. package/src/sap/ui/mdc/messagebundle_es_MX.properties +8 -0
  115. package/src/sap/ui/mdc/messagebundle_et.properties +8 -0
  116. package/src/sap/ui/mdc/messagebundle_fi.properties +8 -0
  117. package/src/sap/ui/mdc/messagebundle_fr.properties +9 -1
  118. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +8 -0
  119. package/src/sap/ui/mdc/messagebundle_hi.properties +8 -0
  120. package/src/sap/ui/mdc/messagebundle_hr.properties +8 -0
  121. package/src/sap/ui/mdc/messagebundle_hu.properties +8 -0
  122. package/src/sap/ui/mdc/messagebundle_id.properties +8 -0
  123. package/src/sap/ui/mdc/messagebundle_it.properties +9 -1
  124. package/src/sap/ui/mdc/messagebundle_iw.properties +9 -1
  125. package/src/sap/ui/mdc/messagebundle_ja.properties +8 -0
  126. package/src/sap/ui/mdc/messagebundle_kk.properties +8 -0
  127. package/src/sap/ui/mdc/messagebundle_ko.properties +10 -2
  128. package/src/sap/ui/mdc/messagebundle_lt.properties +8 -0
  129. package/src/sap/ui/mdc/messagebundle_lv.properties +8 -0
  130. package/src/sap/ui/mdc/messagebundle_ms.properties +8 -0
  131. package/src/sap/ui/mdc/messagebundle_nl.properties +22 -14
  132. package/src/sap/ui/mdc/messagebundle_no.properties +8 -0
  133. package/src/sap/ui/mdc/messagebundle_pl.properties +8 -0
  134. package/src/sap/ui/mdc/messagebundle_pt.properties +12 -4
  135. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +8 -0
  136. package/src/sap/ui/mdc/messagebundle_ro.properties +8 -0
  137. package/src/sap/ui/mdc/messagebundle_ru.properties +8 -0
  138. package/src/sap/ui/mdc/messagebundle_sh.properties +9 -1
  139. package/src/sap/ui/mdc/messagebundle_sk.properties +8 -0
  140. package/src/sap/ui/mdc/messagebundle_sl.properties +8 -0
  141. package/src/sap/ui/mdc/messagebundle_sv.properties +8 -0
  142. package/src/sap/ui/mdc/messagebundle_th.properties +8 -0
  143. package/src/sap/ui/mdc/messagebundle_tr.properties +8 -0
  144. package/src/sap/ui/mdc/messagebundle_uk.properties +8 -0
  145. package/src/sap/ui/mdc/messagebundle_vi.properties +8 -0
  146. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +8 -0
  147. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +9 -1
  148. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  149. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  150. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  151. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  152. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  153. package/src/sap/ui/mdc/odata/TypeUtil.js +24 -2
  154. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +5 -5
  155. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +6 -0
  156. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +6 -6
  157. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +0 -33
  158. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +359 -151
  159. package/src/sap/ui/mdc/p13n/Engine.js +1 -1
  160. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +1 -0
  161. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  162. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  163. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
  164. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +133 -0
  165. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +7 -32
  166. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +12 -4
  167. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
  168. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  169. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +22 -27
  170. package/src/sap/ui/mdc/table/Column.js +4 -1
  171. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  172. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
  173. package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
  174. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  175. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  176. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +5 -0
  177. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  178. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  179. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  180. package/src/sap/ui/mdc/util/TypeUtil.js +105 -17
  181. package/src/sap/ui/mdc/valuehelp/Dialog.js +95 -30
  182. package/src/sap/ui/mdc/valuehelp/Popover.js +15 -2
  183. package/src/sap/ui/mdc/valuehelp/base/Container.js +37 -28
  184. package/src/sap/ui/mdc/valuehelp/base/Content.js +39 -21
  185. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +5 -5
  186. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +41 -34
  187. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  188. package/src/sap/ui/mdc/valuehelp/content/Bool.js +4 -4
  189. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +11 -3
  190. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  191. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
  192. package/src/sap/ui/mdc/valuehelp/content/MTable.js +2 -2
  193. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +34 -82
  194. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +0 -139
@@ -3,18 +3,14 @@
3
3
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
-
7
- // ---------------------------------------------------------------------------------------
8
- // Helper class used to help create content in the MDC chart and fill relevant metadata
9
- // ---------------------------------------------------------------------------------------
10
- // ---------------------------------------------------------------------------------------
11
6
  sap.ui.define([
12
7
  "sap/ui/mdc/AggregationBaseDelegate"
13
8
  ], function (AggregationBaseDelegate) {
14
9
  "use strict";
15
10
 
16
11
  /**
17
- * Base delegate class for sap.ui.mdc.Chart.<br>
12
+ * Base delegate class for sap.ui.mdc.Chart.<br>.
13
+ * This helper class is used to help create content in the MDC chart and fill relevant metadata.
18
14
  * <b>Note:</b> The class is experimental and the API/behavior is not finalized and hence this should not be used for productive usage.
19
15
  *
20
16
  * @author SAP SE
@@ -31,25 +27,25 @@ sap.ui.define([
31
27
  */
32
28
 
33
29
  /**
34
- * Zooms in on the inner chart.
35
- * @param {int} iValue Number of steps for zooming in
36
- *
30
+ * Notifies the inner chart to zoom in.
31
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
32
+ * @param {int} iValue Value to zoom in
37
33
  * @experimental
38
34
  * @private
39
- * @ui5-restricted sap.ui.mdc
35
+ * @ui5-restricted Fiori Elements, sap.ui.mdc
40
36
  */
41
- ChartDelegate.zoomIn = function (iValue) {
37
+ ChartDelegate.zoomIn = function (oMDCChart, iValue) {
42
38
  };
43
39
 
44
40
  /**
45
- * Zooms out of the inner chart.
46
- * @param {int} iValue Number of steps for zooming out
47
- *
41
+ * Notifies the inner chart to zoom out.
42
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
43
+ * @param {int} iValue value to zoom in
48
44
  * @experimental
49
45
  * @private
50
- * @ui5-restricted sap.ui.mdc
46
+ * @ui5-restricted Fiori Elements, sap.ui.mdc
51
47
  */
52
- ChartDelegate.zoomOut = function (iValue) {
48
+ ChartDelegate.zoomOut = function (oMDCChart, iValue) {
53
49
  };
54
50
 
55
51
 
@@ -59,14 +55,14 @@ sap.ui.define([
59
55
  * @property {number} currentZoomLevel Current zoom level of the chart in percent (between 0 and 1)
60
56
  */
61
57
  /**
62
- * Retrieves the current zooming information for the inner chart.
63
- * @returns {ZoomState} Current zoom state on the inner chart
64
- *
58
+ * Gets the current zooming information for the inner chart.
59
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
60
+ * @returns {ZoomState} Current <code>ZoomState</code> of the inner chart
65
61
  * @experimental
66
62
  * @private
67
- * @ui5-restricted sap.ui.mdc
63
+ * @ui5-restricted Fiori Elements, sap.ui.mdc
68
64
  */
69
- ChartDelegate.getZoomState = function () {
65
+ ChartDelegate.getZoomState = function (oMDCChart) {
70
66
  };
71
67
 
72
68
  ChartDelegate.getFilterDelegate = function() {
@@ -76,7 +72,7 @@ sap.ui.define([
76
72
  * Creates an instance of a <code>sap.ui.mdc.FilterField</code>.
77
73
  *
78
74
  * @param {string} sPropertyName The property name
79
- * @param {sap.ui.mdc.Control} oControl - the instance of the mdc control
75
+ * @param {sap.ui.mdc.Control} oControl - Instance of the mdc control
80
76
  * @returns {Promise<sap.ui.mdc.FilterField>} <code>Promise</code> that resolves with an instance of a <code>sap.ui.mdc.FilterField</code>.
81
77
  * @see sap.ui.mdc.AggregationBaseDelegate#addItem
82
78
  */
@@ -85,26 +81,26 @@ sap.ui.define([
85
81
  },
86
82
 
87
83
  /**
88
- * This methods is called during the appliance of the add condition change.
89
- * This intention is to update the propertyInfo property.
84
+ * This method is called when an <code>AddCondition</code> change is applied by the personalization.
85
+ * It can be used to perform tasks, such as caching information or modifying the control.
90
86
  *
91
- * @param {string} sPropertyName The name of a property.
92
- * @param {sap.ui.mdc.Control} oControl - the instance of the mdc control
93
- * @param {Object} mPropertyBag Instance of property bag from Flex change API
94
- * @returns {Promise} Promise that resolves once the properyInfo property was updated
87
+ * @param {string} sPropertyName Name of a property
88
+ * @param {sap.ui.mdc.Control} oControl Instance of the MDC control
89
+ * @param {Object} mPropertyBag Instance of property bag from the SAPUI5 flexibility API
90
+ * @returns {Promise} <code>Promise</code> that resolves once the properyInfo property has been updated
95
91
  */
96
92
  addCondition: function(sPropertyName, oControl, mPropertyBag) {
97
93
  return Promise.resolve();
98
94
  },
99
95
 
100
96
  /**
101
- * This methods is called during the appliance of the remove condition change.
102
- * This intention is to update the propertyInfo property.
97
+ * This method is called when a <code>RemoveCondition</code> change is applied by the personalization.
98
+ * It can be used to perform tasks, such as caching information or modifying the control.
103
99
  *
104
- * @param {string} sPropertyName The name of a property.
105
- * @param {sap.ui.mdc.Control} oControl - the instance of the mdc control
106
- * @param {Object} mPropertyBag Instance of property bag from Flex change API
107
- * @returns {Promise} Promise that resolves once the properyInfo property was updated
100
+ * @param {string} sPropertyName Name of a property
101
+ * @param {sap.ui.mdc.Control} oControl Instance of the mdc control
102
+ * @param {Object} mPropertyBag Instance of property bag from the SAPUI5 flexibility API
103
+ * @returns {Promise} <code>Promise</code> that resolves once the properyInfo property has been updated
108
104
  */
109
105
  removeCondition: function(sPropertyName, oControl, mPropertyBag) {
110
106
  return Promise.resolve();
@@ -116,13 +112,14 @@ sap.ui.define([
116
112
  * Creates a new MDC chart item for a given property name and updates the inner chart.
117
113
  * <b>Note:</b> This does <b>not</b> add the MDC chart item to the <code>Items</code> aggregation of the MDC chart.
118
114
  * Called and used by <code>p13n</code>.
119
- * @param {string} sPropertyName Name of the property added
120
- * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart to which the item is added
121
- * @returns {Promise<sap.ui.mdc.Chart.Item>} <code>Promise</code> that resolves with new MDC chart item as parameter
122
- *
115
+ * @param {string} sPropertyName the name of the property added
116
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart to add the property to
117
+ * @param {object} mPropertyBag the property bag containing useful information about the change
118
+ * @param {strring} sRole new role for given item (if available)
119
+ * @returns {Promise} Promise that resolves with new MDC chart Item as parameter
123
120
  * @experimental
124
121
  * @private
125
- * @ui5-restricted sap.ui.mdc
122
+ * @ui5-restricted Fiori Elements, sap.ui.mdc
126
123
  */
127
124
  ChartDelegate.addItem = function (sPropertyName, oMDCChart, mPropertyBag, sRole) {
128
125
  };
@@ -130,30 +127,35 @@ sap.ui.define([
130
127
  /**
131
128
  * @typedef {object} SelectionDetails
132
129
  * @property {string} eventId ID of the selection event
133
- * @property {sap.ui.core.Control} reference Reference to inner chart
130
+ * @property {sap.ui.core.Control} Reference Reference to inner chart
134
131
  */
135
132
  /**
136
- ** Returns the event handler for <code>chartSelectionDetails</code> as an object.
137
- *
138
- * @returns {SelectionDetails} Event handler for chartSelectionDetails
133
+ ** Returns the event handler for <code>chartSelectionDetails</code> as an object:
134
+ * {
135
+ * "eventId": ID of the selection event,
136
+ * "listener": Reference to inner chart
137
+ * }
139
138
  *
139
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
140
+ * @returns {object} Event handler for chartSelectionDetails
140
141
  * @experimental
141
142
  * @private
142
- * @ui5-restricted sap.ui.mdc
143
+ * @ui5-restricted Fiori Elements, sap.ui.mdc
143
144
  */
144
- ChartDelegate.getInnerChartSelectionHandler = function () {
145
+ ChartDelegate.getInnerChartSelectionHandler = function (oMDCChart) {
145
146
  };
146
147
 
147
148
  /**
148
149
  * Sets the visibility of the legend.
149
- * <b>Note:</b> This function is called by the MDC chart only. You must not call it directly but use {@link sap.ui.mdc.Chart#setLegendVisible LegendVisible} instead.
150
- * @param {boolean} bVisible <code>true</code> to show legend, <code>false</code> to hide
150
+ * <b>Note:</b> This function is called by the MDC chart only. You must not call it directly but use {@link sap.ui.mdc.Chart#setLegendVisible LegendVisible} instead.
151
+ * @param {sap.ui.mdc.Chart} oMDCChart Chart to the set the legend visibility on
152
+ * @param {boolean} bVisible true to show legend, false to hide
151
153
  *
152
154
  * @experimental
153
155
  * @private
154
- * @ui5-restricted sap.ui.mdc
156
+ * @ui5-restricted Fiori Elements, sap.ui.mdc
155
157
  */
156
- ChartDelegate.setLegendVisible = function (bVisible) {
158
+ ChartDelegate.setLegendVisible = function (oMDCChart, bVisible) {
157
159
  };
158
160
 
159
161
  /**
@@ -172,40 +174,40 @@ sap.ui.define([
172
174
  };
173
175
 
174
176
  /**
175
- * Inserts an MDC chart item (for <code>sap.chart.Chart</code>, this would be a measure/dimension) into the inner chart.
176
- * This function is called by the MDC chart after a change of the <code>Items</code> aggregation.
177
+ * Inserts an MDC chart Item (in case of sap.chart.Chart a Measure/Dimension) on the inner chart.
178
+ * This function is called by MDC chart on a change of the <code>Items</code> aggregation.
177
179
  * <b>Note:</b> Do not call this yourself, as it would not be synced with the MDC chart, but instead insert the Item into the MDC chart.
178
- * @param {sap.ui.mdc.chart.Item} oMDCChartItem MDC chart item that is inserted into the inner chart
179
- * @param {int} iIndex The index into which items are inserted
180
- *
180
+ * @param {sap.ui.mdc.Chart} oMDCChart MDC chart to insert the item into
181
+ * @param {sap.ui.mdc.chart.Item} oMDCChartItem MDC chart Item to insert into the inner chart
182
+ * @param {int} iIndex the index to insert into
181
183
  * @experimental
182
184
  * @private
183
- * @ui5-restricted sap.ui.mdc
185
+ * @ui5-restricted Fiori Elements, sap.ui.mdc
184
186
  */
185
- ChartDelegate.insertItemToInnerChart = function (oMDCChartItem, iIndex) {
187
+ ChartDelegate.insertItemToInnerChart = function (oMDCChart, oMDCChartItem, iIndex) {
186
188
  };
187
189
 
188
190
  /**
189
- * Removes an item (for <code>sap.chart.Chart</code>, this would be a measure/dimension) from the inner chart.
190
- * This function is called by the MDC chart after a change of the <code>Items</code> aggregation.
191
+ * Removes an Item (in case of sap.chart.Chart a Measure/Dimension) from the inner chart.
192
+ * This function is called by MDC chart on a change of the <code>Items</code> aggregation.
191
193
  * <b>Note:</b> Do not call this yourself, as it would not be synced with the MDC chart, but instead remove the item from the MDC chart.
192
- * @param {sap.ui.mdc.chart.Item} oMDCChartItem The item to be removed from the inner chart
193
- *
194
+ * @param {sap.ui.mdc.Chart} oMDCChart MDC chart to remove the item from
195
+ * @param {sap.ui.mdc.chart.Item} oMDCChartItem Item to remove from the inner chart
194
196
  * @experimental
195
197
  * @private
196
- * @ui5-restricted sap.ui.mdc
198
+ * @ui5-restricted Fiori Elements, sap.ui.mdc
197
199
  */
198
- ChartDelegate.removeItemFromInnerChart = function (oMDCChartItem) {
200
+ ChartDelegate.removeItemFromInnerChart = function (oMDCChart, oMDCChartItem) {
199
201
  };
200
202
 
201
203
 
202
204
 
203
205
  /**
204
206
  * Removes an existing MDC chart item for a given property name and updates the inner chart.
205
- * Called and used by p13n
207
+ * Called and used by p13n.
206
208
  * @param {string} oProperty Name of the property removed
207
209
  * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart from which property is removed
208
- * @returns {Promise<boolean>} Promise containing information whether the item was deleted
210
+ * @returns {Promise<boolean>} <code>Promise</code> containing information whether the item was deleted
209
211
  *
210
212
  * @experimental
211
213
  * @private
@@ -260,7 +262,7 @@ sap.ui.define([
260
262
  /**
261
263
  * Returns the current chart type.
262
264
  * @returns {ChartTypeObject} Information about the current chart type
263
- * @throws exception if inner chart is not initialized yet
265
+ * @throws Exception if inner chart is not initialized yet
264
266
  *
265
267
  * @experimental
266
268
  * @private
@@ -271,14 +273,14 @@ sap.ui.define([
271
273
 
272
274
  /**
273
275
  * This function is used by P13n to determine which chart type supports which layout options.
274
- * There might be chart tyoes which do not support certain layout options (i.e. "Axis3").
275
- * Layout config is defined as followed:
276
+ * There might be chart tyoes that do not support certain layout options (for example, "Axis3").
277
+ * Layout configuration is defined as followed:
276
278
  * {
277
- * key: string //identifier for the chart type
279
+ * key: string, //identifier for the chart type
278
280
  * allowedLayoutOptions : [] //array containing allowed layout options as string
279
281
  * }
280
282
  *
281
- * @returns {array}
283
+ * @returns {array} chart type layout config
282
284
  */
283
285
  ChartDelegate.getChartTypeLayoutConfig = function() {
284
286
 
@@ -286,32 +288,33 @@ sap.ui.define([
286
288
 
287
289
  /**
288
290
  * Gets the available chart types for the current state of the inner chart.
289
- *
291
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
290
292
  * @returns {Array<ChartTypeObject>} Array containing the available chart types
291
293
  *
292
294
  * @experimental
293
295
  * @private
294
296
  * @ui5-restricted Fiori Elements
295
297
  */
296
- ChartDelegate.getAvailableChartTypes = function () {
298
+ ChartDelegate.getAvailableChartTypes = function (oMDCChart) {
297
299
  };
298
300
 
299
301
  /**
300
302
  * Returns the current drilling stack of the inner chart.
301
303
  * The returned objects need at least a <code>label</code> and a <code>name</code> property.
302
304
  * Also, a <code>dimension</code> array containing the dimension drill stack at the current level is required.
305
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
303
306
  * @returns {array} Array containing the drill stack
304
307
  *
305
308
  * @experimental
306
309
  * @private
307
310
  * @ui5-restricted sap.ui.mdc
308
311
  */
309
- ChartDelegate.getDrillStack = function () {
312
+ ChartDelegate.getDrillStack = function (oMDCChart) {
310
313
  };
311
314
 
312
315
  /**
313
316
  * Returns all sorted dimensions of an inner chart as property.
314
- * This is used to determine possible drilldown dimensions in the drill down popover of the MDC chart.
317
+ * This is used to determine possible drill-down dimensions in the drill-down popover of the MDC chart.
315
318
  * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
316
319
  * @returns {Promise<Array<sap.ui.mdc.chart.Item>>} <code>Promise</code> containing an array of dimensions that is sorted
317
320
  *
@@ -340,7 +343,7 @@ sap.ui.define([
340
343
  * Sets the chart type of the inner chart.
341
344
  * This function is called by the MDC chart when the <code>chartType</code> property is updated.
342
345
  * <b>Note:</b> This function is called by the MDC chart only. You must not call it directly but use {@link sap.ui.mdc.Chart#setChartType setChartType} instead.
343
- * @param {string} sChartType The new chart type
346
+ * @param {string} sChartType New chart type
344
347
  *
345
348
  * @experimental
346
349
  * @private
@@ -365,8 +368,8 @@ sap.ui.define([
365
368
  * Checks the binding of the chart and rebinds it if required.
366
369
  *
367
370
  * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
368
- * @param {object} oBindingInfo The bindingInfo of the chart
369
- * @deprecated as of 1.98;: use rebind instead
371
+ * @param {object} oBindingInfo BindingInfo of the chart
372
+ * @deprecated as of 1.98;: use rebind instead
370
373
  *
371
374
  * @experimental
372
375
  * @private
@@ -380,7 +383,7 @@ sap.ui.define([
380
383
  * Checks the binding of the chart and rebinds it if required.
381
384
  *
382
385
  * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
383
- * @param {object} oBindingInfo The bindingInfo of the chart
386
+ * @param {object} oBindingInfo BindingInfo of the chart
384
387
  *
385
388
  * @experimental
386
389
  * @private
@@ -391,20 +394,21 @@ sap.ui.define([
391
394
 
392
395
  /**
393
396
  * Returns the information whether the inner chart is currently bound.
397
+ * @param {sap.ui.mdc.Chart} oMDCChart to the MDC chart
394
398
  * @returns {boolean} <code>true</code> if inner chart is bound; <code>false</code> if not
395
399
  *
396
400
  * @experimental
397
401
  * @private
398
402
  * @ui5-restricted sap.ui.mdc
399
403
  */
400
- ChartDelegate.getInnerChartBound = function () {
404
+ ChartDelegate.getInnerChartBound = function (oMDCChart) {
401
405
  };
402
406
 
403
407
  /**
404
408
  * Updates the binding info with the relevant filters.
405
409
  *
406
- * @param {Object} oMDCChart The MDC chart instance
407
- * @param {Object} oBindingInfo The binding info of the chart
410
+ * @param {Object} oMDCChart MDC chart instance
411
+ * @param {Object} oBindingInfo Binding info of the chart
408
412
  *
409
413
  * @experimental
410
414
  * @private
@@ -416,35 +420,36 @@ sap.ui.define([
416
420
  /**
417
421
  * Sets tooltips to visible/invisible for the inner chart.
418
422
  * <b>Note:</b> This function is called by the MDC chart only. You must not call it directly but use {@link sap.ui.mdc.Chart#setShowChartTooltip setShowChartTooltip} instead.
423
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
419
424
  * @param {boolean} bFlag <code>true</code> for visible, <code>false</code> for invisible
420
425
  *
421
426
  * @experimental
422
427
  * @private
423
428
  * @ui5-restricted sap.ui.mdc
424
429
  */
425
- ChartDelegate.setChartTooltipVisibility = function (bFlag) {
430
+ ChartDelegate.setChartTooltipVisibility = function (oMDCChart, bFlag) {
426
431
  };
427
432
 
428
433
  /**
429
- * This function returns an id which should be used in the internal chart for the measure/dimension
430
- * In the standard case, this is just the id of the property.
434
+ * This function returns an ID which should be used in the internal chart for the measure/dimension.
435
+ * For standard cases, this is just the id of the property.
431
436
  * If it is necessary to use another id internally inside the chart (e.g. on duplicate property ids) this method can be overwritten.
432
- * In this case, <code>getPropertyFromNameAndKind</code> needs to be overwritten aswell.
437
+ * In this case, <code>getPropertyFromNameAndKind</code> needs to be overwritten as well.
433
438
  * @param {string} sName ID of the property
434
- * @param {string} sKind Kind of the Property (Measure/Dimension)
435
- * @param {sap.ui.mdc.Chart} oMDCChart reference to the MDC Chart
436
- * @returns {string} internal id for the sap.chart.Chart
439
+ * @param {string} sKind Type of the Property (Measure/Dimension)
440
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
441
+ * @returns {string} Internal id for the sap.chart.Chart
437
442
  */
438
443
  ChartDelegate.getInternalChartNameFromPropertyNameAndKind = function(sName, sKind, oMDCChart) {
439
444
 
440
445
  };
441
446
 
442
447
  /**
443
- * This maps an id of an internal chart dimension/measure & kind of a property to its coresponding property entry.
444
- * @param {string} sName the id of internal chart measure/dimension
445
- * @param {string} sKind the kind of the property
446
- * @param {sap.ui.mdc.Chart} oMDCChart reference to the MDC Chart
447
- * @returns {object} the property object
448
+ * This maps an id of an internal chart dimension/measure & type of a property to its corresponding property entry.
449
+ * @param {string} sName ID of internal chart measure/dimension
450
+ * @param {string} sKind Kind of the property
451
+ * @param {sap.ui.mdc.Chart} oMDCChart Reference to the MDC chart
452
+ * @returns {object} PropertyInfo object
448
453
  */
449
454
  ChartDelegate.getPropertyFromNameAndKind = function(sName, sKind, oMDCChart) {
450
455
 
@@ -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.102.1
23
+ * @version 1.103.1
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.102.1
23
+ * @version 1.103.1
24
24
  * @alias sap.ui.mdc.Element
25
25
  *
26
26
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as awaitControlDelegate
@@ -46,12 +46,12 @@ sap.ui.define([
46
46
  * @implements sap.ui.core.IFormContent
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.102.1
49
+ * @version 1.103.1
50
50
  *
51
51
  * @constructor
52
52
  * @alias sap.ui.mdc.Field
53
53
  * @author SAP SE
54
- * @version 1.102.1
54
+ * @version 1.103.1
55
55
  * @since 1.54.0
56
56
  * @experimental As of version 1.54
57
57
  *
@@ -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.102.1
24
+ * @version 1.103.1
25
25
  * @constructor
26
26
  * @experimental As of version 1.61
27
27
  * @private
@@ -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.102.1
36
+ * @version 1.103.1
37
37
  *
38
38
  * @constructor
39
39
  * @alias sap.ui.mdc.FilterField
40
40
  * @author SAP SE
41
- * @version 1.102.1
41
+ * @version 1.103.1
42
42
  * @since 1.48.0
43
43
  *
44
44
  * @experimental As of version 1.48
@@ -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.102.1
48
+ * @version 1.103.1
49
49
  *
50
50
  * @constructor
51
51
  * @alias sap.ui.mdc.Link
@@ -231,6 +231,7 @@ sap.ui.define([
231
231
  text: oMLinkItem.text,
232
232
  description: oMLinkItem.description,
233
233
  href: oMLinkItem.href,
234
+ internalHref: oMLinkItem.internalHref,
234
235
  target: oMLinkItem.target,
235
236
  icon: oMLinkItem.icon,
236
237
  visible: true
@@ -294,6 +295,7 @@ sap.ui.define([
294
295
  text: oLinkItem.getText(),
295
296
  description: oLinkItem.getDescription(),
296
297
  href: oLinkItem.getHref(),
298
+ internalHref: oLinkItem.getInternalHref(),
297
299
  target: oLinkItem.getTarget(),
298
300
  icon: oLinkItem.getIcon(),
299
301
  initiallyVisible: oLinkItem.getInitiallyVisible(),
@@ -372,6 +374,7 @@ sap.ui.define([
372
374
  text: oMLinkItem.text,
373
375
  description: oMLinkItem.description,
374
376
  href: oMLinkItem.href,
377
+ internalHref: oMLinkItem.internalHref,
375
378
  target: oMLinkItem.target,
376
379
  visible: oMLinkItem.visible
377
380
  };
@@ -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.102.1
38
+ * @version 1.103.1
39
39
  * @since 1.93.0
40
40
  *
41
41
  * @private
@@ -1078,13 +1078,13 @@ sap.ui.define([
1078
1078
  function updateFilterInfoBar(oTable) {
1079
1079
  var oFilterInfoBar = getFilterInfoBar(oTable);
1080
1080
  var oFilterInfoBarText = getFilterInfoBarText(oTable);
1081
- var aFilteredProperties = getFilteredProperties(oTable);
1081
+ var aFilteredProperties = getInternallyFilteredProperties(oTable);
1082
1082
 
1083
1083
  if (!oFilterInfoBar) {
1084
1084
  return;
1085
1085
  }
1086
1086
 
1087
- if (aFilteredProperties.length === 0 || !oTable.isFilteringEnabled()) {
1087
+ if (aFilteredProperties.length === 0) {
1088
1088
  var oFilterInfoBarDomRef = oFilterInfoBar.getDomRef();
1089
1089
 
1090
1090
  if (oFilterInfoBarDomRef && oFilterInfoBarDomRef.contains(document.activeElement)) {
@@ -1271,13 +1271,13 @@ sap.ui.define([
1271
1271
  return oRb.getText("table.NO_DATA");
1272
1272
  }
1273
1273
 
1274
- // Table is bound, but does not show any data
1275
- // If table-internal or external (for example FilterBar) filters are set, then show the message that the data not found and also ask to adjust the filters.
1276
- var oExternalFilter = Core.byId(this.getFilter());
1277
- if ((this.isFilteringEnabled() && getFilteredProperties(this).length > 0) || //internal filters check
1278
- (oExternalFilter && getFilteredProperties(oExternalFilter).length > 0)) { //external filters check
1274
+ // Table is bound, but does not show any data.
1275
+ // If the table is filtered internally or externally, e.g. FilterBar, then show the message that no data was found and that filters can be
1276
+ // adjusted.
1277
+ if (isFiltered(this)) {
1279
1278
  return oRb.getText("table.NO_RESULTS");
1280
1279
  }
1280
+
1281
1281
  // If no filters set, show only message that the data are not found, and nothing about the filters.
1282
1282
  return oRb.getText("table.NO_DATA");
1283
1283
  };
@@ -1521,12 +1521,44 @@ sap.ui.define([
1521
1521
  return this.getEngine().readXConfig(this);
1522
1522
  };
1523
1523
 
1524
- // oControl can be a Table or FilterBar - any Control that is able to have Filter
1525
- function getFilteredProperties(oControl) {
1526
- var mFilterConditions = oControl.getFilterConditions();
1524
+ /**
1525
+ * Gets the keys of properties that are filtered internally via the inbuilt filtering ({@link sap.ui.mdc.filterbar.p13n.AdaptationFilterBar}).
1526
+ *
1527
+ * @param {sap.ui.mdc.Table} oTable Instance of the table.
1528
+ * @returns {string[]} The keys of the filtered properties.
1529
+ */
1530
+ function getInternallyFilteredProperties(oTable) {
1531
+ return oTable.isFilteringEnabled() ? getFilteredProperties(oTable.getFilterConditions()) : [];
1532
+ }
1533
+
1534
+ /**
1535
+ * Gets the keys of properties that are filtered externally via the associated filter ({@link sap.ui.mdc.IFilter}).
1536
+ *
1537
+ * @param {sap.ui.mdc.Table} oTable Instance of the table.
1538
+ * @returns {string[]} The keys of the filtered properties.
1539
+ */
1540
+ function getExternallyFilteredProperties(oTable) {
1541
+ var oFilter = Core.byId(oTable.getFilter());
1542
+ return oFilter ? getFilteredProperties(oFilter.getConditions()) : [];
1543
+ }
1544
+
1545
+ /**
1546
+ * Whether the table is filtered internally via the inbuilt filtering ({@link sap.ui.mdc.filterbar.p13n.AdaptationFilterBar}), or externally via
1547
+ * the associated filter ({@link sap.ui.mdc.IFilter}).
1548
+ *
1549
+ * @param {sap.ui.mdc.Table} oTable Instance of the table.
1550
+ * @return {boolean} Whether the table is filtered (internally or externally).
1551
+ */
1552
+ function isFiltered(oTable) {
1553
+ var oFilter = Core.byId(oTable.getFilter());
1554
+ return getInternallyFilteredProperties(oTable).length > 0
1555
+ || getExternallyFilteredProperties(oTable).length > 0
1556
+ || oFilter && oFilter.getSearch() !== "";
1557
+ }
1527
1558
 
1528
- return Object.keys(mFilterConditions).filter(function(sProperty) {
1529
- return mFilterConditions[sProperty].length > 0;
1559
+ function getFilteredProperties(mConditions) {
1560
+ return Object.keys(mConditions || {}).filter(function(sProperty) {
1561
+ return mConditions[sProperty].length > 0;
1530
1562
  });
1531
1563
  }
1532
1564
 
@@ -2209,6 +2241,10 @@ sap.ui.define([
2209
2241
  if (iIndex >= 0) {
2210
2242
  this._oTemplate.insertCell(oCellTemplate, iIndex);
2211
2243
  this._oTable.getItems().forEach(function(oItem) {
2244
+ // ignore group headers since it does not have "cells" aggregation
2245
+ if (oItem.isA("sap.m.GroupHeaderListItem")) {
2246
+ return;
2247
+ }
2212
2248
  // Add lightweight placeholders that can be rendered - if they cannot be rendered, there will be errors in the console.
2213
2249
  // The actual cells are created after rebind.
2214
2250
  oItem.insertAggregation("cells", new InvisibleText(), iIndex, true);