@openui5/sap.ui.mdc 1.113.0 → 1.115.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 (269) hide show
  1. package/.reuse/dep5 +0 -5
  2. package/README.md +22 -9
  3. package/THIRDPARTY.txt +1 -7
  4. package/package.json +4 -4
  5. package/src/sap/ui/mdc/.library +1 -1
  6. package/src/sap/ui/mdc/ActionToolbar.js +5 -7
  7. package/src/sap/ui/mdc/AggregationBaseDelegate.js +5 -5
  8. package/src/sap/ui/mdc/BaseDelegate.js +49 -14
  9. package/src/sap/ui/mdc/Chart.js +147 -179
  10. package/src/sap/ui/mdc/ChartDelegate.js +404 -514
  11. package/src/sap/ui/mdc/ChartRenderer.js +11 -11
  12. package/src/sap/ui/mdc/Control.js +4 -4
  13. package/src/sap/ui/mdc/DefaultTypeMap.js +84 -0
  14. package/src/sap/ui/mdc/Element.js +4 -4
  15. package/src/sap/ui/mdc/Field.js +98 -96
  16. package/src/sap/ui/mdc/FilterBar.js +33 -56
  17. package/src/sap/ui/mdc/FilterBarDelegate.js +36 -69
  18. package/src/sap/ui/mdc/FilterField.js +93 -47
  19. package/src/sap/ui/mdc/Link.js +83 -82
  20. package/src/sap/ui/mdc/LinkDelegate.js +29 -48
  21. package/src/sap/ui/mdc/MultiValueField.js +34 -30
  22. package/src/sap/ui/mdc/Table.js +182 -193
  23. package/src/sap/ui/mdc/TableDelegate.js +244 -33
  24. package/src/sap/ui/mdc/ValueHelp.js +67 -50
  25. package/src/sap/ui/mdc/ValueHelpDelegate.js +57 -89
  26. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +4 -12
  27. package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +192 -197
  28. package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +10 -20
  29. package/src/sap/ui/mdc/chart/ChartToolbar.js +50 -50
  30. package/src/sap/ui/mdc/chart/ChartTypeButton.js +23 -27
  31. package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +10 -10
  32. package/src/sap/ui/mdc/chart/DrillStackHandler.js +14 -14
  33. package/src/sap/ui/mdc/chart/Item.js +30 -17
  34. package/src/sap/ui/mdc/chart/PropertyHelper.js +10 -10
  35. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +23 -15
  36. package/src/sap/ui/mdc/condition/Condition.js +11 -23
  37. package/src/sap/ui/mdc/condition/ConditionConverter.js +8 -8
  38. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  39. package/src/sap/ui/mdc/condition/FilterConverter.js +2 -2
  40. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +771 -123
  41. package/src/sap/ui/mdc/condition/Operator.js +52 -50
  42. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +14 -14
  43. package/src/sap/ui/mdc/condition/RangeOperator.js +3 -5
  44. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +2 -2
  45. package/src/sap/ui/mdc/enum/ActionToolbarActionAlignment.js +5 -9
  46. package/src/sap/ui/mdc/enum/BaseType.js +15 -20
  47. package/src/sap/ui/mdc/enum/ConditionValidated.js +5 -9
  48. package/src/sap/ui/mdc/enum/ContentMode.js +1 -0
  49. package/src/sap/ui/mdc/enum/EditMode.js +7 -19
  50. package/src/sap/ui/mdc/enum/FieldDisplay.js +12 -18
  51. package/src/sap/ui/mdc/enum/FilterBarValidationStatus.js +3 -1
  52. package/src/sap/ui/mdc/enum/LinkType.js +40 -0
  53. package/src/sap/ui/mdc/enum/OperatorOverwrite.js +4 -2
  54. package/src/sap/ui/mdc/enum/OperatorValueType.js +47 -0
  55. package/src/sap/ui/mdc/enum/PersistenceMode.js +36 -36
  56. package/src/sap/ui/mdc/enum/ProcessingStrategy.js +3 -1
  57. package/src/sap/ui/mdc/enum/PropagationReason.js +1 -1
  58. package/src/sap/ui/mdc/enum/ReasonMode.js +1 -0
  59. package/src/sap/ui/mdc/enum/SelectType.js +1 -0
  60. package/src/sap/ui/mdc/enums/ActionToolbarActionAlignment.js +31 -0
  61. package/src/sap/ui/mdc/enums/BaseType.js +72 -0
  62. package/src/sap/ui/mdc/enums/ChartItemRoleType.js +61 -0
  63. package/src/sap/ui/mdc/enums/ChartItemType.js +31 -0
  64. package/src/sap/ui/mdc/enums/ChartP13nMode.js +48 -0
  65. package/src/sap/ui/mdc/enums/ChartToolbarActionType.js +49 -0
  66. package/src/sap/ui/mdc/enums/ConditionValidated.js +43 -0
  67. package/src/sap/ui/mdc/enums/ContentMode.js +74 -0
  68. package/src/sap/ui/mdc/enums/FieldDisplay.js +49 -0
  69. package/src/sap/ui/mdc/enums/FieldEditMode.js +55 -0
  70. package/src/sap/ui/mdc/enums/FilterBarP13nMode.js +36 -0
  71. package/src/sap/ui/mdc/enums/FilterBarValidationStatus.js +56 -0
  72. package/src/sap/ui/mdc/enums/LinkType.js +38 -0
  73. package/src/sap/ui/mdc/enums/OperatorOverwrite.js +34 -0
  74. package/src/sap/ui/mdc/enums/OperatorValueType.js +44 -0
  75. package/src/sap/ui/mdc/enums/PersistenceMode.js +44 -0
  76. package/src/sap/ui/mdc/enums/ProcessingStrategy.js +39 -0
  77. package/src/sap/ui/mdc/enums/ReasonMode.js +53 -0
  78. package/src/sap/ui/mdc/enums/TableGrowingMode.js +42 -0
  79. package/src/sap/ui/mdc/enums/TableMultiSelectMode.js +35 -0
  80. package/src/sap/ui/mdc/enums/TableP13nMode.js +54 -0
  81. package/src/sap/ui/mdc/enums/TableRowAction.js +30 -0
  82. package/src/sap/ui/mdc/enums/TableRowCountMode.js +36 -0
  83. package/src/sap/ui/mdc/enums/TableSelectionMode.js +45 -0
  84. package/src/sap/ui/mdc/enums/TableType.js +43 -0
  85. package/src/sap/ui/mdc/enums/ValueHelpPropagationReason.js +41 -0
  86. package/src/sap/ui/mdc/enums/ValueHelpSelectionType.js +46 -0
  87. package/src/sap/ui/mdc/field/ConditionType.js +120 -88
  88. package/src/sap/ui/mdc/field/ConditionsType.js +149 -44
  89. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  90. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +15 -17
  91. package/src/sap/ui/mdc/field/FieldBase.js +512 -323
  92. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +31 -114
  93. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +4 -4
  94. package/src/sap/ui/mdc/field/FieldInfoBase.js +23 -21
  95. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  96. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  97. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  98. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +8 -29
  99. package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +2 -7
  100. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +2 -6
  101. package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
  102. package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -1
  103. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +0 -4
  104. package/src/sap/ui/mdc/field/content/BooleanContent.js +2 -2
  105. package/src/sap/ui/mdc/field/content/ContentFactory.js +47 -35
  106. package/src/sap/ui/mdc/field/content/DateContent.js +49 -43
  107. package/src/sap/ui/mdc/field/content/DateTimeContent.js +2 -2
  108. package/src/sap/ui/mdc/field/content/DefaultContent.js +8 -8
  109. package/src/sap/ui/mdc/field/content/LinkContent.js +10 -6
  110. package/src/sap/ui/mdc/field/content/SearchContent.js +4 -4
  111. package/src/sap/ui/mdc/field/content/TimeContent.js +2 -2
  112. package/src/sap/ui/mdc/field/content/UnitContent.js +19 -11
  113. package/src/sap/ui/mdc/field/splitValue.js +45 -0
  114. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +109 -218
  115. package/src/sap/ui/mdc/filterbar/IFilterContainer.js +22 -19
  116. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +6 -7
  117. package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +2 -4
  118. package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +3 -7
  119. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +52 -41
  120. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -4
  121. package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +1 -3
  122. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +4 -2
  123. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +14 -21
  124. package/src/sap/ui/mdc/filterbar/vh/FilterBarDelegate.js +1 -1
  125. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  126. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +2 -38
  127. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +3 -3
  128. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +11 -6
  129. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  130. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +2 -2
  131. package/src/sap/ui/mdc/flexibility/GroupFlex.js +11 -2
  132. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +25 -9
  133. package/src/sap/ui/mdc/flexibility/SortFlex.js +11 -1
  134. package/src/sap/ui/mdc/flexibility/Util.js +2 -2
  135. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +7 -4
  136. package/src/sap/ui/mdc/library.js +178 -84
  137. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  138. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  139. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  140. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  141. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  142. package/src/sap/ui/mdc/link/Factory.js +1 -1
  143. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  144. package/src/sap/ui/mdc/link/LinkItem.js +26 -5
  145. package/src/sap/ui/mdc/link/Panel.js +1 -1
  146. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  147. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  148. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  149. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  150. package/src/sap/ui/mdc/messagebundle.properties +9 -0
  151. package/src/sap/ui/mdc/messagebundle_ar.properties +7 -1
  152. package/src/sap/ui/mdc/messagebundle_bg.properties +19 -13
  153. package/src/sap/ui/mdc/messagebundle_ca.properties +6 -0
  154. package/src/sap/ui/mdc/messagebundle_cs.properties +6 -0
  155. package/src/sap/ui/mdc/messagebundle_cy.properties +6 -0
  156. package/src/sap/ui/mdc/messagebundle_da.properties +6 -0
  157. package/src/sap/ui/mdc/messagebundle_de.properties +6 -0
  158. package/src/sap/ui/mdc/messagebundle_el.properties +13 -7
  159. package/src/sap/ui/mdc/messagebundle_en.properties +6 -0
  160. package/src/sap/ui/mdc/messagebundle_en_GB.properties +6 -0
  161. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +6 -0
  162. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +6 -0
  163. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +6 -0
  164. package/src/sap/ui/mdc/messagebundle_es.properties +6 -0
  165. package/src/sap/ui/mdc/messagebundle_es_MX.properties +6 -0
  166. package/src/sap/ui/mdc/messagebundle_et.properties +6 -0
  167. package/src/sap/ui/mdc/messagebundle_fi.properties +7 -1
  168. package/src/sap/ui/mdc/messagebundle_fr.properties +6 -0
  169. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +10 -4
  170. package/src/sap/ui/mdc/messagebundle_hi.properties +6 -0
  171. package/src/sap/ui/mdc/messagebundle_hr.properties +15 -9
  172. package/src/sap/ui/mdc/messagebundle_hu.properties +8 -2
  173. package/src/sap/ui/mdc/messagebundle_id.properties +6 -0
  174. package/src/sap/ui/mdc/messagebundle_it.properties +10 -4
  175. package/src/sap/ui/mdc/messagebundle_iw.properties +6 -0
  176. package/src/sap/ui/mdc/messagebundle_ja.properties +14 -8
  177. package/src/sap/ui/mdc/messagebundle_kk.properties +16 -10
  178. package/src/sap/ui/mdc/messagebundle_ko.properties +9 -3
  179. package/src/sap/ui/mdc/messagebundle_lt.properties +6 -0
  180. package/src/sap/ui/mdc/messagebundle_lv.properties +6 -0
  181. package/src/sap/ui/mdc/messagebundle_ms.properties +9 -3
  182. package/src/sap/ui/mdc/messagebundle_nl.properties +7 -1
  183. package/src/sap/ui/mdc/messagebundle_no.properties +6 -0
  184. package/src/sap/ui/mdc/messagebundle_pl.properties +8 -2
  185. package/src/sap/ui/mdc/messagebundle_pt.properties +6 -0
  186. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +6 -0
  187. package/src/sap/ui/mdc/messagebundle_ro.properties +6 -0
  188. package/src/sap/ui/mdc/messagebundle_ru.properties +6 -0
  189. package/src/sap/ui/mdc/messagebundle_sh.properties +6 -0
  190. package/src/sap/ui/mdc/messagebundle_sk.properties +8 -2
  191. package/src/sap/ui/mdc/messagebundle_sl.properties +6 -0
  192. package/src/sap/ui/mdc/messagebundle_sv.properties +6 -0
  193. package/src/sap/ui/mdc/messagebundle_th.properties +19 -13
  194. package/src/sap/ui/mdc/messagebundle_tr.properties +6 -0
  195. package/src/sap/ui/mdc/messagebundle_uk.properties +7 -1
  196. package/src/sap/ui/mdc/messagebundle_vi.properties +6 -0
  197. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +7 -1
  198. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +6 -0
  199. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  200. package/src/sap/ui/mdc/mixin/DelegateMixin.js +33 -14
  201. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +3 -5
  202. package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
  203. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
  204. package/src/sap/ui/mdc/odata/TypeMap.js +155 -0
  205. package/src/sap/ui/mdc/odata/TypeUtil.js +42 -1
  206. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +17 -11
  207. package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +5 -50
  208. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +1 -1
  209. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +156 -44
  210. package/src/sap/ui/mdc/odata/v4/TypeMap.js +70 -0
  211. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +2 -1
  212. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +8 -9
  213. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +380 -390
  214. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  215. package/src/sap/ui/mdc/p13n/StateUtil.js +6 -19
  216. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  217. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +43 -34
  218. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +3 -4
  219. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +1 -1
  220. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +4 -6
  221. package/src/sap/ui/mdc/table/Column.js +45 -17
  222. package/src/sap/ui/mdc/table/ColumnSettings.js +2 -5
  223. package/src/sap/ui/mdc/table/CreationRow.js +4 -6
  224. package/src/sap/ui/mdc/table/GridTableType.js +31 -115
  225. package/src/sap/ui/mdc/table/PropertyHelper.js +56 -11
  226. package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +2 -5
  227. package/src/sap/ui/mdc/table/ResponsiveTableType.js +13 -84
  228. package/src/sap/ui/mdc/table/RowActionItem.js +9 -14
  229. package/src/sap/ui/mdc/table/RowSettings.js +2 -5
  230. package/src/sap/ui/mdc/table/TableSettings.js +23 -19
  231. package/src/sap/ui/mdc/table/TableTypeBase.js +43 -15
  232. package/src/sap/ui/mdc/table/TreeTableType.js +12 -32
  233. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +2 -5
  234. package/src/sap/ui/mdc/table/menu/Item.js +1 -1
  235. package/src/sap/ui/mdc/table/menu/QuickActionContainer.js +3 -3
  236. package/src/sap/ui/mdc/table/utils/Personalization.js +4 -4
  237. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +6 -6
  238. package/src/sap/ui/mdc/util/DateUtil.js +15 -11
  239. package/src/sap/ui/mdc/util/FilterUtil.js +44 -19
  240. package/src/sap/ui/mdc/util/IdentifierUtil.js +0 -1
  241. package/src/sap/ui/mdc/util/InfoBar.js +1 -2
  242. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  243. package/src/sap/ui/mdc/util/PropertyHelper.js +15 -8
  244. package/src/sap/ui/mdc/util/TypeMap.js +377 -0
  245. package/src/sap/ui/mdc/util/TypeUtil.js +35 -2
  246. package/src/sap/ui/mdc/util/mapVersions.js +225 -0
  247. package/src/sap/ui/mdc/valuehelp/Dialog.js +52 -33
  248. package/src/sap/ui/mdc/valuehelp/Popover.js +33 -35
  249. package/src/sap/ui/mdc/valuehelp/base/Container.js +193 -62
  250. package/src/sap/ui/mdc/valuehelp/base/Content.js +134 -57
  251. package/src/sap/ui/mdc/{field → valuehelp/base}/DefineConditionPanel.js +426 -197
  252. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -2
  253. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +140 -47
  254. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +11 -9
  255. package/src/sap/ui/mdc/valuehelp/content/Bool.js +11 -20
  256. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +26 -32
  257. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +14 -17
  258. package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +60 -0
  259. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +194 -199
  260. package/src/sap/ui/mdc/valuehelp/content/MTable.js +48 -51
  261. package/test/sap/ui/mdc/testutils/opa/chart/AssertionsViz.js +4 -4
  262. package/test/sap/ui/mdc/testutils/opa/field/Actions.js +1 -1
  263. package/test/sap/ui/mdc/testutils/opa/field/Assertions.js +3 -3
  264. package/test/sap/ui/mdc/testutils/opa/filterfield/Actions.js +4 -2
  265. package/test/sap/ui/mdc/testutils/opa/filterfield/Assertions.js +1 -1
  266. package/test/sap/ui/mdc/testutils/opa/table/Actions.js +41 -70
  267. package/test/sap/ui/mdc/testutils/opa/valueHelp/doWait.js +1 -1
  268. package/src/sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime.js +0 -21
  269. package/src/sap/ui/mdc/util/FormatUtil.js +0 -82
