@openui5/sap.ui.mdc 1.96.5 → 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 (282) hide show
  1. package/.reuse/dep5 +26 -31
  2. package/THIRDPARTY.txt +15 -21
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +7 -9
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -2
  7. package/src/sap/ui/mdc/BaseDelegate.js +1 -1
  8. package/src/sap/ui/mdc/Chart.js +1100 -1796
  9. package/src/sap/ui/mdc/ChartDelegate.js +429 -270
  10. package/src/sap/ui/mdc/ChartRenderer.js +73 -77
  11. package/src/sap/ui/mdc/Control.js +1 -1
  12. package/src/sap/ui/mdc/Element.js +1 -1
  13. package/src/sap/ui/mdc/Field.js +3 -2
  14. package/src/sap/ui/mdc/FilterBar.js +3 -2
  15. package/src/sap/ui/mdc/FilterField.js +25 -8
  16. package/src/sap/ui/mdc/Link.js +23 -4
  17. package/src/sap/ui/mdc/LinkDelegate.js +3 -3
  18. package/src/sap/ui/mdc/MultiValueField.js +21 -6
  19. package/src/sap/ui/mdc/Table.js +204 -161
  20. package/src/sap/ui/mdc/TableDelegate.js +47 -17
  21. package/src/sap/ui/mdc/ValueHelp.js +51 -15
  22. package/src/sap/ui/mdc/ValueHelpDelegate.js +20 -0
  23. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  24. package/src/sap/ui/mdc/{chartNew/ChartSelectionDetailsNew.js → chart/ChartSelectionDetails.js} +8 -8
  25. package/src/sap/ui/mdc/{chartNew/ChartToolbarNew.js → chart/ChartToolbar.js} +49 -13
  26. package/src/sap/ui/mdc/chart/ChartTypeButton.js +55 -54
  27. package/src/sap/ui/mdc/{chartNew/DrillBreadcrumbsNew.js → chart/DrillBreadcrumbs.js} +3 -3
  28. package/src/sap/ui/mdc/chart/DrillStackHandler.js +38 -249
  29. package/src/sap/ui/mdc/chart/Item.js +62 -92
  30. package/src/sap/ui/mdc/{chartNew/PropertyHelperNew.js → chart/PropertyHelper.js} +3 -3
  31. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +17 -21
  32. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  33. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  34. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  35. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  36. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +261 -44
  37. package/src/sap/ui/mdc/condition/Operator.js +9 -9
  38. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +437 -0
  39. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  40. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +80 -5
  41. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +97 -0
  42. package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +104 -0
  43. package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +22 -0
  44. package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +23 -0
  45. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +3 -0
  46. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +60 -20
  47. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  48. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  49. package/src/sap/ui/mdc/field/ConditionType.js +9 -9
  50. package/src/sap/ui/mdc/field/ConditionsType.js +7 -7
  51. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  52. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  53. package/src/sap/ui/mdc/field/DefineConditionPanel.js +75 -27
  54. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +311 -0
  55. package/src/sap/ui/mdc/field/FieldBase.js +85 -52
  56. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +0 -3
  57. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  58. package/src/sap/ui/mdc/field/FieldInfoBase.js +23 -10
  59. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  60. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  61. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  62. package/src/sap/ui/mdc/field/FieldValueHelp.js +7 -7
  63. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  64. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +20 -0
  65. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  66. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +2 -2
  67. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +7 -3
  68. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  69. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  70. package/src/sap/ui/mdc/field/ListFieldHelp.js +10 -2
  71. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  72. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  73. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  74. package/src/sap/ui/mdc/field/TokenDisplay.js +70 -0
  75. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +24 -0
  76. package/src/sap/ui/mdc/field/TokenizerDisplay.js +80 -0
  77. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +69 -0
  78. package/src/sap/ui/mdc/field/ValueHelpPanel.js +2 -1
  79. package/src/sap/ui/mdc/field/content/BooleanContent.js +1 -1
  80. package/src/sap/ui/mdc/field/content/ContentFactory.js +28 -26
  81. package/src/sap/ui/mdc/field/content/DateContent.js +128 -2
  82. package/src/sap/ui/mdc/field/content/DateTimeContent.js +9 -1
  83. package/src/sap/ui/mdc/field/content/DefaultContent.js +36 -14
  84. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  85. package/src/sap/ui/mdc/field/content/TimeContent.js +8 -1
  86. package/src/sap/ui/mdc/field/content/UnitContent.js +23 -4
  87. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +359 -142
  88. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  89. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  90. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +8 -2
  91. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +3 -1
  92. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +7 -1
  93. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +6 -6
  94. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +2 -2
  95. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +6 -4
  96. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
  97. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +4 -3
  98. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  99. package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
  100. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +9 -3
  101. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +110 -0
  102. package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -2
  103. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +6 -6
  104. package/src/sap/ui/mdc/library.js +62 -43
  105. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  106. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  107. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  108. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  109. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  110. package/src/sap/ui/mdc/link/Factory.js +2 -2
  111. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  112. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  113. package/src/sap/ui/mdc/link/Log.js +1 -1
  114. package/src/sap/ui/mdc/link/Panel.js +140 -177
  115. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  116. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  117. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  118. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  119. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  120. package/src/sap/ui/mdc/messagebundle.properties +68 -5
  121. package/src/sap/ui/mdc/messagebundle_ar.properties +47 -6
  122. package/src/sap/ui/mdc/messagebundle_bg.properties +61 -20
  123. package/src/sap/ui/mdc/messagebundle_ca.properties +45 -4
  124. package/src/sap/ui/mdc/messagebundle_cs.properties +60 -19
  125. package/src/sap/ui/mdc/messagebundle_cy.properties +45 -4
  126. package/src/sap/ui/mdc/messagebundle_da.properties +52 -11
  127. package/src/sap/ui/mdc/messagebundle_de.properties +45 -4
  128. package/src/sap/ui/mdc/messagebundle_el.properties +46 -5
  129. package/src/sap/ui/mdc/messagebundle_en.properties +45 -4
  130. package/src/sap/ui/mdc/messagebundle_en_GB.properties +45 -4
  131. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +51 -2
  132. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +45 -4
  133. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +51 -2
  134. package/src/sap/ui/mdc/messagebundle_es.properties +46 -5
  135. package/src/sap/ui/mdc/messagebundle_es_MX.properties +59 -18
  136. package/src/sap/ui/mdc/messagebundle_et.properties +45 -4
  137. package/src/sap/ui/mdc/messagebundle_fi.properties +51 -10
  138. package/src/sap/ui/mdc/messagebundle_fr.properties +50 -9
  139. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +45 -4
  140. package/src/sap/ui/mdc/messagebundle_hi.properties +46 -5
  141. package/src/sap/ui/mdc/messagebundle_hr.properties +45 -4
  142. package/src/sap/ui/mdc/messagebundle_hu.properties +45 -4
  143. package/src/sap/ui/mdc/messagebundle_id.properties +45 -4
  144. package/src/sap/ui/mdc/messagebundle_it.properties +61 -20
  145. package/src/sap/ui/mdc/messagebundle_iw.properties +46 -5
  146. package/src/sap/ui/mdc/messagebundle_ja.properties +46 -5
  147. package/src/sap/ui/mdc/messagebundle_kk.properties +45 -4
  148. package/src/sap/ui/mdc/messagebundle_ko.properties +46 -5
  149. package/src/sap/ui/mdc/messagebundle_lt.properties +45 -4
  150. package/src/sap/ui/mdc/messagebundle_lv.properties +49 -8
  151. package/src/sap/ui/mdc/messagebundle_ms.properties +45 -4
  152. package/src/sap/ui/mdc/messagebundle_nl.properties +49 -8
  153. package/src/sap/ui/mdc/messagebundle_no.properties +53 -12
  154. package/src/sap/ui/mdc/messagebundle_pl.properties +46 -5
  155. package/src/sap/ui/mdc/messagebundle_pt.properties +52 -11
  156. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +45 -4
  157. package/src/sap/ui/mdc/messagebundle_ro.properties +45 -4
  158. package/src/sap/ui/mdc/messagebundle_ru.properties +45 -4
  159. package/src/sap/ui/mdc/messagebundle_sh.properties +45 -4
  160. package/src/sap/ui/mdc/messagebundle_sk.properties +45 -4
  161. package/src/sap/ui/mdc/messagebundle_sl.properties +45 -4
  162. package/src/sap/ui/mdc/messagebundle_sv.properties +47 -6
  163. package/src/sap/ui/mdc/messagebundle_th.properties +48 -7
  164. package/src/sap/ui/mdc/messagebundle_tr.properties +45 -4
  165. package/src/sap/ui/mdc/messagebundle_uk.properties +49 -8
  166. package/src/sap/ui/mdc/messagebundle_vi.properties +45 -4
  167. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +46 -5
  168. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +45 -4
  169. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +19 -5
  170. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
  171. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +16 -11
  172. package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -3
  173. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
  174. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +29 -483
  175. package/src/sap/ui/mdc/odata/v4/{ChartPropertyHelperNew.js → ChartPropertyHelper.js} +5 -5
  176. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +160 -116
  177. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +1 -1
  178. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
  179. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
  180. package/src/sap/ui/mdc/odata/v4/vizChart/{ChartDelegateNew.js → ChartDelegate.js} +215 -116
  181. package/src/sap/ui/mdc/p13n/Engine.js +61 -20
  182. package/src/sap/ui/mdc/p13n/FlexUtil.js +11 -118
  183. package/src/sap/ui/mdc/p13n/P13nBuilder.js +8 -8
  184. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +21 -10
  185. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  186. package/src/sap/ui/mdc/p13n/StateUtil.js +40 -6
  187. package/src/sap/ui/mdc/p13n/UIManager.js +15 -12
  188. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +4 -1
  189. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +9 -6
  190. package/src/sap/ui/mdc/p13n/{DefaultProviderRegistry.js → modules/DefaultProviderRegistry.js} +2 -2
  191. package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +86 -0
  192. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +19 -3
  193. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1092 -48
  194. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +72 -0
  195. package/src/sap/ui/mdc/p13n/panels/ListView.js +6 -2
  196. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +6 -5
  197. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +1 -1
  198. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +156 -11
  199. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +15 -26
  200. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +6 -5
  201. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +14 -7
  202. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +173 -0
  203. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +10 -17
  204. package/src/sap/ui/mdc/table/Column.js +35 -10
  205. package/src/sap/ui/mdc/table/CreationRow.js +14 -13
  206. package/src/sap/ui/mdc/table/GridTableType.js +13 -13
  207. package/src/sap/ui/mdc/table/PropertyHelper.js +64 -27
  208. package/src/sap/ui/mdc/table/ResponsiveTableType.js +26 -29
  209. package/src/sap/ui/mdc/table/RowSettings.js +7 -5
  210. package/src/sap/ui/mdc/table/TableTypeBase.js +6 -6
  211. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +15 -71
  212. package/src/sap/ui/mdc/themes/base/Chart.less +3 -0
  213. package/src/sap/ui/mdc/themes/base/FieldBase.less +0 -5
  214. package/src/sap/ui/mdc/themes/base/TokenDisplay.less +89 -0
  215. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +90 -0
  216. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +15 -4
  217. package/src/sap/ui/mdc/themes/base/library.source.less +3 -0
  218. package/src/sap/ui/mdc/ui/Container.js +2 -2
  219. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  220. package/src/sap/ui/mdc/util/Common.js +1 -1
  221. package/src/sap/ui/mdc/util/DateUtil.js +1 -1
  222. package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
  223. package/src/sap/ui/mdc/util/FormatUtil.js +3 -3
  224. package/src/sap/ui/mdc/util/IdentifierUtil.js +6 -6
  225. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  226. package/src/sap/ui/mdc/util/PropertyHelper.js +148 -325
  227. package/src/sap/ui/mdc/util/TypeUtil.js +5 -4
  228. package/src/sap/ui/mdc/valuehelp/Dialog.js +12 -8
  229. package/src/sap/ui/mdc/valuehelp/Popover.js +14 -2
  230. package/src/sap/ui/mdc/valuehelp/base/Container.js +33 -1
  231. package/src/sap/ui/mdc/valuehelp/base/Content.js +36 -5
  232. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -1
  233. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +43 -15
  234. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -1
  235. package/src/sap/ui/mdc/valuehelp/content/Bool.js +2 -1
  236. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +28 -32
  237. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +11 -5
  238. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +50 -10
  239. package/src/sap/ui/mdc/valuehelp/content/MTable.js +57 -26
  240. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -1
  241. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +3 -3
  242. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsBase.js +3 -3
  243. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsViz.js +0 -0
  244. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsBase.js +1 -1
  245. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsViz.js +0 -0
  246. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ChartNew.js +0 -0
  247. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +289 -0
  248. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +7 -7
  249. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +9 -9
  250. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +12 -11
  251. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +85 -0
  252. package/test/sap/ui/mdc/testutils/opa/link/Assertions.js +79 -0
  253. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +112 -0
  254. package/test/sap/ui/mdc/testutils/opa/link/waitForLink.js +50 -0
  255. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +362 -233
  256. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +27 -26
  257. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +54 -0
  258. package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +5 -0
  259. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +40 -0
  260. package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +28 -0
  261. package/src/sap/ui/mdc/ChartDelegateNew.js +0 -395
  262. package/src/sap/ui/mdc/ChartNew.js +0 -1114
  263. package/src/sap/ui/mdc/ChartNewRenderer.js +0 -91
  264. package/src/sap/ui/mdc/chart/DimensionItem.js +0 -281
  265. package/src/sap/ui/mdc/chart/MeasureItem.js +0 -318
  266. package/src/sap/ui/mdc/chart/MetadataDelegate.js +0 -31
  267. package/src/sap/ui/mdc/chart/SelectionHandler.js +0 -127
  268. package/src/sap/ui/mdc/chart/ToolbarHandler.js +0 -328
  269. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +0 -295
  270. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +0 -212
  271. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -72
  272. package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +0 -34
  273. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +0 -91
  274. package/src/sap/ui/mdc/link/SelectionDialog.control.xml +0 -66
  275. package/src/sap/ui/mdc/link/SelectionDialog.js +0 -213
  276. package/src/sap/ui/mdc/link/SelectionDialogItem.js +0 -86
  277. package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +0 -35
  278. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +0 -1171
  279. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +0 -111
  280. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +0 -322
  281. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +0 -133
  282. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +0 -203
