@openui5/sap.ui.mdc 1.97.1 → 1.100.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 (296) hide show
  1. package/.reuse/dep5 +25 -30
  2. package/THIRDPARTY.txt +15 -22
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +6 -3
  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 +1128 -1806
  9. package/src/sap/ui/mdc/ChartDelegate.js +454 -250
  10. package/src/sap/ui/mdc/ChartRenderer.js +73 -77
  11. package/src/sap/ui/mdc/Control.js +11 -6
  12. package/src/sap/ui/mdc/Element.js +10 -6
  13. package/src/sap/ui/mdc/Field.js +19 -4
  14. package/src/sap/ui/mdc/FilterBar.js +3 -2
  15. package/src/sap/ui/mdc/FilterBarDelegate.js +26 -0
  16. package/src/sap/ui/mdc/FilterField.js +50 -9
  17. package/src/sap/ui/mdc/Link.js +25 -6
  18. package/src/sap/ui/mdc/LinkDelegate.js +3 -3
  19. package/src/sap/ui/mdc/MultiValueField.js +30 -6
  20. package/src/sap/ui/mdc/Table.js +151 -102
  21. package/src/sap/ui/mdc/TableDelegate.js +68 -13
  22. package/src/sap/ui/mdc/ValueHelp.js +26 -11
  23. package/src/sap/ui/mdc/ValueHelpDelegate.js +2 -1
  24. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  25. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
  26. package/src/sap/ui/mdc/{chartNew/ChartSelectionDetailsNew.js → chart/ChartSelectionDetails.js} +8 -8
  27. package/src/sap/ui/mdc/{chartNew/ChartToolbarNew.js → chart/ChartToolbar.js} +60 -17
  28. package/src/sap/ui/mdc/chart/ChartTypeButton.js +55 -54
  29. package/src/sap/ui/mdc/{chartNew/DrillBreadcrumbsNew.js → chart/DrillBreadcrumbs.js} +10 -10
  30. package/src/sap/ui/mdc/chart/DrillStackHandler.js +43 -254
  31. package/src/sap/ui/mdc/chart/Item.js +62 -92
  32. package/src/sap/ui/mdc/{chartNew/PropertyHelperNew.js → chart/PropertyHelper.js} +3 -3
  33. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +17 -21
  34. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  35. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  36. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  37. package/src/sap/ui/mdc/condition/FilterConverter.js +4 -2
  38. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +388 -67
  39. package/src/sap/ui/mdc/condition/Operator.js +4 -2
  40. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +78 -24
  41. package/src/sap/ui/mdc/condition/RangeOperator.js +5 -5
  42. package/src/sap/ui/mdc/designtime/Util.js +63 -0
  43. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +23 -30
  44. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +83 -5
  45. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +81 -5
  46. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +3 -0
  47. package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +3 -1
  48. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +35 -8
  49. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  50. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  51. package/src/sap/ui/mdc/field/ConditionType.js +17 -6
  52. package/src/sap/ui/mdc/field/ConditionsType.js +2 -1
  53. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  54. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  55. package/src/sap/ui/mdc/field/DefineConditionPanel.js +88 -29
  56. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +77 -20
  57. package/src/sap/ui/mdc/field/FieldBase.js +93 -16
  58. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
  59. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +0 -3
  60. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  61. package/src/sap/ui/mdc/field/FieldInfoBase.js +24 -10
  62. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  63. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  64. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  65. package/src/sap/ui/mdc/field/FieldValueHelp.js +5 -2
  66. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  67. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +1 -1
  68. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +5 -4
  69. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +6 -4
  70. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +6 -3
  71. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +7 -7
  72. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  73. package/src/sap/ui/mdc/field/ListFieldHelp.js +10 -2
  74. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  75. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  76. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  77. package/src/sap/ui/mdc/field/TokenDisplay.js +70 -0
  78. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +24 -0
  79. package/src/sap/ui/mdc/field/TokenizerDisplay.js +80 -0
  80. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +69 -0
  81. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  82. package/src/sap/ui/mdc/field/content/ContentFactory.js +10 -6
  83. package/src/sap/ui/mdc/field/content/DateContent.js +27 -19
  84. package/src/sap/ui/mdc/field/content/DateTimeContent.js +0 -6
  85. package/src/sap/ui/mdc/field/content/DefaultContent.js +35 -13
  86. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  87. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +285 -208
  88. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  89. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +27 -2
  90. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +132 -56
  91. package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -2
  92. package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +7 -3
  93. package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +52 -14
  94. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +3 -1
  95. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +43 -19
  96. package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
  97. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +2 -2
  98. package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +48 -31
  99. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +6 -4
  100. package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +36 -0
  101. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
  102. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +47 -10
  103. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +4 -3
  104. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  105. package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
  106. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +0 -1
  107. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +9 -3
  108. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +27 -0
  109. package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -2
  110. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +6 -6
  111. package/src/sap/ui/mdc/library.js +54 -44
  112. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  113. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  114. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  115. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  116. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  117. package/src/sap/ui/mdc/link/Factory.js +2 -2
  118. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  119. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  120. package/src/sap/ui/mdc/link/Log.js +1 -1
  121. package/src/sap/ui/mdc/link/Panel.js +140 -177
  122. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  123. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  124. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  125. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  126. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  127. package/src/sap/ui/mdc/messagebundle.properties +57 -2
  128. package/src/sap/ui/mdc/messagebundle_ar.properties +39 -4
  129. package/src/sap/ui/mdc/messagebundle_bg.properties +54 -19
  130. package/src/sap/ui/mdc/messagebundle_ca.properties +37 -2
  131. package/src/sap/ui/mdc/messagebundle_cs.properties +52 -17
  132. package/src/sap/ui/mdc/messagebundle_cy.properties +37 -2
  133. package/src/sap/ui/mdc/messagebundle_da.properties +44 -9
  134. package/src/sap/ui/mdc/messagebundle_de.properties +37 -2
  135. package/src/sap/ui/mdc/messagebundle_el.properties +38 -3
  136. package/src/sap/ui/mdc/messagebundle_en.properties +37 -2
  137. package/src/sap/ui/mdc/messagebundle_en_GB.properties +37 -2
  138. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +37 -2
  139. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +61 -4
  140. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +37 -2
  141. package/src/sap/ui/mdc/messagebundle_es.properties +37 -2
  142. package/src/sap/ui/mdc/messagebundle_es_MX.properties +51 -16
  143. package/src/sap/ui/mdc/messagebundle_et.properties +37 -2
  144. package/src/sap/ui/mdc/messagebundle_fi.properties +43 -8
  145. package/src/sap/ui/mdc/messagebundle_fr.properties +38 -3
  146. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +37 -2
  147. package/src/sap/ui/mdc/messagebundle_hi.properties +38 -3
  148. package/src/sap/ui/mdc/messagebundle_hr.properties +37 -2
  149. package/src/sap/ui/mdc/messagebundle_hu.properties +37 -2
  150. package/src/sap/ui/mdc/messagebundle_id.properties +37 -2
  151. package/src/sap/ui/mdc/messagebundle_it.properties +53 -18
  152. package/src/sap/ui/mdc/messagebundle_iw.properties +38 -3
  153. package/src/sap/ui/mdc/messagebundle_ja.properties +37 -2
  154. package/src/sap/ui/mdc/messagebundle_kk.properties +37 -2
  155. package/src/sap/ui/mdc/messagebundle_ko.properties +41 -6
  156. package/src/sap/ui/mdc/messagebundle_lt.properties +37 -2
  157. package/src/sap/ui/mdc/messagebundle_lv.properties +41 -6
  158. package/src/sap/ui/mdc/messagebundle_ms.properties +37 -2
  159. package/src/sap/ui/mdc/messagebundle_nl.properties +42 -7
  160. package/src/sap/ui/mdc/messagebundle_no.properties +45 -10
  161. package/src/sap/ui/mdc/messagebundle_pl.properties +38 -3
  162. package/src/sap/ui/mdc/messagebundle_pt.properties +44 -9
  163. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +37 -2
  164. package/src/sap/ui/mdc/messagebundle_ro.properties +37 -2
  165. package/src/sap/ui/mdc/messagebundle_ru.properties +37 -2
  166. package/src/sap/ui/mdc/messagebundle_sh.properties +37 -2
  167. package/src/sap/ui/mdc/messagebundle_sk.properties +37 -2
  168. package/src/sap/ui/mdc/messagebundle_sl.properties +37 -2
  169. package/src/sap/ui/mdc/messagebundle_sv.properties +39 -4
  170. package/src/sap/ui/mdc/messagebundle_th.properties +40 -5
  171. package/src/sap/ui/mdc/messagebundle_tr.properties +37 -2
  172. package/src/sap/ui/mdc/messagebundle_uk.properties +41 -6
  173. package/src/sap/ui/mdc/messagebundle_vi.properties +37 -2
  174. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +37 -2
  175. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +37 -2
  176. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +30 -15
  177. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -142
  178. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +14 -17
  179. package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -3
  180. package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +348 -0
  181. package/src/sap/ui/mdc/odata/TypeUtil.js +2 -2
  182. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +29 -483
  183. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +106 -0
  184. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +116 -20
  185. package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +2 -2
  186. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +117 -123
  187. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +3 -5
  188. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
  189. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
  190. package/src/sap/ui/mdc/odata/v4/vizChart/{ChartDelegateNew.js → ChartDelegate.js} +459 -351
  191. package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
  192. package/src/sap/ui/mdc/p13n/Engine.js +51 -30
  193. package/src/sap/ui/mdc/p13n/FlexUtil.js +6 -118
  194. package/src/sap/ui/mdc/p13n/P13nBuilder.js +7 -7
  195. package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
  196. package/src/sap/ui/mdc/p13n/StateUtil.js +24 -6
  197. package/src/sap/ui/mdc/p13n/UIManager.js +20 -19
  198. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +4 -1
  199. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +19 -12
  200. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
  201. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +6 -6
  202. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +49 -27
  203. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1094 -49
  204. package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +136 -0
  205. package/src/sap/ui/mdc/p13n/panels/GroupView.js +53 -28
  206. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +108 -0
  207. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +4 -7
  208. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +7 -7
  209. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +156 -11
  210. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +15 -26
  211. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +6 -5
  212. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +22 -11
  213. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +174 -0
  214. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +12 -19
  215. package/src/sap/ui/mdc/table/Column.js +12 -12
  216. package/src/sap/ui/mdc/table/CreationRow.js +11 -11
  217. package/src/sap/ui/mdc/table/GridTableType.js +80 -33
  218. package/src/sap/ui/mdc/table/PropertyHelper.js +63 -19
  219. package/src/sap/ui/mdc/table/ResponsiveTableType.js +94 -23
  220. package/src/sap/ui/mdc/table/RowActionItem.js +119 -0
  221. package/src/sap/ui/mdc/table/RowSettings.js +45 -4
  222. package/src/sap/ui/mdc/table/TableTypeBase.js +2 -2
  223. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +2 -2
  224. package/src/sap/ui/mdc/themes/base/Chart.less +2 -0
  225. package/src/sap/ui/mdc/themes/base/FieldBase.less +0 -5
  226. package/src/sap/ui/mdc/themes/base/TokenDisplay.less +89 -0
  227. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +90 -0
  228. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +16 -4
  229. package/src/sap/ui/mdc/themes/base/library.source.less +2 -0
  230. package/src/sap/ui/mdc/util/Common.js +1 -1
  231. package/src/sap/ui/mdc/util/DateUtil.js +33 -8
  232. package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
  233. package/src/sap/ui/mdc/util/FormatUtil.js +3 -3
  234. package/src/sap/ui/mdc/util/IdentifierUtil.js +6 -6
  235. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  236. package/src/sap/ui/mdc/util/PropertyHelper.js +243 -87
  237. package/src/sap/ui/mdc/util/TypeUtil.js +6 -5
  238. package/src/sap/ui/mdc/valuehelp/Dialog.js +11 -8
  239. package/src/sap/ui/mdc/valuehelp/Popover.js +6 -3
  240. package/src/sap/ui/mdc/valuehelp/base/Container.js +2 -1
  241. package/src/sap/ui/mdc/valuehelp/base/Content.js +2 -1
  242. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -1
  243. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +5 -4
  244. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -1
  245. package/src/sap/ui/mdc/valuehelp/content/Bool.js +2 -1
  246. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +4 -2
  247. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +23 -14
  248. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +46 -17
  249. package/src/sap/ui/mdc/valuehelp/content/MTable.js +48 -27
  250. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -1
  251. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +3 -3
  252. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsBase.js +3 -3
  253. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsViz.js +0 -0
  254. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsBase.js +1 -1
  255. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsViz.js +0 -0
  256. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ChartNew.js +0 -0
  257. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +291 -0
  258. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +7 -7
  259. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +8 -9
  260. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +12 -11
  261. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +85 -0
  262. package/test/sap/ui/mdc/testutils/opa/link/Assertions.js +79 -0
  263. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +112 -0
  264. package/test/sap/ui/mdc/testutils/opa/link/waitForLink.js +50 -0
  265. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +264 -139
  266. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +27 -26
  267. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +54 -0
  268. package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +5 -0
  269. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +40 -0
  270. package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +28 -0
  271. package/src/sap/ui/mdc/ChartDelegateNew.js +0 -395
  272. package/src/sap/ui/mdc/ChartNew.js +0 -1114
  273. package/src/sap/ui/mdc/ChartNewRenderer.js +0 -91
  274. package/src/sap/ui/mdc/chart/DimensionItem.js +0 -281
  275. package/src/sap/ui/mdc/chart/MeasureItem.js +0 -318
  276. package/src/sap/ui/mdc/chart/MetadataDelegate.js +0 -31
  277. package/src/sap/ui/mdc/chart/SelectionHandler.js +0 -127
  278. package/src/sap/ui/mdc/chart/ToolbarHandler.js +0 -328
  279. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +0 -295
  280. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +0 -212
  281. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -72
  282. package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +0 -34
  283. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +0 -91
  284. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +0 -150
  285. package/src/sap/ui/mdc/link/SelectionDialog.control.xml +0 -66
  286. package/src/sap/ui/mdc/link/SelectionDialog.js +0 -213
  287. package/src/sap/ui/mdc/link/SelectionDialogItem.js +0 -86
  288. package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +0 -35
  289. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +0 -39
  290. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +0 -721
  291. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +0 -1179
  292. package/src/sap/ui/mdc/p13n/panels/ListView.js +0 -404
  293. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -92
  294. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -150
  295. package/src/sap/ui/mdc/ui/Container.js +0 -240
  296. package/src/sap/ui/mdc/ui/ContainerItem.js +0 -79