@@ -25,7 +25,8 @@ sap.ui.define([
25
25
  "sap/ui/events/KeyCodes",
26
26
  "sap/ui/mdc/util/InfoBar",
27
27
  "sap/ui/core/format/ListFormat",
28
- "sap/ui/mdc/enum/ProcessingStrategy"
28
+ "sap/ui/mdc/enums/ProcessingStrategy",
29
+ "sap/ui/mdc/enums/ChartP13nMode"
29
30
  ],
30
31
  function (
31
32
  Core,
@@ -48,7 +49,8 @@ sap.ui.define([
48
49
  KeyCodes,
49
50
  InfoBar,
50
51
  ListFormat,
51
- ProcessingStrategy
52
+ ProcessingStrategy,
53
+ ChartP13nMode
52
54
  ) {
53
55
  "use strict";
54
56
 
@@ -61,19 +63,18 @@ sap.ui.define([
61
63
  * @param {string} [sId] ID for the new control, generated automatically if no id is given
62
64
  * @param {object} [mSettings] Initial settings for the new control
63
65
  *
64
- * @class The Chart control creates a chart based on metadata and the configuration specified.
66
+ * @class The <code>Chart</code> control creates a chart based on metadata and the configuration specified.<br>
67
+ * <b>Note:</b> The inner chart needs to be assigned <code>ChartDelegate</code>.
65
68
  * @extends sap.ui.mdc.Control
66
69
  * @author SAP SE
67
- * @version 1.113.0
70
+ * @version 1.115.0
68
71
  * @constructor
69
72
  *
70
- * @experimental As of version 1.88
71
- * @private
72
- * @ui5-restricted sap.fe
73
- * @MDC_PUBLIC_CANDIDATE
73
+ * @public
74
74
  *
75
75
  * @since 1.88
76
76
  * @alias sap.ui.mdc.Chart
77
+ * @experimental As of version 1.88
77
78
  */
78
79
  var Chart = Control.extend("sap.ui.mdc.Chart", /** @lends sap.ui.mdc.Chart.prototype */ {
79
80
  metadata: {
@@ -118,7 +119,7 @@ sap.ui.define([
118
119
  },
119
120
 
120
121
  /**
121
- * Specifies header text that is shown in chart
122
+ * Specifies header text that is shown in the chart.
122
123
  */
123
124
  header: {
124
125
  type: "string",
@@ -132,7 +133,7 @@ sap.ui.define([
132
133
  */
133
134
  noDataText: {
134
135
  type: "string",
135
- defaultValue: "No data" //TODO WHy do we have a not translated default value?
136
+ defaultValue: "No data"
136
137
  },
137
138
 
138
139
  /**
@@ -142,12 +143,13 @@ sap.ui.define([
142
143
  * @since 1.88
143
144
  */
144
145
  p13nMode: {
145
- type: "sap.ui.mdc.ChartP13nMode[]",
146
+ type: "sap.ui.mdc.enums.ChartP13nMode[]",
146
147
  defaultValue: []
147
148
  },
148
149
 
149
150
  /**
150
151
  * Enables the legend of the chart.
152
+ * <b>Note:</b> The setter calls <code>setLegendVisible</code> of the delegate class.
151
153
  *
152
154
  * @since 1.88
153
155
  */
@@ -158,18 +160,18 @@ sap.ui.define([
158
160
  },
159
161
 
160
162
  /**
161
- * Specifies which actions should not be available in the chart's toolbar.
163
+ * Specifies which actions must not be available in the chart's toolbar.
162
164
  *
163
165
  * @since 1.88
164
166
  */
165
167
  ignoreToolbarActions: {
166
- type: "sap.ui.mdc.ChartToolbarActionType[]",
168
+ type: "sap.ui.mdc.enums.ChartToolbarActionType[]",
167
169
  defaultValue: []
168
170
  },
169
171
 
170
172
  //TODO: Do we really need this? Should be avoided.
171
173
  /**
172
- * The minimal width
174
+ * Defines the minimum width.
173
175
  */
174
176
  minWidth: {
175
177
  type: "sap.ui.core.CSSSize",
@@ -180,7 +182,7 @@ sap.ui.define([
180
182
 
181
183
  //TODO: Do we really need this? Should be avoided.
182
184
  /**
183
- * The minimal height
185
+ * Defines the minimum height.
184
186
  */
185
187
  minHeight: {
186
188
  type: "sap.ui.core.CSSSize",
@@ -190,9 +192,9 @@ sap.ui.define([
190
192
  },
191
193
 
192
194
  /**
193
- * Defines the sort conditions.
195
+ * Defines the sort conditions.<br>
194
196
  *
195
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
197
+ * <b>Note:</b> This property is exclusively used for handling SAPUI5 flexibility changes. Do not use it for anything else.
196
198
  *
197
199
  * @since 1.88
198
200
  */
@@ -201,9 +203,9 @@ sap.ui.define([
201
203
  },
202
204
 
203
205
  /**
204
- * Defines the filter conditions.
205
- *
206
- * <b>Note:</b> This property is exclusively used for handling flexibility changes. Do not use it for anything else.
206
+ * Defines the filter conditions.<br>
207
+ * <b>Note:</b> This property must not be bound.<br>
208
+ * <b>Note:</b> This property is exclusively used for handling SAPUI5 flexibility changes. Do not use it for anything else.
207
209
  *
208
210
  * @since 1.99
209
211
  */
@@ -213,7 +215,7 @@ sap.ui.define([
213
215
  },
214
216
 
215
217
  /**
216
- * Controls the visibility of the chart tooltip. If set to <code>true</code>, a call of the delegate.setChartTooltipVisibility will be triggered and can be used to make the Char tooltip visible.
218
+ * Controls the visibility of the chart tooltip. If set to <code>true</code>, a call of the <code>delegate.setChartTooltipVisibility</code> will be triggered and can be used to make the <code>Chart</code> tooltip visible.
217
219
  *
218
220
  * @since 1.88
219
221
  */
@@ -224,7 +226,7 @@ sap.ui.define([
224
226
  },
225
227
 
226
228
  /**
227
- * If set to <code>true</code>, the chart is automatically bound after initialization.
229
+ * If set to <code>true</code>, the chart is automatically bound after initialization.<br>
228
230
  * If set to <code>false</code>, the chart is bound after the first call to <code>rebind</code>.
229
231
  */
230
232
  autoBindOnInit: {
@@ -253,18 +255,20 @@ sap.ui.define([
253
255
 
254
256
  /**
255
257
  * Specifies the chart metadata.<br>
256
- * <b>Note</b>: This property must not be bound.<br>
257
- * <b>Note</b>: This property is used exclusively for SAPUI5 flexibility/sap.fe. Do not use it otherwise.
258
+ * <b>Note:</b> This property must not be bound.<br>
259
+ * <b>Note:</b> This property is exclusively used for handling SAPUI5 flexibility changes. Do not use it otherwise.<br>
260
+ *
261
+ * <b>Note</b>: For more information about the supported inner elements, see {@link sap.ui.mdc.chart.PropertyInfo PropertyInfo}.
258
262
  *
259
263
  * @since 1.99
260
264
  */
261
265
  propertyInfo: {
262
- type: "object",
266
+ type: "object", //TODO this should be an object[], but when I change this the TwFb does not start
263
267
  defaultValue: []
264
268
  },
265
269
 
266
270
  /**
267
- * Semantic level of the header.
271
+ * Semantic level of the header.<br>
268
272
  * For more information, see {@link sap.m.Title#setLevel}.
269
273
  *
270
274
  * @since 1.104
@@ -297,8 +301,8 @@ sap.ui.define([
297
301
  multiple: true
298
302
  },
299
303
  /**
300
- * This aggregation describes actions that are added to the chart toolbar.
301
- * See {@link sap.ui.mdc.actiontoolbar.ActionToolbarAction} for more information.
304
+ * This aggregation describes actions that are added to the chart toolbar.<br>
305
+ * For more information, see {@link sap.ui.mdc.actiontoolbar.ActionToolbarAction}.
302
306
  */
303
307
  actions: {
304
308
  type: "sap.ui.core.Control",
@@ -308,6 +312,14 @@ sap.ui.define([
308
312
  aggregation: "actions"
309
313
  }
310
314
  },
315
+ /**
316
+ * Feeds details actions for data point selection in the mdc chart.<br>
317
+ * For more information, see {@link sap.ui.mdc.chart.SelectionDetailsActions SelectionDetailsActions}.
318
+ */
319
+ selectionDetailsActions: {
320
+ type: "sap.ui.mdc.chart.SelectionDetailsActions",
321
+ multiple: false
322
+ },
311
323
  _toolbar: {
312
324
  type: "sap.ui.mdc.chart.ChartToolbar",
313
325
  multiple: false,
@@ -323,10 +335,6 @@ sap.ui.define([
323
335
  multiple: false,
324
336
  visibility: "hidden"
325
337
  },
326
- selectionDetailsActions: {
327
- type: "sap.ui.mdc.chart.SelectionDetailsActions",
328
- multiple: false
329
- },
330
338
  _infoToolbar: {
331
339
  type: "sap.ui.mdc.util.InfoBar",
332
340
  multiple: false,
@@ -340,13 +348,12 @@ sap.ui.define([
340
348
  multiple: false
341
349
  },
342
350
  /**
343
- * Defines the custom visualization if there is no data available.
344
- * <b>Note:</b> If both a <code>noDataText</code> property and a <code>noData</code> aggregation are provided, the <code>noData</code> aggregation takes priority.
351
+ * Defines the custom visualization if there is no data available.<br>
352
+ * This control will be displayed on top of the chart when no data is visible inside the chart.<br>
353
+ * <b>Note:</b> If both a <code>noDataText</code> property and a <code>noData</code> aggregation are provided, the <code>noData</code> aggregation takes priority.<br>
345
354
  * If the <code>noData</code> aggregation is undefined or set to null, the <code>noDataText</code> property is used instead.
355
+ *
346
356
  * @since 1.107
347
- * @experimental
348
- * @private
349
- * @ui5-restricted sap.ui.mdc, sap-fe
350
357
  */
351
358
  noData: {
352
359
  type: "sap.ui.core.Control",
@@ -367,7 +374,7 @@ sap.ui.define([
367
374
  },
368
375
  events: {
369
376
  /**
370
- * This event is fired when a SelectionDetailsAction is pressed.
377
+ * This event is fired when a <code>SelectionDetailsAction</code> is pressed.
371
378
  */
372
379
  selectionDetailsActionPressed: {
373
380
  parameters: {
@@ -382,7 +389,7 @@ sap.ui.define([
382
389
  /**
383
390
  * If the action is pressed on one of the {@link sap.m.SelectionDetailsItem items}, the parameter contains the
384
391
  * {@link sap.ui.model.Context context} of the pressed {@link sap.m.SelectionDetailsItem item}. If a custom action or action
385
- * group of the SelectionDetails popover is pressed, this parameter contains all {@link sap.ui.model.Context contexts} of the
392
+ * group of the <code>SelectionDetails</code> popover is pressed, this parameter contains all {@link sap.ui.model.Context contexts} of the
386
393
  * {@link sap.m.SelectionDetailsItem items}.
387
394
  */
388
395
  itemContexts: {
@@ -407,60 +414,95 @@ sap.ui.define([
407
414
 
408
415
  FilterIntegrationMixin.call(Chart.prototype);
409
416
 
417
+ /**
418
+ * An object literal describing a data property in the context of a {@link sap.ui.mdc.Chart}.
419
+ *
420
+ * When specifying the <code>PropertyInfo</code> objects in the {@link sap.ui.mdc.Chart#getPropertyInfo propertyInfo} property, the following
421
+ * attributes need to be specified:
422
+ * <ul>
423
+ * <li><code>label</code></li>
424
+ * <li><code>propertyPath</code></li>
425
+ * </ul>
426
+ *
427
+ * @typedef {object} sap.ui.mdc.chart.PropertyInfo
428
+ * @property {string} propertyPath
429
+ * The path to the property in the back end
430
+ * @property {string} [name]
431
+ * The identifier of the property
432
+ * @property {string} label
433
+ * The label of the identifier
434
+ * @property {string} [tooltip]
435
+ * The tooltip of the identifier
436
+ * @property {string} datatype
437
+ * The name of the type of the property
438
+ * @property {object} [constraints]
439
+ * Defines constraints for the data type of the property
440
+ * @property {object} [formatOptions]
441
+ * Defines formatting options for the data type of the property
442
+ * @property {boolean} [required = false]
443
+ * Defines if the filter is mandatory
444
+ * @property {int} maxConditions
445
+ * Defines if the filter supports multiple values <code>-1</code> or single values <code>1</code>
446
+ * @property {boolean} groupable
447
+ * Defines whether the property is groupable and is selectable as a dimension in the chart
448
+ * @property {boolean} aggregatable
449
+ * Defines whether the property is aggregatable and is selectable as a measure in the chart
450
+ * @property {string} aggregationMethod
451
+ * The aggregation method used if the property is aggregatable
452
+ * @property {string} role
453
+ * Defines the role that the property visualizes inside the chart
454
+ * @property {object} [datapoint]
455
+ * Implementation-specific object containing information about the data point
456
+ * @property {object} [criticality]
457
+ * Implementation-specific object containing information about the criticality
458
+ * @property {string} [textProperty]
459
+ * The text property used for the dimension
460
+ *
461
+ * @public
462
+ */
463
+
464
+
410
465
  /**
411
466
  * Initialises the MDC Chart
412
467
  *
413
- * @experimental
414
468
  * @private
415
- * @ui5-restricted sap.ui.mdc
416
469
  */
417
470
  Chart.prototype.init = function () {
418
471
  this._oManagedObjectModel = new ManagedObjectModel(this);
419
472
  this.setModel(this._oManagedObjectModel, "$mdcChart");
420
- this._bNewP13n = true;//TODO: remove with migration
421
473
  Control.prototype.init.apply(this, arguments);
422
474
 
423
475
  this._setupPropertyInfoStore("propertyInfo");
424
476
  this._setPropertyHelperClass(PropertyHelper);
425
477
  };
426
478
 
427
- /**
428
- * Defines which personalization options are available in the chart.
429
- * Valid options are: "Item", "Sort", "Type".
430
- * @param {array} aMode String array containing the p13n options that are available
431
- * @returns {sap.ui.mdc.Chart} Reference to <code>this</code> for method chaining
432
- *
433
- * @experimental
434
- * @private
435
- * @ui5-restricted sap.fe
436
- */
437
- Chart.prototype.setP13nMode = function(aMode) {
479
+ Chart.prototype.setP13nMode = function(aModes) {
438
480
  var aSortedKeys = null;
439
- if (aMode && aMode.length >= 1){
481
+ if (aModes && aModes.length >= 1){
440
482
  aSortedKeys = [];
441
- var mKeys = aMode.reduce(function(mMap, sKey, iIndex){
483
+ var mKeys = aModes.reduce(function(mMap, sKey, iIndex){
442
484
  mMap[sKey] = true;
443
485
  return mMap;
444
486
  }, {});
445
487
 
446
488
  //as the p13nMode has no strict order we need to ensure the order of tabs here
447
489
  if (mKeys.Item) {
448
- aSortedKeys.push("Item");
490
+ aSortedKeys.push(ChartP13nMode.Item);
449
491
  }
450
492
  if (mKeys.Sort) {
451
- aSortedKeys.push("Sort");
493
+ aSortedKeys.push(ChartP13nMode.Sort);
452
494
  }
453
495
  if (mKeys.Filter) {
454
- aSortedKeys.push("Filter");
496
+ aSortedKeys.push(ChartP13nMode.Filter);
455
497
  }
456
498
  if (mKeys.Type) {
457
499
  this._typeBtnActive = true;
458
- aSortedKeys.push("Type");
500
+ aSortedKeys.push(ChartP13nMode.Type);
459
501
  } else {
460
502
  this._typeBtnActive = false;
461
503
  }
462
504
  } else {
463
- aSortedKeys = aMode;
505
+ aSortedKeys = aModes;
464
506
  }
465
507
 
466
508
  this.setProperty("p13nMode", aSortedKeys, true);
@@ -510,13 +552,12 @@ sap.ui.define([
510
552
  };
511
553
 
512
554
  /**
513
- * Getter for <code>filterConditions</code> set in the personalization settings.
514
- * @returns {array} Filters set in the chart
555
+ * Getter for <code>Conditions</code> set in the personalization settings.
556
+ * @returns {object} Filters set in the chart
515
557
  *
516
- * @experimental
517
- * @private
518
- * @ui5-restricted sap.fe
558
+ * @public
519
559
  */
560
+ // Part of sap.ui.mdc.IFilterSource
520
561
  Chart.prototype.getConditions = function() {
521
562
  //may only return conditions if the inner FilterBar has already been initialized
522
563
  return this.getInbuiltFilter() ? this.getInbuiltFilter().getConditions() : [];
@@ -533,9 +574,7 @@ sap.ui.define([
533
574
  *
534
575
  * @param {*} mSettings settings to apply
535
576
  *
536
- * @experimental
537
577
  * @private
538
- * @ui5-restricted sap.ui.mdc
539
578
  */
540
579
  Chart.prototype.applySettings = function (mSettings, oScope) {
541
580
  this._setPropertyHelperClass(PropertyHelper);
@@ -551,18 +590,9 @@ sap.ui.define([
551
590
  this._fnRejectInnerChartBound = reject;
552
591
  }.bind(this));
553
592
 
554
- //load required modules before init of inner controls
555
- var pLoadDelegate = this._loadDelegate().then(function(oDelegate){
556
- return oDelegate;
557
- }).then(function(oDelegate){
558
- return this.initControlDelegate(oDelegate);
559
- }.bind(this)).catch(function (error) {
560
- this._fnRejectInitialized(error);
561
- }.bind(this));
593
+ var pLoadDelegate = this.initControlDelegate();
562
594
 
563
- var aInitPromises = [
564
- pLoadDelegate
565
- ];
595
+ var aInitPromises = [ pLoadDelegate ];
566
596
 
567
597
  if (this.isFilteringEnabled()) {
568
598
  aInitPromises.push(this.retrieveInbuiltFilter());
@@ -570,7 +600,9 @@ sap.ui.define([
570
600
 
571
601
  //TODO: Refactor this so we use awaitPropertyHelper
572
602
  Promise.all(aInitPromises).then(function(){
573
- this._initInnerControls();
603
+ if (!this.isDestroyed()) {
604
+ this._initInnerControls();
605
+ }
574
606
  }.bind(this));
575
607
 
576
608
  };
@@ -710,7 +742,7 @@ sap.ui.define([
710
742
  };
711
743
 
712
744
  Chart.prototype._createBreadcrumbs = function () {
713
- if (!this._oBreadcrumbs){
745
+ if (!this._oBreadcrumbs && !this._bIsDestroyed) {
714
746
  this._oBreadcrumbs = new Breadcrumbs(this.getId() + "--breadcrumbs");
715
747
  this._oBreadcrumbs.updateDrillBreadcrumbs(this, this.getControlDelegate().getDrillableItems(this));
716
748
  this.setAggregation("_breadcrumbs", this._oBreadcrumbs);
@@ -738,9 +770,7 @@ sap.ui.define([
738
770
  * Gets whether filtering is enabled in the personalization dialog.
739
771
  * @returns {boolean} <code>true</code> if filtering enabled, <code>false</code> if otherwise
740
772
  *
741
- * @experimental
742
773
  * @private
743
- * @ui5-restricted sap.fe
744
774
  */
745
775
  Chart.prototype.isFilteringEnabled = function () {
746
776
  return this.getP13nMode().indexOf("Filter") > -1;
@@ -751,7 +781,6 @@ sap.ui.define([
751
781
  * <b>Note:</b> This is only used for personalization, do not use it otherwise.
752
782
  * @returns {Promise} <code>Promise</code> that resolves with the adaptation panel control
753
783
  *
754
- * @experimental
755
784
  * @private
756
785
  * @ui5-restricted sap.ui.mdc
757
786
  */
@@ -802,7 +831,7 @@ sap.ui.define([
802
831
  };
803
832
 
804
833
  /**
805
- * Rebinds the inner chart instance by calling oDelegate.rebindChart
834
+ * Rebinds the inner chart instance by calling oDelegate.rebind
806
835
  */
807
836
  Chart.prototype._rebind = function () {
808
837
 
@@ -825,10 +854,16 @@ sap.ui.define([
825
854
  return;
826
855
  }
827
856
 
828
- var oBindingInfo = this.getControlDelegate()._getBindingInfo(this);
829
-
830
- this.getControlDelegate().updateBindingInfo(this, oBindingInfo); //Applies filters
831
- this.getControlDelegate().rebind(this, oBindingInfo);
857
+ var oChartDelegate = this.getControlDelegate();
858
+ var oBindingInfo;
859
+ if (oChartDelegate._getBindingInfo) {
860
+ oBindingInfo = oChartDelegate._getBindingInfo(this);
861
+ Log.warning("mdc Chart", "calling the private delegate._getBindingInfo. Please make the function public!");
862
+ } else {
863
+ oBindingInfo = oChartDelegate.getBindingInfo(this);
864
+ }
865
+ oChartDelegate.updateBindingInfo(this, oBindingInfo); //Applies filters
866
+ oChartDelegate.rebind(this, oBindingInfo);
832
867
  };
833
868
 
834
869
  /**
@@ -882,7 +917,6 @@ sap.ui.define([
882
917
  * The inner chart is not bound yet. Use <code>innerChartBound</code> for it.
883
918
  * @returns {Promise} <code>Promise</code> that resolves once MDC chart is initialized. Contains reference to MDC chart
884
919
  *
885
- * @experimental
886
920
  * @private
887
921
  * @ui5-restricted sap.ui.mdc, sap.fe
888
922
  */
@@ -894,7 +928,6 @@ sap.ui.define([
894
928
  * Can be used to check whether the inner chart is initialized and bound.
895
929
  * @returns {Promise} Promise that resolves once MDC chart is bound
896
930
  *
897
- * @experimental
898
931
  * @private
899
932
  * @ui5-restricted sap.ui.mdc, sap.fe
900
933
  */
@@ -904,34 +937,22 @@ sap.ui.define([
904
937
 
905
938
  /**
906
939
  * Zooms in the inner chart.
907
- * @param {int} iValue how much steps should be zoomed in
908
940
  *
909
- * @experimental
910
941
  * @private
911
- * @ui5-restricted sap.ui.mdc, sap.fe
942
+ * @ui5-restricted sap.ui.mdc
912
943
  */
913
- Chart.prototype.zoomIn = function (iValue) {
914
- if (!iValue) {
915
- iValue = 10;
916
- }
917
-
918
- this.getControlDelegate().zoomIn(this, iValue);
944
+ Chart.prototype.zoomIn = function () {
945
+ this.getControlDelegate().zoomIn(this);
919
946
  };
920
947
 
921
948
  /**
922
949
  * Zooms out the inner chart.
923
- * @param {int} iValue how much steps should be zoomed out
924
950
  *
925
- * @experimental
926
951
  * @private
927
- * @ui5-restricted sap.ui.mdc, sap.fe
952
+ * @ui5-restricted sap.ui.mdc
928
953
  */
929
- Chart.prototype.zoomOut = function (iValue) {
930
- if (iValue) {
931
- iValue = 10;
932
- }
933
-
934
- this.getControlDelegate().zoomOut(this, iValue);
954
+ Chart.prototype.zoomOut = function () {
955
+ this.getControlDelegate().zoomOut(this);
935
956
  };
936
957
 
937
958
  /**
@@ -939,13 +960,12 @@ sap.ui.define([
939
960
  * {
940
961
  * "enabled":true,
941
962
  * "currentZoomLevel":0.16
942
- * }
963
+ * }
943
964
  *
944
965
  * @returns {Object} current Zoom Information
945
966
  *
946
- * @experimental
947
967
  * @private
948
- * @ui5-restricted sap.ui.mdc, sap.fe
968
+ * @ui5-restricted sap.ui.mdc
949
969
  */
950
970
  Chart.prototype.getZoomState = function () {
951
971
  return this.getControlDelegate().getZoomState(this);
@@ -955,9 +975,7 @@ sap.ui.define([
955
975
  * Retrieves the selection handler of the inner chart.
956
976
  * @returns {object} Selection handler of the inner chart
957
977
  *
958
- * @experimental
959
- * @private
960
- * @ui5-restricted sap.ui.mdc, sap.fe
978
+ * @public
961
979
  */
962
980
  Chart.prototype.getSelectionHandler = function () {
963
981
  return this.getControlDelegate().getInnerChartSelectionHandler(this);
@@ -966,11 +984,10 @@ sap.ui.define([
966
984
  /**
967
985
  * Retrieves the chart type layout configuration.
968
986
  * <b>Note:</b> This is only used inside personalization.
987
+ *
969
988
  * @returns {object} Layout configuration
970
989
  *
971
- * @experimental
972
- * @private
973
- * @ui5-restricted sap.ui.mdc
990
+ * @public
974
991
  */
975
992
  Chart.prototype.getChartTypeLayoutConfig = function() {
976
993
  return this.getControlDelegate().getChartTypeLayoutConfig();
@@ -979,26 +996,17 @@ sap.ui.define([
979
996
  /**
980
997
  * Retrieves the allowed chart roles for the chart types.
981
998
  * <b>Note:</b> This is only used inside the personalization.
999
+ *
982
1000
  * @returns {object} Allowed roles
983
1001
  *
984
- * @experimental
985
1002
  * @private
986
1003
  * @ui5-restricted sap.ui.mdc
987
1004
  */
1005
+ //TODO is this function used?
988
1006
  Chart.prototype.getAllowedRolesForKinds = function() {
989
1007
  return this.getControlDelegate().getAllowedRolesForKinds();
990
1008
  };
991
1009
 
992
- /**
993
- * Sets the visibility of the legend.
994
- * Calls <code>setLegendVisible</code> on the delegate.
995
- * @param {boolean} bVisible <code>true</code> to show legend, <code>false</code> to hide
996
- * @returns {sap.ui.mdc.Chart} Reference to <code>this</code> for method chaining
997
- *
998
- * @experimental
999
- * @private
1000
- * @ui5-restricted sap.fe, sap.ui.mdc
1001
- */
1002
1010
  Chart.prototype.setLegendVisible = function (bVisible) {
1003
1011
  this.setProperty("legendVisible", bVisible);
1004
1012
 
@@ -1013,11 +1021,6 @@ sap.ui.define([
1013
1021
  return this;
1014
1022
  };
1015
1023
 
1016
- /**
1017
- * Sets the ShowChartTooltip Property
1018
- * @param {boolean} bValue true for visible; false for invisible
1019
- * @returns {sap.ui.mdc.Chart} the MDC chart
1020
- */
1021
1024
  Chart.prototype.setShowChartTooltip = function (bValue) {
1022
1025
  this.setProperty("showChartTooltip", bValue);
1023
1026
 
@@ -1038,13 +1041,12 @@ sap.ui.define([
1038
1041
  };
1039
1042
 
1040
1043
  /**
1041
- * shows the drill-down popover for selection a dimension to drill down to.
1044
+ * Shows the drill-down popover for selection a dimension to drill down to.
1045
+ *
1042
1046
  * @param {sap.m.Button} oDrillBtn reference to the drill down button for loacation of the popover
1043
1047
  * @returns {Promise} show dril stack promise
1044
1048
  *
1045
- * @experimental
1046
1049
  * @private
1047
- * @ui5-restricted sap.ui.mdc
1048
1050
  */
1049
1051
  Chart.prototype._showDrillDown = function (oDrillBtn) {
1050
1052
  if (!this.oDrillPopover) {
@@ -1098,9 +1100,8 @@ sap.ui.define([
1098
1100
  *
1099
1101
  * @returns {object} object containing information about the chart type
1100
1102
  *
1101
- * @experimental
1102
1103
  * @private
1103
- * @ui5-restricted sap.fe
1104
+ * @ui5-restricted sap.ui.mdc, sap.fe
1104
1105
  *
1105
1106
  */
1106
1107
  Chart.prototype.getChartTypeInfo = function () {
@@ -1130,9 +1131,7 @@ sap.ui.define([
1130
1131
  *
1131
1132
  * @returns {array} Array containing the available chart types
1132
1133
  *
1133
- * @experimental
1134
1134
  * @private
1135
- * @ui5-restricted sap.fe
1136
1135
  */
1137
1136
  Chart.prototype.getAvailableChartTypes = function () {
1138
1137
  return this.getControlDelegate().getAvailableChartTypes(this);
@@ -1142,7 +1141,7 @@ sap.ui.define([
1142
1141
  /**
1143
1142
  * Sets the MDC chart to a specific chart type
1144
1143
  * @param {string} sChartType the name of the new chart type
1145
- * @returns {sap.ui.mdc.chart} reference to <code>this</code> for method chaining
1144
+ * @returns {sap.ui.mdc.Chart} reference to <code>this</code> in order to allow method chaining
1146
1145
  */
1147
1146
  Chart.prototype.setChartType = function (sChartType) {
1148
1147
  this.setProperty("chartType", sChartType);
@@ -1156,16 +1155,6 @@ sap.ui.define([
1156
1155
  return this;
1157
1156
  };
1158
1157
 
1159
- /**
1160
- * Sets a new noData control for the chart.
1161
- * This control will be displayed on top of the chart when no data is visible inside the chart.
1162
- * @param {sap.ui.core.Control} oControl control to show
1163
- * @returns {sap.ui.mdc.Chart} reference to <code>this</code> for method chaining
1164
- *
1165
- * @experimental
1166
- * @private
1167
- * @ui5-restricted sap.fe
1168
- */
1169
1158
  Chart.prototype.setNoData = function(oControl) {
1170
1159
  this.setAggregation("noData", oControl);
1171
1160
 
@@ -1174,7 +1163,7 @@ sap.ui.define([
1174
1163
  } catch (err) {
1175
1164
  //This fails when the delegate instance is not yet available.
1176
1165
  //It is not a problem as the delegate will use getNoData() on init of the chart, thus using the correct noData struct.
1177
- //This error merely happens as the setter is calle don init of the MDC CHart from framework side.
1166
+ //This error primerely happens as the setter is called on init of the Chart from framework side.
1178
1167
  }
1179
1168
 
1180
1169
  return this;
@@ -1192,9 +1181,7 @@ sap.ui.define([
1192
1181
  * Gets the managed object model.
1193
1182
  * @returns {sap.ui.model.base.ManagedObjectModel} the managed object model
1194
1183
  *
1195
- * @experimental
1196
1184
  * @private
1197
- * @ui5-restricted sap.ui.mdc
1198
1185
  */
1199
1186
  Chart.prototype.getManagedObjectModel = function () {
1200
1187
  return this._oManagedObjectModel;
@@ -1228,13 +1215,12 @@ sap.ui.define([
1228
1215
  };
1229
1216
 
1230
1217
  /**
1231
- * Fetches the current state of the chart (as a JSON)
1218
+ * Fetches the current state of the chart (as a JSON)<br>
1232
1219
  * Needed for P13n to fetch current state
1233
1220
  *
1234
- * @experimental
1235
- * @private
1236
1221
  * @returns {Object} Current state of the chart
1237
- * @ui5-restricted sap.ui.mdc
1222
+ *
1223
+ * @private
1238
1224
  */
1239
1225
  Chart.prototype.getCurrentState = function () {
1240
1226
  var oState = {};
@@ -1272,7 +1258,7 @@ sap.ui.define([
1272
1258
  var aProperties = [];
1273
1259
  this.getItems().forEach(function (oItem) {
1274
1260
  aProperties.push({
1275
- name: oItem.getName(),
1261
+ name: oItem.getPropertyKey(),
1276
1262
  role: oItem.getRole()
1277
1263
  });
1278
1264
 
@@ -1314,14 +1300,12 @@ sap.ui.define([
1314
1300
  };
1315
1301
 
1316
1302
  /**
1317
- * Callback for when filters changed
1303
+ * Callback for when filters changed<br>
1318
1304
  * Activates the overlay on the MDC chart
1319
1305
  *
1320
1306
  * @param oEvent filter changed event
1321
1307
  *
1322
- * @experimental
1323
1308
  * @private
1324
- * @ui5-restricted sap.fe, sap.ui.mdc
1325
1309
  */
1326
1310
  Chart.prototype._onFiltersChanged = function(oEvent) {
1327
1311
  if (this._bInnerChartReady && this.getControlDelegate() && this.getControlDelegate().getInnerChartBound(this) && oEvent.getParameter("conditionsBased")) {
@@ -1364,11 +1348,10 @@ sap.ui.define([
1364
1348
 
1365
1349
  /**
1366
1350
  * Adds/Removes the overlay shown above the inner chart.
1351
+ *
1367
1352
  * @param {boolean} bShow true to show overlay, false to hide
1368
1353
  *
1369
- * @experimental
1370
1354
  * @private
1371
- * @ui5-restricted sap.fe, sap.ui.mdc
1372
1355
  */
1373
1356
  Chart.prototype._renderOverlay = function(bShow) {
1374
1357
  try {
@@ -1380,16 +1363,6 @@ sap.ui.define([
1380
1363
  }
1381
1364
  };
1382
1365
 
1383
- /**
1384
- * Adds an action to the <code>actions</code> aggregation of the chart.
1385
- * If the given control is not of type {@link sap.ui.mdc.actiontoolbar.ActionToolbarAction}, a container is created for the control before passing it on to the {@link sap.ui.mdc.ActionToolbar}.
1386
- * @param {sap.ui.core.Control} oControl to add to the aggregation
1387
- * @return {sap.ui.mdc.Chart} Reference to <code>this</code> for method chaining.
1388
- *
1389
- * @experimental
1390
- * @private
1391
- * @ui5-restricted sap.ui.mdc, sap.fe
1392
- */
1393
1366
  Chart.prototype.addAction = function(oControl) {
1394
1367
  if (oControl.getMetadata().getName() !== "sap.ui.mdc.actiontoolbar.ActionToolbarAction") {
1395
1368
  oControl = new ActionToolbarAction(oControl.getId() + "-action", {
@@ -1400,11 +1373,6 @@ sap.ui.define([
1400
1373
  return Control.prototype.addAggregation.apply(this, ["actions", oControl]);
1401
1374
  };
1402
1375
 
1403
- /**
1404
- * Specifies the header level for the title of the chart.
1405
- * @param {sap.ui.core.TitleLevel} sHeaderLevel Header level
1406
- * @returns {sap.ui.mdc.Chart} Reference to <code>this</code> in order to allow method chaining
1407
- */
1408
1376
  Chart.prototype.setHeaderLevel = function(sHeaderLevel) {
1409
1377
  if (this.getAggregation("_toolbar")) {
1410
1378
  this.getAggregation("_toolbar")._setHeaderLevel(sHeaderLevel);