@@ -5,26 +5,32 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "../ChartDelegateNew",
8
+ "../ChartDelegate",
9
9
  "../../../util/loadModules",
10
10
  "sap/ui/core/Core",
11
+ "sap/m/library",
11
12
  "sap/m/Text",
12
13
  "sap/ui/mdc/library",
13
14
  "sap/ui/mdc/odata/v4/ODataMetaModelUtil",
14
15
  "sap/base/Log",
15
16
  'sap/ui/mdc/util/FilterUtil',
16
17
  'sap/ui/mdc/odata/v4/util/DelegateUtil',
17
- "sap/ui/mdc/chartNew/ChartTypeButtonNew",
18
- "sap/ui/mdc/chartNew/ItemNew",
18
+ "sap/ui/mdc/chart/ChartTypeButton",
19
+ "sap/ui/mdc/chart/Item",
19
20
  "sap/ui/model/Sorter",
20
21
  "sap/m/VBox",
21
22
  "sap/ui/base/ManagedObjectObserver",
22
23
  "sap/ui/core/ResizeHandler",
23
- "sap/ui/mdc/p13n/panels/ChartItemPanelNew"
24
+ "sap/ui/mdc/p13n/panels/ChartItemPanel",
25
+ "sap/m/MessageStrip",
26
+ "../TypeUtil",
27
+ "../FilterBarDelegate",
28
+ "sap/ui/model/Filter"
24
29
  ], function (
25
30
  V4ChartDelegate,
26
31
  loadModules,
27
32
  Core,
33
+ mobileLibrary,
28
34
  Text,
29
35
  MDCLib,
30
36
  ODataMetaModelUtil,
@@ -37,21 +43,27 @@ sap.ui.define([
37
43
  VBox,
38
44
  ManagedObjectObserver,
39
45
  ResizeHandler,
40
- ChartItemPanel
46
+ ChartItemPanel,
47
+ MessageStrip,
48
+ V4TypeUtil,
49
+ V4FilterBarDelegate,
50
+ Filter
41
51
  ) {
42
52
  "use strict";
43
53
  /**
44
- * Delegate class for sap.ui.mdc.ChartNew and ODataV4.
54
+ * Delegate class for sap.ui.mdc.Chart and ODataV4.
45
55
  * Enables additional analytical capabilities.
46
56
  * <b>Note:</b> The class is experimental and the API/behavior is not finalized.
47
57
  *
48
58
  * @author SAP SE
49
59
  * @private
50
60
  * @since 1.88
51
- * @alias sap.ui.mdc.odata.v4.vizChart.ChartDelegateNew
61
+ * @alias sap.ui.mdc.odata.v4.vizChart.ChartDelegate
52
62
  */
53
63
  var ChartDelegate = Object.assign({}, V4ChartDelegate);
54
64
 
65
+ var FlexJustifyContent = mobileLibrary.FlexJustifyContent;
66
+ var FlexAlignItems = mobileLibrary.FlexAlignItems;
55
67
 
56
68
  var mStateMap = new window.WeakMap();
57
69
  //var ChartLibrary;
@@ -76,6 +88,14 @@ sap.ui.define([
76
88
  mStateMap.set(oMDCChart, oState);
77
89
  };
78
90
 
91
+ ChartDelegate.getTypeUtil = function() {
92
+ return V4TypeUtil;
93
+ };
94
+
95
+ ChartDelegate.getFilterDelegate = function() {
96
+ return V4FilterBarDelegate;
97
+ };
98
+
79
99
  ChartDelegate._deleteState = function(oMDCChart) {
80
100
 
81
101
  if (this._getState(oMDCChart).vizTooltip) {
@@ -170,36 +190,6 @@ sap.ui.define([
170
190
  * ...
171
191
  */
172
192
 
173
- /**
174
- * Provides the table's filter delegate that provides basic filter functionality such as adding filter fields.
175
- * <b>Note:</b> The functionality provided in this delegate should act as a subset of a FilterBarDelegate
176
- * to enable the table for inbuilt filtering.
177
- *
178
- * @example <caption>Example usage of <code>getFilterDelegate</code></caption>
179
- * oFilterDelegate = {
180
- * addItem: function() {
181
- * var oFilterFieldPromise = new Promise(...);
182
- * return oFilterFieldPromise;
183
- * }
184
- * }
185
- * @returns {Object} Object for the chart filter personalization
186
- * @public
187
- */
188
- ChartDelegate.getFilterDelegate = function () {
189
- return {
190
- /**
191
- *
192
- * @param {String} sPropertyName The property name
193
- * @param {Object} oMDCChart Instance of the chart TODO: Which one? MDC or inner?
194
- *
195
- * @returns {Promise} Promise that resolves with an instance of a <code>sap.ui.mdc.FilterField</code>.
196
- * For more information, see {@link sap.ui.mdc.AggregationBaseDelegate#addItem AggregationBaseDelegate}.
197
- */
198
- addItem: function (sPropertyName, oMDCChart) {
199
- return Promise.resolve(null);
200
- }
201
- };
202
- };
203
193
 
204
194
  ChartDelegate.exit = function(oMDCChart) {
205
195
  if (this._getInnerStructure(oMDCChart)){
@@ -325,13 +315,20 @@ sap.ui.define([
325
315
  //var aRolesAvailable = [MDCLib.ChartItemRoleType.axis1, MDCLib.ChartItemRoleType.axis2, MDCLib.ChartItemRoleType.axis3, MDCLib.ChartItemRoleType.category, MDCLib.ChartItemRoleType.category2, MDCLib.ChartItemRoleType.series];
326
316
  var oArguments = {panelConfig: oLayoutConfig};
327
317
 
328
- return Promise.resolve(new ChartItemPanel(oArguments));
318
+ var oPanel = new ChartItemPanel(oArguments);
319
+
320
+ if (oMDCChart.getChartType() === "heatmap"){
321
+ var MDCRb = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
322
+ oPanel.setMessageStrip(new MessageStrip({text: MDCRb.getText("chart.PERSONALIZATION_DIALOG_MEASURE_WARNING"), type:"Warning"}));
323
+ }
324
+
325
+ return Promise.resolve(oPanel);
329
326
  };
330
327
 
331
328
  /**
332
329
  * Sets the visibility of the legend
333
330
  * This is called by the MDC Chart, do not call it directly!
334
- * @param {bool} bVisible true to show legend, false to hide
331
+ * @param {boolean} bVisible true to show legend, false to hide
335
332
  *
336
333
  * @experimental
337
334
  * @private
@@ -354,7 +351,7 @@ sap.ui.define([
354
351
 
355
352
  /**
356
353
  * Creates a Sorter for given Property
357
- * @param {sap.ui.mdc.ChartNew.ItemNew} oMDCItem the MDC Item to create a Sorter for
354
+ * @param {sap.ui.mdc.Chart.Item} oMDCItem the MDC Item to create a Sorter for
358
355
  * @param {object} oSortProperty the sorting information
359
356
  */
360
357
  ChartDelegate.getSorterForItem = function (oMDCItem, oSortProperty) {
@@ -365,7 +362,7 @@ sap.ui.define([
365
362
  if (oMDCItem.getType() === "aggregatable") {
366
363
  return new Sorter(this._getAggregatedMeasureNameForMDCItem(oMDCItem), oSortProperty.descending);
367
364
  } else if (oMDCItem.getType() === "groupable") {
368
- return new Sorter(oSortProperty.name, oSortProperty.descending);
365
+ return new Sorter(this.getInternalChartNameFromPropertyNameAndKind(oSortProperty.name, "groupable", oMDCItem.getParent()), oSortProperty.descending);
369
366
  }
370
367
 
371
368
  };
@@ -373,14 +370,15 @@ sap.ui.define([
373
370
  /**
374
371
  * Inserts an MDC Chart Item (in case of sap.chart.Chart a Measure/Dimension) on the inner chart
375
372
  * This function is called by MDC Chart on a change of the <code>Items</code> aggregation
376
- * @param {sap.ui.mdc.chartNew-ItemNew} oMDCChartItem the MDC CHart Item to insert into the inner chart
373
+ * @param {sap.ui.mdc.chart-Item} oMDCChartItem the MDC CHart Item to insert into the inner chart
377
374
  * @param {int} iIndex the index to insert into
378
375
  */
379
376
  ChartDelegate.insertItemToInnerChart = function (oMDCChart, oMDCChartItem, iIndex) {
380
377
  //TODO: Create Measures/Dimension only when required?
381
378
  if (oMDCChartItem.getType() === "groupable") {
382
379
 
383
- var oDim = this._getChart(oMDCChart).getDimensionByName(oMDCChartItem.getName());
380
+ var sInnerDimName = this.getInternalChartNameFromPropertyNameAndKind(oMDCChartItem.getName(), "groupable", oMDCChart);
381
+ var oDim = this._getChart(oMDCChart).getDimensionByName(sInnerDimName);
384
382
 
385
383
  if (!oDim) {
386
384
  this.createInnerDimension(oMDCChart, oMDCChartItem);
@@ -391,7 +389,7 @@ sap.ui.define([
391
389
  }
392
390
 
393
391
  var aVisibleDimension = this._getChart(oMDCChart).getVisibleDimensions();
394
- aVisibleDimension.splice(iIndex, 0, oMDCChartItem.getName()); //Insert Item without deleting existing dimension
392
+ aVisibleDimension.splice(iIndex, 0, sInnerDimName); //Insert Item without deleting existing dimension
395
393
  this._getChart(oMDCChart).setVisibleDimensions(aVisibleDimension);
396
394
 
397
395
  } else if (oMDCChartItem.getType() === "aggregatable") {
@@ -414,16 +412,18 @@ sap.ui.define([
414
412
  /**
415
413
  * Removes an Item (in case of sap.chart.Chart a Measure/Dimension) from the inner chart
416
414
  * This function is called by MDC Chart on a change of the <code>Items</code> aggregation
417
- * @param {sap.ui.mdc.chartNew.ItemNew} oMDCChartItem The Item to remove from the inner chart
415
+ * @param {sap.ui.mdc.chart.Item} oMDCChartItem The Item to remove from the inner chart
418
416
  */
419
417
  ChartDelegate.removeItemFromInnerChart = function (oMDCChart, oMDCChartItem) {
420
- if (oMDCChartItem.getType() === "groupable" && this._getChart(oMDCChart).getVisibleDimensions().includes(oMDCChartItem.getName())) {
418
+ if (oMDCChartItem.getType() === "groupable" && this._getChart(oMDCChart).getVisibleDimensions().includes(this.getInternalChartNameFromPropertyNameAndKind(oMDCChartItem.getName(), "groupable", oMDCChart))) {
419
+ var sInnerDimName = this.getInternalChartNameFromPropertyNameAndKind(oMDCChartItem.getName(), "groupable", oMDCChart);
420
+
421
421
  var aNewVisibleDimensions = this._getChart(oMDCChart).getVisibleDimensions().filter(function (e) {
422
- return e !== oMDCChartItem.getName();
422
+ return e !== sInnerDimName;
423
423
  });
424
424
 
425
- if (oMDCChart.getDelegate().inResultDimensions && oMDCChart.getDelegate().inResultDimensions instanceof Array) {
426
- this._getChart(oMDCChart).setInResultDimensions(oMDCChart.getDelegate().inResultDimensions);
425
+ if (this._getState(oMDCChart).inResultDimensions.length > 0) {
426
+ this._getChart(oMDCChart).setInResultDimensions(this._getState(oMDCChart).inResultDimensions);
427
427
  }
428
428
 
429
429
  this._getChart(oMDCChart).setVisibleDimensions(aNewVisibleDimensions);
@@ -451,7 +451,7 @@ sap.ui.define([
451
451
  * (Does NOT add the MDC CHart Item to the Item aggregation of the MDC Chart)
452
452
  * Called by p13n
453
453
  * @param {string} sPropertyName the name of the property added
454
- * @param {sap.ui.mdc.ChartNew} oMDCChart reference to the MDC Chart to add the property to
454
+ * @param {sap.ui.mdc.Chart} oMDCChart reference to the MDC Chart to add the property to
455
455
  * @returns {Promise} Promise that resolves with new MDC Chart Item as parameter
456
456
  */
457
457
  ChartDelegate.addItem = function (sPropertyName, oMDCChart, mPropertyBag, sRole) {
@@ -467,6 +467,8 @@ sap.ui.define([
467
467
 
468
468
  ChartDelegate._createMDCChartItem = function (sPropertyName, oMDCChart, sRole) {
469
469
  return this.fetchProperties(oMDCChart).then(function (aProperties) {
470
+
471
+ //Uses excact MDC Chart Item id
470
472
  var oPropertyInfo = aProperties.find(function (oCurrentPropertyInfo) {
471
473
  return oCurrentPropertyInfo.name === sPropertyName;
472
474
  });
@@ -511,10 +513,12 @@ sap.ui.define([
511
513
 
512
514
  this._loadChart().then(function (aModules) {
513
515
 
516
+ var sVBoxHeight = this._calculateInnerChartHeight(oMDCChart);
517
+
514
518
  this._setInnerStructure(oMDCChart, new VBox({
515
519
  justifyContent: "Center",
516
520
  alignItems: "Center",
517
- height: "100%",
521
+ height: sVBoxHeight,
518
522
  width: "100%"
519
523
  }));
520
524
  var oText = new Text();
@@ -531,7 +535,7 @@ sap.ui.define([
531
535
 
532
536
  /**
533
537
  * Creates initial content for the chart, while metadata has not been retrieved yet
534
- * @param {sap.ui.mdc.chartNew} oMDCChart the MDC Chart
538
+ * @param {sap.ui.mdc.chart} oMDCChart the MDC Chart
535
539
  */
536
540
  ChartDelegate.createInitialChartContent = function(oMDCChart) {
537
541
  //Not relevant for sap.chart.Chart
@@ -546,6 +550,7 @@ sap.ui.define([
546
550
  var aVisibleMeasures = [];
547
551
  oMDCChart.getItems().forEach(function (oItem, iIndex) {
548
552
 
553
+ //Uses excact mdc chart item id
549
554
  var oPropertyInfo = aProperties.find(function (oCurrentPropertyInfo) {
550
555
  return oCurrentPropertyInfo.name === oItem.getName();
551
556
  });
@@ -558,7 +563,8 @@ sap.ui.define([
558
563
 
559
564
  switch (oItem.getType()) {
560
565
  case "groupable":
561
- aVisibleDimensions.push(oItem.getName());
566
+ aVisibleDimensions.push(this.getInternalChartNameFromPropertyNameAndKind(oItem.getName(), "groupable", oMDCChart));
567
+
562
568
  this._addInnerDimension(oMDCChart, oItem, oPropertyInfo);
563
569
  break;
564
570
  case "aggregatable":
@@ -580,15 +586,14 @@ sap.ui.define([
580
586
 
581
587
  if (this._getState(oMDCChart).aInSettings.indexOf(sKey) == -1) {
582
588
 
583
- var oPropertyInfo = aProperties.find(function (oCurrentPropertyInfo) {
584
- return oCurrentPropertyInfo.name === sKey;
585
- });
589
+ var oPropertyInfo = oMDCChart.getPropertyHelper().getProperty(sKey); //this.getPropertyFromNameAndKind not used as the key is the name of the MDC Chart Item
586
590
 
587
591
  var aggregationMethod = oPropertyInfo.aggregationMethod;
588
592
  var propertyPath = oPropertyInfo.propertyPath;
593
+ var sName = this.getInternalChartNameFromPropertyNameAndKind(sKey, "aggregatable", oMDCChart);
589
594
 
590
595
  var oMeasureSettings = {
591
- name: sKey,
596
+ name: sName,
592
597
  label: oPropertyInfo.label,
593
598
  role: "axis1"
594
599
  };
@@ -612,7 +617,7 @@ sap.ui.define([
612
617
  this._getChart(oMDCChart).setVisibleDimensions(aVisibleDimensions);
613
618
  this._getChart(oMDCChart).setVisibleMeasures(aVisibleMeasures);
614
619
 
615
- var aInResultDimensions = oMDCChart.getDelegate().inResultDimensions;
620
+ var aInResultDimensions = oMDCChart.getDelegate().inResultDimensions; //TODO: Does this use internal name? If so, change _getPropertyInfosByName below; Most likely not the case
616
621
  if (aInResultDimensions && aInResultDimensions instanceof Array && aInResultDimensions.length != 0) {
617
622
 
618
623
  var aInResultPromises = [];
@@ -620,18 +625,21 @@ sap.ui.define([
620
625
  aInResultDimensions.forEach(function(sInResultDim){
621
626
 
622
627
  aInResultPromises.push(this._getPropertyInfosByName(sInResultDim, oMDCChart).then(function(oPropertyInfos){
628
+ var sName = this.getInternalChartNameFromPropertyNameAndKind(oPropertyInfos.name, "groupable", oMDCChart);
629
+
623
630
  var oDim = new Dimension({
624
- name: oPropertyInfos.name,
631
+ name: sName,
625
632
  label: oPropertyInfos.label
626
633
  });
627
634
 
635
+ this._getState(oMDCChart).inResultDimensions.push(sName);
628
636
  this._getChart(oMDCChart).addDimension(oDim);
629
637
  }.bind(this)));
630
638
 
631
639
  }.bind(this));
632
640
 
633
641
  Promise.all(aInResultPromises).then(function(){
634
- this._getChart(oMDCChart).setInResultDimensions(oMDCChart.getDelegate().inResultDimensions);
642
+ this._getChart(oMDCChart).setInResultDimensions(this._getState(oMDCChart).inResultDimensions);
635
643
  }.bind(this));
636
644
 
637
645
  }
@@ -656,6 +664,7 @@ sap.ui.define([
656
664
 
657
665
  if (oItem.getType === "aggregatable") {
658
666
 
667
+ //Uses excact MDC CHart Item name
659
668
  this._getPropertyInfosByName(oItem.getName(), oItem.getParent()).then(function (oPropertyInfo) {
660
669
  for (var j = 0; j < this._getAdditionalColoringMeasuresForItem(oPropertyInfo); j++) {
661
670
 
@@ -693,6 +702,7 @@ sap.ui.define([
693
702
  */
694
703
  ChartDelegate._addCriticality = function (oItem) {
695
704
 
705
+ //Uses excact MDC Chart item name to idenfiy property
696
706
  return this._getPropertyInfosByName(oItem.getName(), oItem.getParent()).then(function (oPropertyInfo) {
697
707
 
698
708
  if (oPropertyInfo.criticality || (oPropertyInfo.datapoint && oPropertyInfo.datapoint.criticality)){
@@ -716,7 +726,8 @@ sap.ui.define([
716
726
  };
717
727
  }
718
728
 
719
- oColorings.Criticality.DimensionValues[oItem.getName()] = mChartCrit;
729
+ var sDimName = this.getInternalChartNameFromPropertyNameAndKind(oItem.getName(), "groupable", oItem.getParent());
730
+ oColorings.Criticality.DimensionValues[sDimName] = mChartCrit;
720
731
 
721
732
  } else {
722
733
  var mCrit = oPropertyInfo.datapoint && oPropertyInfo.datapoint.criticality ? oPropertyInfo.datapoint.criticality : [];
@@ -725,7 +736,8 @@ sap.ui.define([
725
736
  mChartCrit[sKey] = mCrit[sKey];
726
737
  }
727
738
 
728
- oColorings.Criticality.MeasureValues[oItem.getName()] = mChartCrit;
739
+ var sMeasureName = this.getInternalChartNameFromPropertyNameAndKind(oItem.getName(), "aggregatable", oItem.getParent());
740
+ oColorings.Criticality.MeasureValues[sMeasureName] = mChartCrit;
729
741
  }
730
742
 
731
743
  var oState = this._getState(oItem.getParent());
@@ -812,9 +824,7 @@ sap.ui.define([
812
824
 
813
825
  aVisibleMeasures.forEach(function(sVisibleMeasureName){
814
826
  //first draft only with semantic pattern
815
- var oPropertyInfo = aProperties.find(function (oCurrentPropertyInfo) {
816
- return oCurrentPropertyInfo.name === sVisibleMeasureName;
817
- });
827
+ var oPropertyInfo = this.getPropertyFromNameAndKind(sVisibleMeasureName, "aggregatable", oMDCChart);
818
828
 
819
829
  if (!oPropertyInfo){
820
830
  return;
@@ -933,7 +943,23 @@ sap.ui.define([
933
943
  */
934
944
  ChartDelegate.getDrillStack = function (oMDCChart) {
935
945
  //TODO: Generify the return values here for other chart frameworks
936
- return this._getChart(oMDCChart).getDrillStack();
946
+ var aDrillStack = [];
947
+ aDrillStack = Object.assign(aDrillStack, this._getChart(oMDCChart).getDrillStack());
948
+
949
+ aDrillStack.forEach(function(oStackEntry) {
950
+ // loop over nested dimension arrays -> give them the correct name for filtering
951
+ oStackEntry.dimension = oStackEntry.dimension.map(function(sDimension) {
952
+ var oProp = this.getPropertyFromNameAndKind(sDimension, "groupable", oMDCChart);
953
+ if (oProp) {
954
+ return oProp.name;
955
+ } else {
956
+ Log.error("MDC Chart Delegate: Couldn't map chart dimension to groupable property: " + sDimension);
957
+ return sDimension;
958
+ }
959
+ }.bind(this));
960
+ }.bind(this));
961
+
962
+ return aDrillStack;
937
963
  };
938
964
 
939
965
  /**
@@ -966,7 +992,7 @@ sap.ui.define([
966
992
  * Determines which MDC Items are Drillable and returns them
967
993
  * Used by breadcrumbs
968
994
  *
969
- * @param {sap.ui.mdc.ChartNew} oMDCChart the MDC Chart to get the Items from
995
+ * @param {sap.ui.mdc.Chart} oMDCChart the MDC Chart to get the Items from
970
996
  * @returns {array} Array of MDC Items which are drillable
971
997
  *
972
998
  */
@@ -998,6 +1024,9 @@ sap.ui.define([
998
1024
  isAnalytical: true//,
999
1025
  }));
1000
1026
 
1027
+ //Initialize empty; will get filled later on
1028
+ this._getState(oMDCChart).inResultDimensions = [];
1029
+
1001
1030
  if (oMDCChart.getHeight()){
1002
1031
  this._getChart(oMDCChart).setHeight(this._calculateInnerChartHeight(oMDCChart));
1003
1032
  }
@@ -1025,8 +1054,8 @@ sap.ui.define([
1025
1054
  }.bind(this));
1026
1055
 
1027
1056
  this._getInnerStructure(oMDCChart).removeAllItems();
1028
- this._getInnerStructure(oMDCChart).setJustifyContent(sap.m.FlexJustifyContent.Start);
1029
- this._getInnerStructure(oMDCChart).setAlignItems(sap.m.FlexAlignItems.Stretch);
1057
+ this._getInnerStructure(oMDCChart).setJustifyContent(FlexJustifyContent.Start);
1058
+ this._getInnerStructure(oMDCChart).setAlignItems(FlexAlignItems.Stretch);
1030
1059
  this._getInnerStructure(oMDCChart).addItem(this._getChart(oMDCChart));
1031
1060
 
1032
1061
  oState.dataLoadedCallback = fnCallbackDataLoaded;
@@ -1034,7 +1063,7 @@ sap.ui.define([
1034
1063
  this._setState(oMDCChart, oState);
1035
1064
  var oBindingInfo = this._getBindingInfo(oMDCChart);
1036
1065
  this.updateBindingInfo(oMDCChart, oBindingInfo); //Applies filters
1037
- this.rebindChart(oMDCChart, oBindingInfo);
1066
+ this.rebind(oMDCChart, oBindingInfo);
1038
1067
  };
1039
1068
 
1040
1069
  ChartDelegate._calculateInnerChartHeight = function(oMDCChart) {
@@ -1066,7 +1095,10 @@ sap.ui.define([
1066
1095
  */
1067
1096
  ChartDelegate.adjustChartHeight = function(oMDCChart){
1068
1097
  if (oMDCChart.getHeight() && this._getChart(oMDCChart)){
1069
- this._getChart(oMDCChart).setHeight(this._calculateInnerChartHeight(oMDCChart));
1098
+ var sHeight = this._calculateInnerChartHeight(oMDCChart);
1099
+
1100
+ this._getInnerStructure(oMDCChart).setHeight(sHeight);
1101
+ this._getChart(oMDCChart).setHeight(sHeight);
1070
1102
  }
1071
1103
  };
1072
1104
 
@@ -1080,6 +1112,7 @@ sap.ui.define([
1080
1112
 
1081
1113
  this.fetchProperties(oMDCChartItem.getParent()).then(function (aProperties) {
1082
1114
 
1115
+ //Uses MDC Chart Item ID to identify preoperty, not internal chart id
1083
1116
  var oPropertyInfo = aProperties.find(function (oCurrentPropertyInfo) {
1084
1117
  return oCurrentPropertyInfo.name === oMDCChartItem.getName();
1085
1118
  });
@@ -1094,6 +1127,7 @@ sap.ui.define([
1094
1127
 
1095
1128
  this.fetchProperties(oMDCChartItem.getParent()).then(function (aProperties) {
1096
1129
 
1130
+ //Uses MDC Chart Item ID to identify preoperty, not internal chart id
1097
1131
  var oPropertyInfo = aProperties.find(function (oCurrentPropertyInfo) {
1098
1132
  return oCurrentPropertyInfo.name === oMDCChartItem.getName();
1099
1133
  });
@@ -1109,7 +1143,7 @@ sap.ui.define([
1109
1143
  */
1110
1144
  ChartDelegate._addInnerDimension = function(oMDCChart, oMDCChartItem, oPropertyInfo) {
1111
1145
  var oDimension = new Dimension({
1112
- name: oMDCChartItem.getName(),
1146
+ name: this.getInternalChartNameFromPropertyNameAndKind(oMDCChartItem.getName(), "groupable", oMDCChart),
1113
1147
  role: oMDCChartItem.getRole() ? oMDCChartItem.getRole() : "category",
1114
1148
  label: oMDCChartItem.getLabel()
1115
1149
  });
@@ -1133,7 +1167,7 @@ sap.ui.define([
1133
1167
  var propertyPath = oPropertyInfo.propertyPath;
1134
1168
 
1135
1169
  var oMeasureSettings = {
1136
- name: this._getAggregatedMeasureNameForMDCItem(oMDCChartItem),//"average" + oItem.getName(),
1170
+ name: this._getAggregatedMeasureNameForMDCItem(oMDCChartItem),//aggregationMethod + oItem.getName() under normal circumstances
1137
1171
  label: oMDCChartItem.getLabel(),
1138
1172
  role: oMDCChartItem.getRole() ? oMDCChartItem.getRole() : "axis1"
1139
1173
  };
@@ -1157,10 +1191,21 @@ sap.ui.define([
1157
1191
  /**
1158
1192
  * Checks the binding of the table and rebinds it if required.
1159
1193
  *
1160
- * @param {sap.ui.mdc.ChartNew} oMDCChart The MDC chart instance
1194
+ * @param {sap.ui.mdc.Chart} oMDCChart The MDC chart instance
1195
+ * @param {object} oBindingInfo The bindingInfo of the chart
1196
+ * @deprecated as of 1.98; use rebind instead
1197
+ */
1198
+ ChartDelegate.rebindChart = function (oMDCChart, oBindingInfo) {
1199
+ this.rebind(oMDCChart, oBindingInfo);
1200
+ };
1201
+
1202
+ /**
1203
+ * Checks the binding of the table and rebinds it if required.
1204
+ *
1205
+ * @param {sap.ui.mdc.Chart} oMDCChart The MDC chart instance
1161
1206
  * @param {object} oBindingInfo The bindingInfo of the chart
1162
1207
  */
1163
- ChartDelegate.rebindChart = function (oMDCChart, oBindingInfo) {
1208
+ ChartDelegate.rebind = function (oMDCChart, oBindingInfo) {
1164
1209
  if (oMDCChart && oBindingInfo && this._getChart(oMDCChart)) {
1165
1210
  //TODO: bindData sap.chart.Chart specific and therefore needs to be changed to a general API.
1166
1211
  this._addBindingListener(oBindingInfo, "dataReceived", this._getState(oMDCChart).dataLoadedCallback.bind(oMDCChart));
@@ -1196,7 +1241,7 @@ sap.ui.define([
1196
1241
 
1197
1242
  /**
1198
1243
  * Returns whether the inner chart is currently bound
1199
- * @returns {bool} true if inner chart is bound; false if not
1244
+ * @returns {boolean} true if inner chart is bound; false if not
1200
1245
  */
1201
1246
  ChartDelegate.getInnerChartBound = function (oMDCChart) {
1202
1247
  var oState = this._getState(oMDCChart);
@@ -1215,51 +1260,101 @@ sap.ui.define([
1215
1260
  * @param {Object} oBindingInfo The binding info of the chart
1216
1261
  */
1217
1262
  ChartDelegate.updateBindingInfo = function (oMDCChart, oBindingInfo) {
1218
- var oFilter = Core.byId(oMDCChart.getFilter());
1219
- if (oFilter) {
1220
- var mConditions = oFilter.getConditions();
1263
+ var aFilters = createInnerFilters.call(this, oMDCChart).concat(createOuterFilters.call(this, oMDCChart));
1264
+ addSearchParameter(oMDCChart, oBindingInfo);
1265
+ oBindingInfo.filters = new Filter(aFilters, true);
1266
+ };
1221
1267
 
1222
- if (mConditions) {
1268
+ function createInnerFilters(oChart) {
1269
+ var bFilterEnabled = oChart.getP13nMode().indexOf("Filter") > -1;
1270
+ var aFilters = [];
1223
1271
 
1224
- if (!oBindingInfo) {
1225
- oBindingInfo = {};
1226
- }
1272
+ if (bFilterEnabled) {
1273
+ var aChartProperties = oChart.getPropertyHelper().getProperties();
1274
+ var oInnerFilterInfo = FilterUtil.getFilterInfo(this.getTypeUtil(), oChart.getConditions(), aChartProperties);
1227
1275
 
1228
- var aPropertiesMetadata = oFilter.getPropertyInfoSet ? oFilter.getPropertyInfoSet() : null;
1229
- var aParameterNames = DelegateUtil.getParameterNames(oFilter);
1230
- var oFilterInfo = FilterUtil.getFilterInfo(ChartDelegate.getTypeUtil(), mConditions, aPropertiesMetadata, aParameterNames);
1231
- if (oFilterInfo) {
1232
- oBindingInfo.filters = oFilterInfo.filters;
1233
- }
1276
+ if (oInnerFilterInfo.filters) {
1277
+ aFilters.push(oInnerFilterInfo.filters);
1278
+ }
1279
+ }
1234
1280
 
1235
- var sParameterPath = DelegateUtil.getParametersInfo(oFilter);
1236
- if (sParameterPath) {
1237
- oBindingInfo.path = sParameterPath;
1238
- }
1239
- }
1281
+ return aFilters;
1282
+ }
1240
1283
 
1241
- // get the basic search
1242
- var sSearchText = oFilter.getSearch instanceof Function ? oFilter.getSearch() : "";
1243
- if (sSearchText) {
1284
+ function createOuterFilters(oChart) {
1285
+ var oFilter = Core.byId(oChart.getFilter());
1286
+ var aFilters = [];
1244
1287
 
1245
- if (!oBindingInfo) {
1246
- oBindingInfo = {};
1247
- }
1288
+ if (!oFilter) {
1289
+ return aFilters;
1290
+ }
1248
1291
 
1249
- if (!oBindingInfo.parameters) {
1250
- oBindingInfo.parameters = {};
1251
- }
1252
- // add basic search parameter as expected by v4.ODataListBinding
1253
- oBindingInfo.parameters.$search = sSearchText;
1254
- } else if (oBindingInfo.parameters && oBindingInfo.parameters.$search) {
1255
- delete oBindingInfo.parameters.$search;
1256
- }
1292
+ var mConditions = oFilter.getConditions();
1293
+
1294
+ if (mConditions) {
1295
+ var aPropertiesMetadata = oFilter.getPropertyInfoSet ? oFilter.getPropertyInfoSet() : null;
1296
+ var aParameterNames = DelegateUtil.getParameterNames(oFilter);
1297
+ var oOuterFilterInfo = FilterUtil.getFilterInfo(this.getTypeUtil(), mConditions, aPropertiesMetadata, aParameterNames);
1298
+
1299
+ if (oOuterFilterInfo.filters) {
1300
+ aFilters.push(oOuterFilterInfo.filters);
1301
+ }
1302
+ }
1303
+
1304
+ return aFilters;
1305
+ }
1257
1306
 
1307
+ function addSearchParameter(oChart, oBindingInfo) {
1308
+ var oFilter = Core.byId(oChart.getFilter());
1309
+ if (!oFilter) {
1310
+ return;
1311
+ }
1312
+
1313
+ var mConditions = oFilter.getConditions();
1314
+ // get the basic search
1315
+ var sSearchText = oFilter.getSearch instanceof Function ? oFilter.getSearch() : "";
1316
+
1317
+ if (mConditions) {
1318
+ var sParameterPath = DelegateUtil.getParametersInfo(oFilter, mConditions);
1319
+ if (sParameterPath) {
1320
+ oBindingInfo.path = sParameterPath;
1321
+ }
1322
+ }
1323
+
1324
+ if (!oBindingInfo.parameters) {
1325
+ oBindingInfo.parameters = {};
1258
1326
  }
1259
- };
1327
+
1328
+ oBindingInfo.parameters["$search"] = sSearchText || undefined;
1329
+ }
1260
1330
 
1261
1331
  ChartDelegate._getAggregatedMeasureNameForMDCItem = function(oMDCItem){
1262
- return oMDCItem.getName();
1332
+ return this.getInternalChartNameFromPropertyNameAndKind(oMDCItem.getName(), "aggregatable", oMDCItem.getParent());
1333
+ };
1334
+
1335
+ /**
1336
+ * This function returns an id which should be used in the internal chart for the measure/dimension
1337
+ * In the standard case, this is just the id of the property.
1338
+ * If it is necessary to use another id internally inside the chart (e.g. on duplicate property ids) this method can be overwritten.
1339
+ * In this case, <code>getPropertyFromNameAndKind</code> needs to be overwritten aswell.
1340
+ * @param {string} sName ID of the property
1341
+ * @param {string} sKind Kind of the Property (Measure/Dimension)
1342
+ * @param {sap.ui.mdc.Chart} oMDCChart reference to the MDC Chart
1343
+ * @returns {string} internal id for the sap.chart.Chart
1344
+ */
1345
+ ChartDelegate.getInternalChartNameFromPropertyNameAndKind = function(sName, sKind, oMDCChart) {
1346
+ return sName;
1347
+ };
1348
+
1349
+ /**
1350
+ * This maps an id of an internal chart dimension/measure & kind of a property to its coresponding property entry.
1351
+ * @param {string} sName the id of internal chart measure/dimension
1352
+ * @param {string} sKind the kind of the property
1353
+ * @param {sap.ui.mdc.Chart} oMDCChart reference to the MDC Chart
1354
+ * @returns {object} the property object
1355
+ */
1356
+ ChartDelegate.getPropertyFromNameAndKind = function(sName, sKind, oMDCChart) {
1357
+ return oMDCChart.getPropertyHelper().getProperty(sName);
1263
1358
  };
1264
1359
 
1265
1360
  /**
@@ -1322,7 +1417,7 @@ sap.ui.define([
1322
1417
 
1323
1418
  /**
1324
1419
  * Sets tooltips visible/invisible on inner chart
1325
- * @param {bool} bFlag true for visible, false for invisible
1420
+ * @param {boolean} bFlag true for visible, false for invisible
1326
1421
  */
1327
1422
  ChartDelegate.setChartTooltipVisibility = function (oMDCChart, bFlag) {
1328
1423
 
@@ -1375,7 +1470,7 @@ sap.ui.define([
1375
1470
  /**
1376
1471
  * Initializes a new table property helper for V4 analytics with the property extensions merged into the property infos.
1377
1472
  *
1378
- * @param {sap.ui.mdc.ChartNew} oMDCChart reference to the MDC Chart
1473
+ * @param {sap.ui.mdc.Chart} oMDCChart reference to the MDC Chart
1379
1474
  * @returns {Promise<sap.ui.mdc.table.V4AnalyticsPropertyHelper>} A promise that resolves with the property helper.
1380
1475
  * @private
1381
1476
  * @ui5-restricted sap.ui.mdc
@@ -1384,7 +1479,7 @@ sap.ui.define([
1384
1479
  // TODO: Do this in the DelegateMixin, or provide a function in the base delegate to merge properties and extensions
1385
1480
  return Promise.all([
1386
1481
  this.fetchProperties(oMDCChart),
1387
- loadModules("sap/ui/mdc/odata/v4/ChartPropertyHelperNew")
1482
+ loadModules("sap/ui/mdc/odata/v4/ChartPropertyHelper")
1388
1483
  ]).then(function (aResult) {
1389
1484
  return Promise.all(aResult.concat(this.fetchPropertyExtensions(oMDCChart, aResult[0])));
1390
1485
  }.bind(this)).then(function (aResult) {
@@ -1414,7 +1509,7 @@ sap.ui.define([
1414
1509
  /**
1415
1510
  * Returns the relevant propery infos based on the metadata used with the MDC Chart instance.
1416
1511
  *
1417
- * @param {sap.ui.mdc.ChartNew} oMDCChart reference to the MDC Chart
1512
+ * @param {sap.ui.mdc.Chart} oMDCChart reference to the MDC Chart
1418
1513
  * @returns {array} Array of the property infos to be used within MDC Chart
1419
1514
  */
1420
1515
  ChartDelegate.fetchProperties = function (oMDCChart) {
@@ -1488,10 +1583,11 @@ sap.ui.define([
1488
1583
  }
1489
1584
 
1490
1585
  if (oPropertyAnnotations["@Org.OData.Aggregation.V1.Aggregatable"]){
1491
- aProperties = aProperties.concat(this._createPropertyInfosForAggregatable(sKey, oPropertyAnnotations, oFilterRestrictionsInfo, oSortRestrictionsInfo));
1586
+ aProperties = aProperties.concat(this._createPropertyInfosForAggregatable(sKey, oPropertyAnnotations, oObj, oFilterRestrictionsInfo, oSortRestrictionsInfo));
1492
1587
  }
1493
1588
 
1494
1589
  if (oPropertyAnnotations["@Org.OData.Aggregation.V1.Groupable"]) {
1590
+
1495
1591
  aProperties.push({
1496
1592
  name: sKey,
1497
1593
  propertyPath: sKey,
@@ -1502,6 +1598,7 @@ sap.ui.define([
1502
1598
  aggregatable: false,
1503
1599
  maxConditions: ODataMetaModelUtil.isMultiValueFilterExpression(oFilterRestrictionsInfo.propertyInfo[sKey]) ? -1 : 1,
1504
1600
  sortKey: sKey,
1601
+ typeConfig: this.getTypeUtil().getTypeConfig(oObj.$Type, null, {}),
1505
1602
  kind: "Groupable", //TODO: Rename in type; Only needed for P13n Item Panel
1506
1603
  availableRoles: this._getLayoutOptionsForType("groupable"), //for p13n
1507
1604
  role: MDCLib.ChartItemRoleType.category, //standard, normally this should be interpreted from UI.Chart annotation
@@ -1516,7 +1613,7 @@ sap.ui.define([
1516
1613
  }.bind(this));
1517
1614
  };
1518
1615
 
1519
- ChartDelegate._createPropertyInfosForAggregatable = function(sKey, oPropertyAnnotations, oFilterRestrictionsInfo, oSortRestrictionsInfo) {
1616
+ ChartDelegate._createPropertyInfosForAggregatable = function(sKey, oPropertyAnnotations, oObj, oFilterRestrictionsInfo, oSortRestrictionsInfo) {
1520
1617
  var aProperties = [];
1521
1618
 
1522
1619
  if (oPropertyAnnotations["@Org.OData.Aggregation.V1.SupportedAggregationMethods"]){
@@ -1532,6 +1629,7 @@ sap.ui.define([
1532
1629
  aggregationMethod: sAggregationMethod,
1533
1630
  maxConditions: ODataMetaModelUtil.isMultiValueFilterExpression(oFilterRestrictionsInfo.propertyInfo[sKey]) ? -1 : 1,
1534
1631
  sortKey: oPropertyAnnotations["@Org.OData.Aggregation.V1.RecommendedAggregationMethod"] + sKey,
1632
+ typeConfig: this.getTypeUtil().getTypeConfig(oObj.$Type, null, {}),
1535
1633
  kind: "Aggregatable",//Only needed for P13n Item Panel
1536
1634
  availableRoles: this._getLayoutOptionsForType("aggregatable"), //for p13n
1537
1635
  role: MDCLib.ChartItemRoleType.axis1,
@@ -1543,6 +1641,7 @@ sap.ui.define([
1543
1641
  return aProperties;
1544
1642
  };
1545
1643
 
1644
+ //Gets internal property infos by excact property name
1546
1645
  ChartDelegate._getPropertyInfosByName = function(sName, oMDCChart){
1547
1646
  return new Promise(function(resolve){
1548
1647
  this.fetchProperties(oMDCChart).then(function(aProperties){