@@ -4,10 +4,13 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/m/OverflowToolbarButton", "sap/m/ButtonRenderer", "sap/ui/base/ManagedObjectObserver", "sap/ui/core/library"
8
- ], function(OverflowToolbarButton, ButtonRenderer, ManagedObjectObserver, CoreLibrary) {
7
+ "sap/m/OverflowToolbarButton", "sap/m/ButtonRenderer", "sap/ui/base/ManagedObjectObserver", "sap/ui/core/library", "sap/m/library"
8
+ ], function(OverflowToolbarButton, ButtonRenderer, ManagedObjectObserver, CoreLibrary, mobileLibrary) {
9
9
  "use strict";
10
10
 
11
+ // shortcut for sap.m.PlacementType
12
+ var PlacementType = mobileLibrary.PlacementType;
13
+
11
14
  var HasPopup = CoreLibrary.aria.HasPopup;
12
15
  var ResponsivePopover, List, Bar, SearchField, StandardListItem, InvisibleText, Device, oRb;
13
16
 
@@ -15,29 +18,45 @@ sap.ui.define([
15
18
  metadata: {
16
19
  library: "sap.ui.mdc"
17
20
  },
18
- constructor: function(oChart) {
21
+ constructor: function(oMDCChart) {
19
22
 
20
- this.oChart = oChart;
23
+ if (!oMDCChart) {
24
+ OverflowToolbarButton.apply(this);
25
+ return;
26
+ }
21
27
 
28
+ this.oMDCChartModel = oMDCChart.getManagedObjectModel();
22
29
  var mSettings = {
23
30
  type: "Transparent",
24
31
  press: function(oEvent) {
25
- this.displayChartTypes(oEvent.getSource(), oChart);
32
+ this.displayChartTypes(oEvent.getSource(), oMDCChart);
26
33
  }.bind(this),
27
- id: oChart.getId() + "-btnChartType",
28
- icon: '{$chart>/getTypeInfo/icon}',
29
- tooltip: '{$chart>/getTypeInfo/text}',
30
- text: '{$chart>/getTypeInfo/text}',
34
+ id: oMDCChart.getId() + "-btnChartType",
35
+ icon: '{$chart>/getChartTypeInfo/icon}',
36
+ tooltip: '{$chart>/getChartTypeInfo/text}',
37
+ text: '{$chart>/getChartTypeInfo/text}',
31
38
  ariaHasPopup: HasPopup.ListBox
32
39
  };
33
-
40
+ this.oMDCChart = oMDCChart;
34
41
  OverflowToolbarButton.apply(this, [
35
42
  mSettings
36
43
  ]);
44
+ this.setModel(this.oMDCChartModel, "$chart");
45
+
46
+ this._oObserver = new ManagedObjectObserver(function() {
47
+ this.oMDCChartModel.checkUpdate(true);
48
+ }.bind(this));
49
+ this._oObserver.observe(this.oMDCChart, {
50
+ aggregations: [
51
+ "items"
52
+ ],
53
+ properties: [
54
+ "chartType"
55
+ ]
56
+ });
37
57
 
38
58
  },
39
59
  renderer: ButtonRenderer
40
-
41
60
  });
42
61
 
43
62
  ChartTypeButton.mMatchingIcon = {
@@ -74,49 +93,20 @@ sap.ui.define([
74
93
  "horizontal_waterfall": "sap-icon://horizontal-waterfall-chart"
75
94
  };
76
95
 
77
- ChartTypeButton.prototype.init = function(){
78
- this.oChartModel = this.oChart.getManagedObjectModel();
79
- this.setModel(this.oChartModel, "$chart");
80
-
81
- if (this.oChart.getAutoBindOnInit()){
82
- this.bindToInnerChart(this.oChart);
83
- }
84
- };
85
-
86
- ChartTypeButton.prototype.bindToInnerChart = function(oChart) {
87
- this.setEnabled(true);
88
-
89
- this._oObserver = new ManagedObjectObserver(function() {
90
- this.oChartModel.checkUpdate(true);
91
- }.bind(this));
92
- this._oObserver.observe(this.oChart, {
93
- aggregations: [
94
- "items"
95
- ],
96
- properties: [
97
- "chartType"
98
- ]
99
- });
100
- };
101
-
102
96
  /**
103
97
  * Shows popover to select chart type
104
98
  * @param oButton button opening the popover
105
- * @param oChart the inner chart
99
+ * @param oMDCChart the inner chart
106
100
  *
107
101
  * @experimental
108
102
  * @private
109
103
  * @ui5-restricted Fiori Elements, sap.ui.mdc
110
104
  */
111
- ChartTypeButton.prototype.displayChartTypes = function(oButton, oChart) {
112
- if (!oChart || !oButton) {
105
+ ChartTypeButton.prototype.displayChartTypes = function(oButton, oMDCChart) {
106
+ if (!oMDCChart || !oButton) {
113
107
  return;
114
108
  }
115
109
 
116
- if (this.oPopover) {
117
- return this.oPopover.openBy(oButton);
118
- }
119
-
120
110
  if (!this.oReadyPromise) {
121
111
  this.oReadyPromise = new Promise(function(resolve) {
122
112
  if (ResponsivePopover) {
@@ -147,21 +137,27 @@ sap.ui.define([
147
137
  }
148
138
 
149
139
  this.oReadyPromise.then(function() {
150
- this.oPopover = this._createPopover(oButton, oChart);
151
- return this.oPopover.openBy(oButton);
140
+ if (!this.oPopover){
141
+ this.oPopover = this._createPopover(oButton, oMDCChart);
142
+ this.oPopover.attachAfterClose(function(){
143
+ this.oPopover.destroy();
144
+ delete this.oPopover;
145
+ }.bind(this));
146
+ return this.oPopover.openBy(oButton);
147
+ }
152
148
  }.bind(this));
153
149
  };
154
150
 
155
151
  /**
156
152
  * Creates the popover
157
153
  * @param oButton button opening the popover
158
- * @param oChart inner chart
154
+ * @param oMDCChart inner chart
159
155
  *
160
156
  * @experimental
161
157
  * @private
162
158
  * @ui5-restricted sap.ui.mdc
163
159
  */
164
- ChartTypeButton.prototype._createPopover = function(oButton, oChart) {
160
+ ChartTypeButton.prototype._createPopover = function(oButton, oMDCChart) {
165
161
  var oItemTemplate = new StandardListItem({
166
162
  title: "{$chart>text}",
167
163
  icon: "{$chart>icon}",
@@ -175,6 +171,7 @@ sap.ui.define([
175
171
  template: oItemTemplate
176
172
  },
177
173
  selectionChange: function(oEvent) {
174
+ //TODO: Implement Chart Type switch
178
175
  if (oEvent && oEvent.mParameters && oEvent.mParameters.listItem) {
179
176
  var oBinding = oEvent.mParameters.listItem.getBinding("title");
180
177
  if (oBinding) {
@@ -187,10 +184,9 @@ sap.ui.define([
187
184
  ], function(FlexUtil,ChartFlex) {
188
185
  var aChanges = [];
189
186
  aChanges.push(ChartFlex["setChartType"].changeHandler.createChange({
190
- control: oChart,
187
+ control: oMDCChart,
191
188
  chartType: oObj.key
192
189
  }));
193
- //TODO: use engine for custom personalization
194
190
  FlexUtil.handleChanges(aChanges);
195
191
  });
196
192
  }
@@ -207,19 +203,20 @@ sap.ui.define([
207
203
  placeholder: oRb.getText("chart.CHART_TYPE_SEARCH")
208
204
  });
209
205
  oSearchField.attachLiveChange(function(oEvent) {
210
- if (oChart) {
206
+ if (oMDCChart){
211
207
  this._triggerSearchInPopover(oEvent, oList);
212
208
  }
213
209
  }.bind(this));
214
210
  oSubHeader.addContentRight(oSearchField);
215
211
 
216
212
  var oPopover = new ResponsivePopover({
217
- placement: "Bottom",
213
+ id: oMDCChart.getId() + "-btnChartTypePopover",
214
+ placement: PlacementType.VerticalPreferredBottom,
218
215
  subHeader: oSubHeader,
219
216
  contentWidth: "25rem"
220
217
  });
221
218
 
222
- oPopover.setModel(this.oChartModel, "$chart");
219
+ oPopover.setModel(this.oMDCChartModel, "$chart");
223
220
 
224
221
  //Show header only in mobile scenarios
225
222
  //still support screen reader while on desktops.
@@ -240,6 +237,11 @@ sap.ui.define([
240
237
  oSubHeader.setVisible(false);
241
238
  }
242
239
 
240
+ /*
241
+ oPopover.attachAfterClose(function(oEvent) {
242
+ oPopover.destroy();
243
+ });*/
244
+
243
245
  return oPopover;
244
246
  };
245
247
 
@@ -295,5 +297,4 @@ sap.ui.define([
295
297
  };
296
298
 
297
299
  return ChartTypeButton;
298
-
299
- }, true);
300
+ });
@@ -13,14 +13,14 @@ sap.ui.define([
13
13
  ) {
14
14
  "use strict";
15
15
  /**
16
- * Delegate class for sap.ui.mdc.ChartNew and ODataV4.
16
+ * Delegate class for sap.ui.mdc.Chart and ODataV4.
17
17
  * Enables additional analytical capabilities.
18
18
  * <b>Note:</b> The class is experimental and the API/behavior is not finalized.
19
19
  *
20
20
  * @author SAP SE
21
21
  * @private
22
22
  * @since 1.88
23
- * @alias sap.ui.mdc.odata.v4.vizChart.ChartDelegateNew
23
+ * @alias sap.ui.mdc.odata.v4.vizChart.ChartDelegate
24
24
  */
25
25
  var DrillBreadcrumbs = Breadcrumbs.extend("sap/m/Breadcrumbs", {});
26
26
 
@@ -30,9 +30,9 @@ sap.ui.define([
30
30
 
31
31
 
32
32
  /**
33
- * Updates the breadcrumps shown on the MDC Chart
33
+ * Updates the breadcrumbs shown on the MDC Chart
34
34
  *
35
- * @param {sap.ui.mdc.Chart} oChart the MDC Chart to update the breadcrumps on
35
+ * @param {sap.ui.mdc.Chart} oMDCChart the MDC Chart to update the breadcrumbs on
36
36
  * @param {*} oDrillableItems the drillable items
37
37
  *
38
38
  * @experimental
@@ -54,7 +54,7 @@ sap.ui.define([
54
54
  oDrillableItems.forEach(function(dim, index, array) {
55
55
 
56
56
  // show breadcrumbs
57
- //If Breadcrumps were set invisible for no drill stack, they need to be set visible again
57
+ //If Breadcrumbs were set invisible for no drill stack, they need to be set visible again
58
58
  this.setVisible(true);
59
59
 
60
60
  // use the last entry of each drill-stack entry to built
@@ -121,11 +121,11 @@ sap.ui.define([
121
121
  };
122
122
 
123
123
  /**
124
- * Creates a breadcrump with given settings
125
- * @param oChart the chart the breadcrump is for
126
- * @param oCrumbSettings settings for the breadcrump
124
+ * Creates a breadcrumb with given settings
125
+ * @param oMDCChart the chart the breadcrumb is for
126
+ * @param oCrumbSettings settings for the breadcrumb
127
127
  *
128
- * @returns the created breadcrump
128
+ * @returns {sap.m.Link} the created breadcrumb
129
129
  *
130
130
  * @experimental
131
131
  * @private
@@ -167,4 +167,4 @@ sap.ui.define([
167
167
  };
168
168
 
169
169
  return DrillBreadcrumbs;
170
- }, true);
170
+ });
@@ -8,30 +8,24 @@ sap.ui.define([
8
8
  "sap/m/ResponsivePopover",
9
9
  "sap/m/List",
10
10
  "sap/m/Bar",
11
- "sap/m/SearchField",
12
11
  "sap/m/StandardListItem",
13
12
  "sap/ui/core/InvisibleText",
14
13
  "sap/m/library",
15
14
  "sap/ui/Device",
16
- "sap/ui/mdc/chart/DimensionItem",
17
- "sap/ui/mdc/chart/ChartSettings"
15
+ "sap/base/Log"
18
16
  ], function(
19
17
  Core,
20
18
  ResponsivePopover,
21
19
  List,
22
20
  Bar,
23
- SearchField,
24
21
  StandardListItem,
25
22
  InvisibleText,
26
23
  MLibrary,
27
24
  Device,
28
- DimensionItem,
29
- ChartSettings
25
+ Log
30
26
  ) {
31
27
  "use strict";
32
28
 
33
- var Link;
34
-
35
29
  // shortcut for sap.m.PlacementType
36
30
  var PlacementType = MLibrary.PlacementType;
37
31
 
@@ -41,8 +35,8 @@ sap.ui.define([
41
35
  // shortcut for sap.m.ListMode
42
36
  var ListMode = MLibrary.ListMode;
43
37
 
44
- function _getDrillStackDimensions(oChart) {
45
- var aDrillStack = oChart.getAggregation("_chart").getDrillStack();
38
+ function _getDrillStackDimensions(oMDCChart) {
39
+ var aDrillStack = oMDCChart.getControlDelegate().getDrillStack(oMDCChart);
46
40
  var aStackDimensions = [];
47
41
 
48
42
  aDrillStack.forEach(function(oStackEntry) {
@@ -57,44 +51,33 @@ sap.ui.define([
57
51
  return aStackDimensions;
58
52
  }
59
53
 
60
- //Get all dimensions in a sorted manner
61
- function _getSortedDimensions(aProperties) {
62
-
63
- var aDimensions = aProperties.filter(function(oItem) {
64
- return oItem.kind == "Dimension";
65
- });
66
-
67
- if (aDimensions) {
68
- aDimensions.sort(function(a, b) {
69
- if (a.label && b.label) {
70
- return a.label.localeCompare(b.label);
71
- }
72
- });
73
- }
74
-
75
- return aDimensions;
76
- }
77
-
78
54
  /**
79
55
  * Handles all drill-stack operations on a mdc.Chart instance
80
- * inlcuding drill-downs, drill-ups and updating of depending controls
81
- * like Breadcrumbs.
56
+ * including drill-downs, drill-ups and updating of depending controls
82
57
  * @constructor
83
58
  */
84
59
  var DrillStackHandler = function() {
85
-
60
+ //TODO: Refactor to DrillDownPopover (extending Popover; like Toolbar)
86
61
  };
87
62
 
88
63
  /**
89
64
  * Creates a drill down popover
90
- * @param oChart
65
+ * @param oMDCChart
91
66
  * @returns the popover object
92
67
  *
93
68
  * @private
94
69
  * @ui5-restricted sap.ui.mdc
95
70
  */
96
- DrillStackHandler.createDrillDownPopover = function(oChart) {
71
+ DrillStackHandler.createDrillDownPopover = function(oMDCChart) {
97
72
 
73
+ var oSubHeader = new Bar();
74
+ var oPopover = new ResponsivePopover({
75
+ id: oMDCChart.getId() + "-drilldownPopover",
76
+ contentWidth: "25rem",
77
+ contentHeight: "20rem",
78
+ placement: PlacementType.Bottom,
79
+ subHeader: oSubHeader
80
+ });
98
81
  var oList = new List({
99
82
  mode: ListMode.SingleSelectMaster,
100
83
  selectionChange: function(oControlEvent) {
@@ -103,12 +86,12 @@ sap.ui.define([
103
86
  if (oListItem) {
104
87
  //Call flex to capture current state before adding an item to the chart aggregation
105
88
 
106
- oChart.getEngine().createChanges({
107
- control: oChart,
89
+ oMDCChart.getEngine().createChanges({
90
+ control: oMDCChart,
108
91
  key: "Item",
109
92
  state: [{
110
- name: oListItem.data("dim").name,
111
- position: oChart.getItems().length
93
+ name: oListItem.data("dim").dim.name,
94
+ position: oMDCChart.getItems().length
112
95
  }]
113
96
  });
114
97
  }
@@ -117,7 +100,9 @@ sap.ui.define([
117
100
  }
118
101
  });
119
102
 
120
- var oSubHeader = new Bar();
103
+ oPopover.attachAfterClose(function(){
104
+ oPopover.destroy();
105
+ });
121
106
 
122
107
  //TODO add search field
123
108
  //var oSearchField = new SearchField({
@@ -127,13 +112,6 @@ sap.ui.define([
127
112
  //this._triggerSearchInDrillDownPopover(oEvent, oList);
128
113
  //}.bind(this));
129
114
 
130
- var oPopover = new ResponsivePopover({
131
- contentWidth: "25rem",
132
- contentHeight: "20rem",
133
- placement: PlacementType.Bottom,
134
- subHeader: oSubHeader
135
- });
136
-
137
115
 
138
116
  var oRb = Core.getLibraryResourceBundle("sap.ui.mdc");
139
117
 
@@ -151,31 +129,39 @@ sap.ui.define([
151
129
  }
152
130
 
153
131
  oPopover.addContent(oList);
154
- oChart._oDrillDownPopover = oPopover;
132
+ oMDCChart._oDrillDownPopover = oPopover;
155
133
  return oPopover;
156
134
  };
157
135
 
158
136
  /**
159
137
  * Shows the drill-down popover on the toolbar button of an mdc.Chart instance
160
- * @param {sap.ui.mdc.Chart} oChart
138
+ * @param {sap.ui.mdc.Chart} oMDCChart
139
+ * @param {sap.m.Button} oDrillBtn
161
140
  *
162
141
  * @experimental
163
142
  * @private
164
143
  * @ui5-restricted sap.ui.mdc
165
144
  */
166
- DrillStackHandler.showDrillDownPopover = function(oChart) {
167
- var oFetchPropertiesPromise = oChart.getControlDelegate().fetchProperties(oChart);
168
- return oFetchPropertiesPromise.then(function(aProperties) {
145
+ DrillStackHandler.showDrillDownPopover = function(oMDCChart, oDrillBtn) {
146
+ //TODO: Rename "Measure" and "Dimensions"?
147
+ var pSortedDimensionsPromise = oMDCChart.getControlDelegate().getSortedDimensions(oMDCChart);
148
+ return pSortedDimensionsPromise.then(function(aSortedDimensions) {
169
149
  //Remove all prior items from drill-down list
170
- var oDrillDownPopover = oChart._oDrillDownPopover;
171
- var oDrillDownList = oDrillDownPopover.getContent()[1];
172
- var aIgnoreDimensions, aSortedDimensions, oDimension, oListItem;
150
+ var oDrillDownPopover = oMDCChart._oDrillDownPopover;
151
+ var aIgnoreDimensions, oDimension, oListItem;
152
+
153
+ var aFilteredList = oDrillDownPopover.getContent().filter(function(oEntry){return oEntry.getMetadata().getClass() == List;});
154
+ var oDrillDownList = aFilteredList.length > 0 ? aFilteredList[0] : null;
155
+
156
+ if (!oDrillDownList){
157
+ Log.error("MDC Chart: Could not determine list to show drilldown. This should not happen. Did the application modify the drill-down popover?");
158
+ return;
159
+ }
173
160
 
174
161
  oDrillDownList.destroyItems();
175
162
 
176
163
  // Ignore currently applied dimensions from drill-stack for selection
177
- aIgnoreDimensions = _getDrillStackDimensions(oChart);
178
- aSortedDimensions = _getSortedDimensions(aProperties);
164
+ aIgnoreDimensions = _getDrillStackDimensions(oMDCChart);
179
165
 
180
166
  for (var i = 0; i < aSortedDimensions.length; i++) {
181
167
  oDimension = aSortedDimensions[i];
@@ -195,7 +181,7 @@ sap.ui.define([
195
181
  type: ListType.Active
196
182
  });
197
183
 
198
- oListItem.data("dim", oDimension);
184
+ oListItem.data("dim", {dim: oDimension});
199
185
 
200
186
  /*sTooltip = this._getFieldTooltip(oDimension.name);
201
187
  if (sTooltip) {
@@ -211,207 +197,10 @@ sap.ui.define([
211
197
  resolve(oDrillDownPopover);
212
198
  });
213
199
 
214
- oDrillDownPopover.openBy(oChart._oDrillDownBtn);
200
+ oDrillDownPopover.openBy(oDrillBtn);
215
201
  });
216
202
  });
217
203
  };
218
204
 
219
- /**
220
- * Creates and sets breadcrumps on the MDC chart for the current drill level
221
- *
222
- * @param {sap.ui.mdc.Chart} oChart
223
- *
224
- * @experimental
225
- * @private
226
- * @ui5-protected sap.ui.mdc
227
- */
228
- DrillStackHandler.createDrillBreadcrumbs = function(oChart) {
229
-
230
- return new Promise(function(resolve, reject) {
231
-
232
- sap.ui.require([
233
- "sap/m/Breadcrumbs"
234
- ], function(Breadcrumbs) {
235
- var oInnerChart = oChart.getAggregation("_chart");
236
-
237
- if (oInnerChart) {
238
- var oDrillBreadcrumbs = new Breadcrumbs();
239
- oChart.setAggregation("_breadcrumbs", oDrillBreadcrumbs);
240
-
241
- //initial update of current drill-path
242
- this._updateDrillBreadcrumbs(oChart, oDrillBreadcrumbs).then(function() {
243
- resolve(oDrillBreadcrumbs);
244
- });
245
- }
246
- }.bind(this));
247
- }.bind(this));
248
- };
249
-
250
- /**
251
- * Creates a breadcrump with given settings
252
- * @param oChart the chart the breadcrump is for
253
- * @param oCrumbSettings settings for the breadcrump
254
- *
255
- * @returns the created breadcrump
256
- *
257
- * @experimental
258
- * @private
259
- * @ui5-restricted sap.ui.mdc
260
- */
261
- DrillStackHandler.createCrumb = function(oChart, oCrumbSettings) {
262
- var oInnerChart = oChart.getAggregation("_chart");
263
-
264
- var oCrumb = new Link({
265
- text: oCrumbSettings.dimensionText,
266
- press: function onCrumbPressed(oControlEvent) {
267
- var oDrillBreadcrumbs = oChart.getAggregation("_breadcrumbs"),
268
- iLinkIndex = oDrillBreadcrumbs.indexOfLink(oControlEvent.getSource());
269
-
270
- // get drill-path which was drilled-up and needs to be removed from mdc chart
271
- var aCurrentDrillStack = oInnerChart.getDrillStack()[oInnerChart.getDrillStack().length - 1].dimension,
272
- aDrilledPath = aCurrentDrillStack.slice(iLinkIndex + 1);
273
-
274
- oInnerChart.fireDeselectData();
275
-
276
- // retrieve the actual items and remove them from mdc chart items aggregation
277
- var aDrilledItems = oChart.getItemsByKeys(aDrilledPath);
278
-
279
- // call flex to capture the current state before removing item(s) of the chart aggregation
280
- var aFlexItemChanges = aDrilledItems.map(function(oDrillItem) {
281
- return {
282
- name: oDrillItem.getKey(),
283
- visible: false
284
- };
285
- });
286
-
287
- oChart.getEngine().createChanges({
288
- control: oChart,
289
- key: "Item",
290
- state: aFlexItemChanges
291
- });
292
-
293
- // don't forget to update the bread crumbs control itself
294
- this._updateDrillBreadcrumbs(oChart, oDrillBreadcrumbs);
295
- }.bind(this)
296
- });
297
-
298
- // unique dimension key is needed to remove the item from the mdc chart aggregation on drilling up
299
- oCrumb.data("key", oCrumbSettings.dimensionKey);
300
- return oCrumb;
301
- };
302
-
303
- /**
304
- * Updates the breadcrumps shown on the MDC Chart
305
- *
306
- * @param {sap.ui.mdc.Chart} oChart the MDC Chart to update the breadcrumps on
307
- * @param {*} oDrillBreadcrumbs the breadcrumps to show
308
- *
309
- * @experimental
310
- * @private
311
- * @ui5-restricted sap.ui.mdc
312
- */
313
- DrillStackHandler._updateDrillBreadcrumbs = function(oChart, oDrillBreadcrumbs) {
314
-
315
- return new Promise(function(resolve, reject) {
316
-
317
- sap.ui.require([
318
- "sap/m/Link"
319
- ], function(LinkClass) {
320
- Link = LinkClass;
321
-
322
- if (!oDrillBreadcrumbs) {
323
- return;
324
- }
325
-
326
- // Get access to drill history
327
- var oInnerChart = oChart.getAggregation("_chart");
328
-
329
- if (!oInnerChart) {
330
- return;
331
- }
332
-
333
- var aVisibleDimensionsRev = oInnerChart.getDrillStack();
334
- var newLinks = [];
335
-
336
- // When chart is bound to non-aggregated entity there is no drill-stack
337
- // existing
338
- if (aVisibleDimensionsRev) {
339
-
340
- // Reverse array to display right order of crumbs
341
- aVisibleDimensionsRev.reverse();
342
- aVisibleDimensionsRev.forEach(function(dim, index, array) {
343
-
344
- // Check if stack entry has dimension names and if a
345
- // dimension is existing for this name
346
- if (dim.dimension.length > 0 && typeof oInnerChart.getDimensionByName(dim.dimension[dim.dimension.length - 1]) != 'undefined') {
347
- // show breadcrumbs
348
- //If Breadcrumps were set invisible for no drill stack, they need to be set visible again
349
- oDrillBreadcrumbs.setVisible(true);
350
-
351
-
352
- // use the last entry of each drill-stack entry to built
353
- // up the drill-path
354
- var sDimText = oInnerChart.getDimensionByName(dim.dimension[dim.dimension.length - 1]).getLabel();
355
- var sDimKey = oInnerChart.getDimensionByName(dim.dimension[dim.dimension.length - 1]).getName();
356
-
357
- // Set current drill position in breadcrumb control
358
- if (index == 0) {
359
-
360
- oDrillBreadcrumbs.setCurrentLocationText(sDimText);
361
- } else {
362
-
363
- var oCrumbSettings = {
364
- dimensionKey: sDimKey,
365
- dimensionText: sDimText
366
- };
367
-
368
- var oCrumb = this.createCrumb(oChart, oCrumbSettings);
369
- newLinks.push(oCrumb);//note the links are added in an incorrect order need to reverse
370
- }
371
- } else {
372
-
373
- // Show no text on breadcrumb if stack contains only one
374
- // entry with no dimension at all (all dims are shown)
375
- if (index == 0) {
376
- // hide breadcrumbs
377
- oDrillBreadcrumbs.setVisible(false);
378
- }
379
- }
380
- }, this);
381
- }
382
-
383
- var currLinks = oDrillBreadcrumbs.getLinks();
384
- newLinks.reverse();
385
- var diff = false;
386
-
387
- if (currLinks.length !== newLinks.length) {
388
- diff = true;
389
- } else {
390
-
391
- for (var i = 0; i < newLinks.length; i++) {
392
- if (newLinks[i].getText() != currLinks[i].getText()) {
393
- diff = true;
394
- break;
395
- }
396
- }
397
- }
398
-
399
- if (diff) {
400
-
401
- // Clear aggregation before we rebuild it
402
- if (oDrillBreadcrumbs.getLinks()) {
403
- oDrillBreadcrumbs.destroyLinks();
404
- }
405
-
406
- for (var i = 0; i < newLinks.length; i++) {
407
- oDrillBreadcrumbs.addLink(newLinks[i]);
408
- }
409
- }
410
-
411
- resolve(oDrillBreadcrumbs);
412
- }.bind(this));
413
- }.bind(this));
414
- };
415
-
416
205
  return DrillStackHandler;
417
206
  });