@openui5/sap.ui.mdc 1.98.0 → 1.99.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 (191) 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 +6 -3
  4. package/src/sap/ui/mdc/AggregationBaseDelegate.js +1 -1
  5. package/src/sap/ui/mdc/Chart.js +112 -28
  6. package/src/sap/ui/mdc/ChartDelegate.js +9 -9
  7. package/src/sap/ui/mdc/ChartRenderer.js +1 -1
  8. package/src/sap/ui/mdc/Control.js +1 -1
  9. package/src/sap/ui/mdc/Element.js +1 -1
  10. package/src/sap/ui/mdc/Field.js +2 -2
  11. package/src/sap/ui/mdc/FilterBar.js +1 -1
  12. package/src/sap/ui/mdc/FilterField.js +2 -2
  13. package/src/sap/ui/mdc/Link.js +20 -2
  14. package/src/sap/ui/mdc/LinkDelegate.js +2 -2
  15. package/src/sap/ui/mdc/MultiValueField.js +20 -6
  16. package/src/sap/ui/mdc/Table.js +35 -24
  17. package/src/sap/ui/mdc/TableDelegate.js +29 -14
  18. package/src/sap/ui/mdc/ValueHelp.js +1 -1
  19. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  20. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
  21. package/src/sap/ui/mdc/chart/ChartToolbar.js +42 -6
  22. package/src/sap/ui/mdc/chart/ChartTypeButton.js +13 -8
  23. package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
  24. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  25. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  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 +256 -43
  29. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  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/designtime/chart/Chart.designtime.js +3 -0
  33. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +60 -20
  34. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  35. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  36. package/src/sap/ui/mdc/field/ConditionType.js +3 -3
  37. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  38. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  39. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  40. package/src/sap/ui/mdc/field/DefineConditionPanel.js +18 -7
  41. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
  42. package/src/sap/ui/mdc/field/FieldBase.js +3 -1
  43. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  44. package/src/sap/ui/mdc/field/FieldInfoBase.js +23 -10
  45. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  46. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  47. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  48. package/src/sap/ui/mdc/field/FieldValueHelp.js +1 -1
  49. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  50. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  51. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +2 -2
  52. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +6 -3
  53. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  54. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  55. package/src/sap/ui/mdc/field/ListFieldHelp.js +1 -1
  56. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  57. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  58. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  59. package/src/sap/ui/mdc/field/TokenDisplay.js +70 -0
  60. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +24 -0
  61. package/src/sap/ui/mdc/field/TokenizerDisplay.js +80 -0
  62. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +69 -0
  63. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  64. package/src/sap/ui/mdc/field/content/ContentFactory.js +5 -5
  65. package/src/sap/ui/mdc/field/content/DefaultContent.js +35 -13
  66. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  67. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +36 -4
  68. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  69. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  70. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
  71. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  72. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +6 -4
  73. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  74. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  75. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +5 -5
  76. package/src/sap/ui/mdc/library.js +15 -7
  77. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  78. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  79. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  80. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  81. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  82. package/src/sap/ui/mdc/link/Factory.js +1 -1
  83. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  84. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  85. package/src/sap/ui/mdc/link/Log.js +1 -1
  86. package/src/sap/ui/mdc/link/Panel.js +9 -8
  87. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  88. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  89. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  90. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  91. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  92. package/src/sap/ui/mdc/messagebundle.properties +49 -1
  93. package/src/sap/ui/mdc/messagebundle_ar.properties +34 -2
  94. package/src/sap/ui/mdc/messagebundle_bg.properties +52 -20
  95. package/src/sap/ui/mdc/messagebundle_ca.properties +34 -2
  96. package/src/sap/ui/mdc/messagebundle_cs.properties +34 -2
  97. package/src/sap/ui/mdc/messagebundle_cy.properties +34 -2
  98. package/src/sap/ui/mdc/messagebundle_da.properties +34 -2
  99. package/src/sap/ui/mdc/messagebundle_de.properties +34 -2
  100. package/src/sap/ui/mdc/messagebundle_el.properties +34 -2
  101. package/src/sap/ui/mdc/messagebundle_en.properties +34 -2
  102. package/src/sap/ui/mdc/messagebundle_en_GB.properties +34 -2
  103. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +34 -2
  104. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +61 -4
  105. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +34 -2
  106. package/src/sap/ui/mdc/messagebundle_es.properties +34 -2
  107. package/src/sap/ui/mdc/messagebundle_es_MX.properties +35 -3
  108. package/src/sap/ui/mdc/messagebundle_et.properties +34 -2
  109. package/src/sap/ui/mdc/messagebundle_fi.properties +34 -2
  110. package/src/sap/ui/mdc/messagebundle_fr.properties +35 -3
  111. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +34 -2
  112. package/src/sap/ui/mdc/messagebundle_hi.properties +34 -2
  113. package/src/sap/ui/mdc/messagebundle_hr.properties +34 -2
  114. package/src/sap/ui/mdc/messagebundle_hu.properties +34 -2
  115. package/src/sap/ui/mdc/messagebundle_id.properties +34 -2
  116. package/src/sap/ui/mdc/messagebundle_it.properties +35 -3
  117. package/src/sap/ui/mdc/messagebundle_iw.properties +34 -2
  118. package/src/sap/ui/mdc/messagebundle_ja.properties +34 -2
  119. package/src/sap/ui/mdc/messagebundle_kk.properties +34 -2
  120. package/src/sap/ui/mdc/messagebundle_ko.properties +34 -2
  121. package/src/sap/ui/mdc/messagebundle_lt.properties +34 -2
  122. package/src/sap/ui/mdc/messagebundle_lv.properties +38 -6
  123. package/src/sap/ui/mdc/messagebundle_ms.properties +34 -2
  124. package/src/sap/ui/mdc/messagebundle_nl.properties +34 -2
  125. package/src/sap/ui/mdc/messagebundle_no.properties +34 -2
  126. package/src/sap/ui/mdc/messagebundle_pl.properties +34 -2
  127. package/src/sap/ui/mdc/messagebundle_pt.properties +34 -2
  128. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +34 -2
  129. package/src/sap/ui/mdc/messagebundle_ro.properties +34 -2
  130. package/src/sap/ui/mdc/messagebundle_ru.properties +34 -2
  131. package/src/sap/ui/mdc/messagebundle_sh.properties +34 -2
  132. package/src/sap/ui/mdc/messagebundle_sk.properties +34 -2
  133. package/src/sap/ui/mdc/messagebundle_sl.properties +34 -2
  134. package/src/sap/ui/mdc/messagebundle_sv.properties +34 -2
  135. package/src/sap/ui/mdc/messagebundle_th.properties +37 -5
  136. package/src/sap/ui/mdc/messagebundle_tr.properties +34 -2
  137. package/src/sap/ui/mdc/messagebundle_uk.properties +37 -5
  138. package/src/sap/ui/mdc/messagebundle_vi.properties +34 -2
  139. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +34 -2
  140. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +34 -2
  141. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +18 -3
  142. package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
  143. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
  144. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  145. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +1 -1
  146. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +3 -3
  147. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +81 -70
  148. package/src/sap/ui/mdc/p13n/Engine.js +8 -4
  149. package/src/sap/ui/mdc/p13n/P13nBuilder.js +6 -6
  150. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  151. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  152. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
  153. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -1
  154. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
  155. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +8 -2
  156. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  157. package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
  158. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  159. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  160. package/src/sap/ui/mdc/themes/base/TokenDisplay.less +89 -0
  161. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +90 -0
  162. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +3 -3
  163. package/src/sap/ui/mdc/themes/base/library.source.less +2 -0
  164. package/src/sap/ui/mdc/ui/Container.js +2 -2
  165. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  166. package/src/sap/ui/mdc/util/FormatUtil.js +2 -2
  167. package/src/sap/ui/mdc/util/IdentifierUtil.js +5 -5
  168. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  169. package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
  170. package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
  171. package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
  172. package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
  173. package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
  174. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
  175. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +1 -1
  176. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
  177. package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
  178. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
  179. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
  180. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +8 -3
  181. package/src/sap/ui/mdc/valuehelp/content/MTable.js +1 -1
  182. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +2 -1
  183. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +2 -2
  184. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +2 -2
  185. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +9 -9
  186. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +8 -8
  187. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +19 -19
  188. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +54 -0
  189. package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +5 -0
  190. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +40 -0
  191. package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +28 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.mdc",
3
- "version": "1.98.0",
3
+ "version": "1.99.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.98.0",
18
- "@openui5/sap.ui.core": "1.98.0",
19
- "@openui5/sap.ui.layout": "1.98.0"
17
+ "@openui5/sap.m": "1.99.0",
18
+ "@openui5/sap.ui.core": "1.99.0",
19
+ "@openui5/sap.ui.layout": "1.99.0"
20
20
  }
21
21
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.98.0</version>
9
+ <version>1.99.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.ui.mdc</documentation>
12
12
 
@@ -7,15 +7,18 @@
7
7
  sap.ui.define([
8
8
  "sap/m/OverflowToolbar",
9
9
  "sap/m/OverflowToolbarRenderer",
10
- "sap/m/OverflowToolbarPriority",
11
10
  "sap/m/ToolbarSpacer",
12
11
  "sap/m/ToolbarSeparator",
12
+ "sap/m/library",
13
13
  "sap/ui/mdc/enum/ActionToolbarActionAlignment",
14
14
  "sap/ui/mdc/p13n/subcontroller/ActionToolbarController",
15
15
  "sap/ui/mdc/p13n/Engine"
16
- ], function(OverflowToolbar, OverflowToolbarRenderer, OverflowToolbarPriority, ToolbarSpacer, ToolbarSeparator, ActionToolbarActionAlignment, ActionToolbarController, Engine) {
16
+ ], function(OverflowToolbar, OverflowToolbarRenderer, ToolbarSpacer, ToolbarSeparator, mobileLibrary, ActionToolbarActionAlignment, ActionToolbarController, Engine) {
17
17
  "use strict";
18
18
 
19
+ // shortcut for sap.m.OverflowToolbarPriority
20
+ var OverflowToolbarPriority = mobileLibrary.OverflowToolbarPriority;
21
+
19
22
  /**
20
23
  * Constructor for a new ActionToolbar.<br>
21
24
  * <b>Note:</b><br>
@@ -28,7 +31,7 @@ sap.ui.define([
28
31
  * @class The column for the metadata driven table, that hold the template to be shown when the rows has data.
29
32
  * @extends sap.m.OverflowToolbar
30
33
  * @author SAP SE
31
- * @version 1.98.0
34
+ * @version 1.99.0
32
35
  * @constructor
33
36
  * @private
34
37
  * @since 1.58
@@ -43,7 +43,7 @@ sap.ui.define(['sap/ui/mdc/BaseDelegate', 'sap/ui/core/library'], function (Base
43
43
  /**
44
44
  * Creates an instance of the implementing MDC Control's default aggregation.
45
45
  *
46
- * @param {String} sPropertyName The name of the property info object/JSON
46
+ * @param {string} sPropertyName The name of the property info object/JSON
47
47
  * @param {Object<sap.ui.mdc.Control>} oControl Instance of a MDC Control
48
48
  * @param {Object} [mPropertyBag] Instance of property bag from SAPUI5 flexibility change API
49
49
  * <b>Note:</b>
@@ -19,6 +19,7 @@ sap.ui.define([
19
19
  "sap/ui/mdc/mixin/FilterIntegrationMixin",
20
20
  "sap/ui/model/base/ManagedObjectModel",
21
21
  "sap/ui/mdc/p13n/subcontroller/ChartItemController",
22
+ "sap/ui/mdc/p13n/subcontroller/FilterController",
22
23
  "sap/ui/mdc/p13n/subcontroller/SortController",
23
24
  "sap/ui/base/ManagedObjectObserver",
24
25
  "sap/ui/mdc/chart/DrillBreadcrumbs",
@@ -39,6 +40,7 @@ sap.ui.define([
39
40
  FilterIntegrationMixin,
40
41
  ManagedObjectModel,
41
42
  ChartItemController,
43
+ FilterController,
42
44
  SortController,
43
45
  ManagedObjectObserver,
44
46
  Breadcrumbs,
@@ -56,7 +58,7 @@ sap.ui.define([
56
58
  * @class The Chart control creates a chart based on metadata and the configuration specified.
57
59
  * @extends sap.ui.mdc.Control
58
60
  * @author SAP SE
59
- * @version 1.98.0
61
+ * @version 1.99.0
60
62
  * @constructor
61
63
  * @experimental As of version ...
62
64
  * @private
@@ -71,6 +73,7 @@ sap.ui.define([
71
73
  library: "sap.ui.mdc",
72
74
  designtime: "sap/ui/mdc/designtime/chart/Chart.designtime",
73
75
  interfaces: [
76
+ "sap.ui.mdc.IFilterSource",
74
77
  "sap.ui.mdc.IxState"
75
78
  ],
76
79
  defaultAggregation: "items",
@@ -126,7 +129,8 @@ sap.ui.define([
126
129
  * @since 1.88
127
130
  */
128
131
  p13nMode: {
129
- type: "sap.ui.mdc.ChartP13nMode[]"
132
+ type: "sap.ui.mdc.ChartP13nMode[]",
133
+ defaultValue: []
130
134
  },
131
135
 
132
136
  /**
@@ -178,6 +182,16 @@ sap.ui.define([
178
182
  sortConditions: {
179
183
  type: "object"
180
184
  },
185
+ /**
186
+ * Defines the filter conditions.
187
+ *
188
+ * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
189
+ *
190
+ * @since 1.99
191
+ */
192
+ filterConditions: {
193
+ type: "object"
194
+ },
181
195
  /**
182
196
  * Controls the visibility of the chart tooltip. If set to <code>true </code>, an instance of sap.viz.ui5.controls.VizTooltip will
183
197
  * be created and shown when hovering over a data point.
@@ -243,6 +257,13 @@ sap.ui.define([
243
257
  selectionDetailsActions: {
244
258
  type: "sap.ui.mdc.chart.SelectionDetailsActions",
245
259
  multiple: false
260
+ },
261
+ /**
262
+ * <code>VariantManagement<code> control for the chart.
263
+ */
264
+ variant: {
265
+ type: "sap.ui.fl.variants.VariantManagement",
266
+ multiple: false
246
267
  }
247
268
  },
248
269
  associations: {
@@ -340,6 +361,9 @@ sap.ui.define([
340
361
  if (mKeys.Sort) {
341
362
  aSortedKeys.push("Sort");
342
363
  }
364
+ if (mKeys.Filter) {
365
+ aSortedKeys.push("Filter");
366
+ }
343
367
  if (mKeys.Type) {
344
368
  this._typeBtnActive = true;
345
369
  } else {
@@ -363,7 +387,8 @@ sap.ui.define([
363
387
 
364
388
  var mRegistryOptions = {
365
389
  Item: ChartItemController,
366
- Sort: SortController
390
+ Sort: SortController,
391
+ Filter: FilterController
367
392
  };
368
393
 
369
394
  if (aMode && aMode.length > 0) {
@@ -380,6 +405,33 @@ sap.ui.define([
380
405
 
381
406
  };
382
407
 
408
+
409
+ Chart.prototype.isFilteringEnabled = function() {
410
+ return this.getP13nMode().indexOf("Filter") > -1;
411
+ };
412
+
413
+ Chart.prototype.setFilterConditions = function(mConditions) {
414
+ this.setProperty("filterConditions", mConditions, true);
415
+
416
+ var oP13nFilter = this.getInbuiltFilter();
417
+ if (oP13nFilter) {
418
+ oP13nFilter.setFilterConditions(mConditions);
419
+ }
420
+
421
+ return this;
422
+ };
423
+
424
+ Chart.prototype.getConditions = function() {
425
+ //may only return conditions if the inner FilterBar has already been initialized
426
+ return this.getInbuiltFilter() ? this.getInbuiltFilter().getConditions() : [];
427
+ };
428
+
429
+ Chart.prototype._registerInnerFilter = function(oFilter) {
430
+ oFilter.attachSearch(function() {
431
+ this._rebind();
432
+ }, this);
433
+ };
434
+
383
435
  /**
384
436
  * Applies given settings onto the MDC Chart, loads the delegate and initializes the MDC Chart
385
437
  *
@@ -403,18 +455,25 @@ sap.ui.define([
403
455
  }.bind(this));
404
456
 
405
457
  //load required modules before init of inner controls
406
- this._loadDelegate().then(function (oDelegate) {
407
- this.initControlDelegate(oDelegate).then(function () {
408
- this._initInnerControls();
409
-
410
-
411
- }.bind(this)).catch(function (error) {
412
- this._fnRejectInitialized(error);
413
- }.bind(this));
458
+ var pLoadDelegate = this._loadDelegate().then(function(oDelegate){
459
+ return oDelegate;
460
+ }).then(function(oDelegate){
461
+ return this.initControlDelegate(oDelegate);
414
462
  }.bind(this)).catch(function (error) {
415
463
  this._fnRejectInitialized(error);
416
464
  }.bind(this));
417
465
 
466
+ var aInitPromises = [
467
+ pLoadDelegate
468
+ ];
469
+
470
+ if (this.isFilteringEnabled()) {
471
+ aInitPromises.push(this.retrieveInbuiltFilter());
472
+ }
473
+
474
+ Promise.all(aInitPromises).then(function(){
475
+ this._initInnerControls();
476
+ }.bind(this));
418
477
 
419
478
  };
420
479
 
@@ -530,7 +589,7 @@ sap.ui.define([
530
589
  * @ui5-restricted Fiori Elements
531
590
  */
532
591
  Chart.prototype.isFilteringEnabled = function () {
533
-
592
+ return this.getP13nMode().indexOf("Filter") > -1;
534
593
  };
535
594
 
536
595
  /**
@@ -824,24 +883,33 @@ sap.ui.define([
824
883
  * @ui5-restricted sap.ui.mdc
825
884
  */
826
885
  Chart.prototype._showDrillDown = function (oDrillBtn) {
827
- if (DrillStackHandler) {
828
-
829
- DrillStackHandler.createDrillDownPopover(this);
830
- return DrillStackHandler.showDrillDownPopover(this, oDrillBtn);
831
- }
886
+ if (!this.oDrillPopover) {
887
+ if (DrillStackHandler) {
888
+ this.oDrillPopover = DrillStackHandler.createDrillDownPopover(this);
889
+ this.oDrillPopover.attachAfterClose(function(){
890
+ delete this.oDrillPopover;
891
+ }.bind(this));
892
+
893
+ return DrillStackHandler.showDrillDownPopover(this, oDrillBtn);
894
+ }
832
895
 
833
- return new Promise(function (resolve, reject) {
834
- sap.ui.require([
835
- "sap/ui/mdc/chart/DrillStackHandler"
836
- ], function (DrillStackHandlerLoaded) {
837
- DrillStackHandler = DrillStackHandlerLoaded;
838
- DrillStackHandler.createDrillDownPopover(this);
839
- DrillStackHandler.showDrillDownPopover(this, oDrillBtn)
840
- .then(function (oDrillDownPopover) {
841
- resolve(oDrillDownPopover);
842
- });
896
+ return new Promise(function (resolve, reject) {
897
+ sap.ui.require([
898
+ "sap/ui/mdc/chart/DrillStackHandler"
899
+ ], function (DrillStackHandlerLoaded) {
900
+ DrillStackHandler = DrillStackHandlerLoaded;
901
+ this.oDrillPopover = DrillStackHandler.createDrillDownPopover(this);
902
+ this.oDrillPopover.attachAfterClose(function(){
903
+ delete this.oDrillPopover;
904
+ }.bind(this));
905
+
906
+ DrillStackHandler.showDrillDownPopover(this, oDrillBtn)
907
+ .then(function (oDrillDownPopover) {
908
+ resolve(oDrillDownPopover);
909
+ });
910
+ }.bind(this));
843
911
  }.bind(this));
844
- }.bind(this));
912
+ }
845
913
  };
846
914
 
847
915
  /**
@@ -967,6 +1035,10 @@ sap.ui.define([
967
1035
  if (aP13nMode.indexOf("Sort") > -1) {
968
1036
  oState.sorters = this._getSortedProperties();
969
1037
  }
1038
+
1039
+ if (aP13nMode.indexOf("Filter") > -1) {
1040
+ oState.filter = this.getFilterConditions();
1041
+ }
970
1042
  }
971
1043
 
972
1044
  return oState;
@@ -1079,6 +1151,18 @@ sap.ui.define([
1079
1151
  }
1080
1152
  };
1081
1153
 
1154
+ Chart.prototype.setVariant = function(oControl) {
1155
+ this.setAggregation("variant", oControl);
1156
+
1157
+ //Only add VM directly when Toolbar already exists; otherwise VM will be added during init of toolbar
1158
+ if (this.getAggregation("_toolbar")){
1159
+ this.getAggregation("_toolbar").addVariantManagement(oControl);
1160
+ }
1161
+
1162
+
1163
+ return this;
1164
+ };
1165
+
1082
1166
  /**
1083
1167
  * Adds/Removes the overlay shown above the inner chart
1084
1168
  * @param {boolean} bShow true to show overlay, false to hide
@@ -54,8 +54,8 @@ sap.ui.define([
54
54
 
55
55
 
56
56
  /**
57
- * @typedef {Object} ZoomState
58
- * @property {bool} enabled <code>true</code> if zooming is enabled
57
+ * @typedef {object} ZoomState
58
+ * @property {boolean} enabled <code>true</code> if zooming is enabled
59
59
  * @property {number} currentZoomLevel Current zoom level of the chart in percent (between 0 and 1)
60
60
  */
61
61
  /**
@@ -70,9 +70,9 @@ sap.ui.define([
70
70
  };
71
71
 
72
72
  /**
73
- * @typedef {Object} SelectionDetails
73
+ * @typedef {object} SelectionDetails
74
74
  * @property {string} eventId ID of the selection event
75
- * @property {sap.core.Control} reference Reference to inner chart
75
+ * @property {sap.ui.core.Control} reference Reference to inner chart
76
76
  */
77
77
  /**
78
78
  ** Returns the event handler for <code>chartSelectionDetails</code> as an object.
@@ -89,7 +89,7 @@ sap.ui.define([
89
89
  /**
90
90
  * Sets the visibility of the legend.
91
91
  * <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.
92
- * @param {bool} bVisible <code>true</code> to show legend, <code>false</code> to hide
92
+ * @param {boolean} bVisible <code>true</code> to show legend, <code>false</code> to hide
93
93
  *
94
94
  * @experimental
95
95
  * @private
@@ -206,11 +206,11 @@ sap.ui.define([
206
206
  };
207
207
 
208
208
  /**
209
- * @typedef {Object} ChartTypeObject
209
+ * @typedef {object} ChartTypeObject
210
210
  * @property {string} key Unique key of the chart type
211
211
  * @property {string} icon URI for the icon for the current chart type
212
212
  * @property {string} text Name of the current chart type
213
- * @property {bool} selected Whether the chart type is the one currently used
213
+ * @property {boolean} selected Whether the chart type is the one currently used
214
214
  */
215
215
  /**
216
216
  * Returns the current chart type.
@@ -346,7 +346,7 @@ sap.ui.define([
346
346
 
347
347
  /**
348
348
  * Returns the information whether the inner chart is currently bound.
349
- * @returns {bool} <code>true</code> if inner chart is bound; <code>false</code> if not
349
+ * @returns {boolean} <code>true</code> if inner chart is bound; <code>false</code> if not
350
350
  *
351
351
  * @experimental
352
352
  * @private
@@ -371,7 +371,7 @@ sap.ui.define([
371
371
  /**
372
372
  * Sets tooltips to visible/invisible for the inner chart.
373
373
  * <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.
374
- * @param {bool} bFlag <code>true</code> for visible, <code>false</code> for invisible
374
+ * @param {boolean} bFlag <code>true</code> for visible, <code>false</code> for invisible
375
375
  *
376
376
  * @experimental
377
377
  * @private
@@ -28,7 +28,7 @@ sap.ui.define(['./library'],
28
28
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
29
29
  *
30
30
  * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer
31
- * @param {sap.ui.core.Control} oInnerChart An object representation of the control that should be rendered
31
+ * @param {sap.ui.mdc.Chart} oInnerChart An object representation of the control that should be rendered
32
32
  */
33
33
  ChartRenderer.render = function(oRm, oMDCChart) {
34
34
  oRm.openStart("div", oMDCChart);
@@ -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.98.0
23
+ * @version 1.99.0
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.98.0
23
+ * @version 1.99.0
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.98.0
49
+ * @version 1.99.0
50
50
  *
51
51
  * @constructor
52
52
  * @alias sap.ui.mdc.Field
53
53
  * @author SAP SE
54
- * @version 1.98.0
54
+ * @version 1.99.0
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.98.0
24
+ * @version 1.99.0
25
25
  * @constructor
26
26
  * @experimental As of version 1.61
27
27
  * @private
@@ -31,12 +31,12 @@ sap.ui.define([
31
31
  * @extends sap.ui.mdc.field.FieldBase
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.98.0
34
+ * @version 1.99.0
35
35
  *
36
36
  * @constructor
37
37
  * @alias sap.ui.mdc.FilterField
38
38
  * @author SAP SE
39
- * @version 1.98.0
39
+ * @version 1.99.0
40
40
  * @since 1.48.0
41
41
  *
42
42
  * @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.98.0
48
+ * @version 1.99.0
49
49
  *
50
50
  * @constructor
51
51
  * @alias sap.ui.mdc.Link
@@ -261,6 +261,24 @@ sap.ui.define([
261
261
  }.bind(this));
262
262
  };
263
263
 
264
+ Link.prototype.checkDirectNavigation = function() {
265
+ var oLinkItemsPromise = this.retrieveLinkItems();
266
+ var oAdditionalContentPromise = this.retrieveAdditionalContent();
267
+ return Promise.all([oLinkItemsPromise, oAdditionalContentPromise]).then(function(values) {
268
+ var aLinkItems = values[0];
269
+ var aAdditionalContent = values[1];
270
+
271
+ this._setConvertedLinkItems(aLinkItems);
272
+ var aMLinkItems = this._getInternalModel().getProperty("/linkItems");
273
+
274
+ if (aMLinkItems.length === 1 && !aAdditionalContent.length) {
275
+ Panel.navigate(aMLinkItems[0].href);
276
+ return Promise.resolve(true);
277
+ }
278
+ return Promise.resolve(false);
279
+ }.bind(this));
280
+ };
281
+
264
282
  /**
265
283
  * @private
266
284
  * @param {sap.ui.mdc.link.LinkItem[]} aLinkItems The given <code>LinkItem</code> objects
@@ -312,7 +330,7 @@ sap.ui.define([
312
330
  * @private
313
331
  * @param {sap.ui.fl.Utils} Utils Flexibility utility class
314
332
  * @param {sap.ui.fl.apply.api.FlexRuntimeInfoAPI} FlexRuntimeInfoAPI Flexibility runtime info API
315
- * @returns {String} Generated ID of the panel
333
+ * @returns {string} Generated ID of the panel
316
334
  */
317
335
  Link.prototype._createPanelId = function(Utils, FlexRuntimeInfoAPI) {
318
336
  var oField;
@@ -32,8 +32,8 @@ sap.ui.define(['sap/ui/mdc/BaseDelegate'], function(BaseDelegate) {
32
32
  return Promise.resolve(null);
33
33
  },
34
34
  /**
35
- * @typedef {Object} sap.ui.mdc.LinkDelegate.LinkType
36
- * @property {Number} type 0 (Text) | 1 (Direct Link) | 2 (Popup)
35
+ * @typedef {object} sap.ui.mdc.LinkDelegate.LinkType
36
+ * @property {number} type 0 (Text) | 1 (Direct Link) | 2 (Popup)
37
37
  * If <code>oLinkType.type</code> is 0, the link is rendered as a text.
38
38
  * If <code>oLinkType.type</code> is 1, the link is rendered as a link. When pressed the link triggers a direct navigation instead.
39
39
  * If <code>oLinkType.type</code> is 2, the link is rendered as a link and opens a popover (default).
@@ -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.98.0
38
+ * @version 1.99.0
39
39
  * @since 1.93.0
40
40
  *
41
41
  * @private
@@ -325,7 +325,7 @@ sap.ui.define([
325
325
  * use the <code>items</code> aggregation instead.
326
326
  *
327
327
  * @param {object[]} aConditions Conditions to be set
328
- * @returns {sap.ui.mdc.Field} Reference to <code>this</code> to allow method chaining
328
+ * @returns {sap.ui.mdc.MultiValueField} Reference to <code>this</code> to allow method chaining
329
329
  * @private
330
330
  * @ui5-restricted sap.fe
331
331
  * @MDC_PUBLIC_CANDIDATE
@@ -358,7 +358,7 @@ sap.ui.define([
358
358
  * In this case the value of the <code>dataType</code> property is ignored.
359
359
  *
360
360
  * @param {string} sDataType DataType to be set
361
- * @returns {sap.ui.mdc.Field} Reference to <code>this</code> to allow method chaining
361
+ * @returns {sap.ui.mdc.MultiValueField} Reference to <code>this</code> to allow method chaining
362
362
  * @private
363
363
  * @ui5-restricted sap.fe
364
364
  * @MDC_PUBLIC_CANDIDATE
@@ -375,7 +375,7 @@ sap.ui.define([
375
375
  * In this case the values of the <code>dataType</code> property and the <code>dataTypeConstraints</code> property are ignored.
376
376
  *
377
377
  * @param {string} oDataTypeConstraints Constraints to be set
378
- * @returns {sap.ui.mdc.Field} Reference to <code>this</code> to allow method chaining
378
+ * @returns {sap.ui.mdc.MultiValueField} Reference to <code>this</code> to allow method chaining
379
379
  * @private
380
380
  * @ui5-restricted sap.fe
381
381
  * @MDC_PUBLIC_CANDIDATE
@@ -392,7 +392,7 @@ sap.ui.define([
392
392
  * In this case the values of the <code>dataType</code> property and the <code>dataTypeFormatOptions</code> property are ignored.
393
393
  *
394
394
  * @param {string} oDataTypeFormatOptions Format options to be set
395
- * @returns {sap.ui.mdc.Field} Reference to <code>this</code> to allow method chaining
395
+ * @returns {sap.ui.mdc.MultiValueField} Reference to <code>this</code> to allow method chaining
396
396
  * @private
397
397
  * @ui5-restricted sap.fe
398
398
  * @MDC_PUBLIC_CANDIDATE
@@ -402,6 +402,20 @@ sap.ui.define([
402
402
  * @function
403
403
  */
404
404
 
405
- return Field;
405
+ /**
406
+ * Sets a new value for property <code>multipleLines</code>.
407
+ *
408
+ * @param {boolean} [bMultipleLines=false] New value for property <code>multipleLines</code>
409
+ * @returns {sap.ui.mdc.MultiValueField} Reference to <code>this</code> to allow method chaining
410
+ * @private
411
+ * @ui5-restricted sap.fe
412
+ * @MDC_PUBLIC_CANDIDATE
413
+ * @deprecated This property is not supported for multi-value fields.
414
+ * @ui5-not-supported
415
+ * @name sap.ui.mdc.MultiValueField#setMultipleLines
416
+ * @function
417
+ */
418
+
419
+ return Field;
406
420
 
407
421
  });