@openui5/sap.ui.mdc 1.93.3 → 1.96.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/.reuse/dep5 +6 -11
  2. package/THIRDPARTY.txt +10 -16
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +236 -334
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -1
  7. package/src/sap/ui/mdc/Chart.js +150 -22
  8. package/src/sap/ui/mdc/ChartDelegateNew.js +15 -0
  9. package/src/sap/ui/mdc/ChartNew.js +107 -66
  10. package/src/sap/ui/mdc/Control.js +4 -3
  11. package/src/sap/ui/mdc/Element.js +5 -4
  12. package/src/sap/ui/mdc/Field.js +2 -2
  13. package/src/sap/ui/mdc/FilterBar.js +1 -10
  14. package/src/sap/ui/mdc/FilterField.js +28 -4
  15. package/src/sap/ui/mdc/Link.js +2 -2
  16. package/src/sap/ui/mdc/MultiValueField.js +1 -1
  17. package/src/sap/ui/mdc/Table.js +160 -79
  18. package/src/sap/ui/mdc/TableDelegate.js +20 -3
  19. package/src/sap/ui/mdc/ValueHelp.js +1474 -0
  20. package/src/sap/ui/mdc/ValueHelpDelegate.js +147 -0
  21. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +49 -104
  22. package/src/sap/ui/mdc/chart/DimensionItem.js +3 -3
  23. package/src/sap/ui/mdc/chart/Item.js +2 -3
  24. package/src/sap/ui/mdc/chart/MeasureItem.js +2 -2
  25. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +21 -2
  26. package/src/sap/ui/mdc/chart/ToolbarHandler.js +237 -225
  27. package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +1 -1
  28. package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +14 -10
  29. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +1 -1
  30. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +12 -10
  31. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -1
  32. package/src/sap/ui/mdc/chartNew/PropertyHelperNew.js +1 -1
  33. package/src/sap/ui/mdc/condition/Condition.js +2 -2
  34. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  35. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  36. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  37. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +13 -7
  38. package/src/sap/ui/mdc/condition/Operator.js +4 -4
  39. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  40. package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +43 -0
  41. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +91 -0
  42. package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +20 -0
  43. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +31 -0
  44. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +5 -0
  45. package/src/sap/ui/mdc/enum/ContentMode.js +25 -4
  46. package/src/sap/ui/mdc/enum/SelectType.js +43 -0
  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 +19 -4
  50. package/src/sap/ui/mdc/field/ConditionsType.js +5 -4
  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 +38 -14
  54. package/src/sap/ui/mdc/field/FieldBase.js +92 -41
  55. package/src/sap/ui/mdc/field/FieldBaseDelegate.js +9 -2
  56. package/src/sap/ui/mdc/field/FieldHelpBase.js +64 -4
  57. package/src/sap/ui/mdc/field/FieldInfoBase.js +9 -1
  58. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  59. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  60. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  61. package/src/sap/ui/mdc/field/FieldValueHelp.js +7 -1
  62. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  63. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  64. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +1 -1
  65. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +2 -2
  66. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  67. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  68. package/src/sap/ui/mdc/field/ListFieldHelp.js +3 -3
  69. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  70. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  71. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  72. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  73. package/src/sap/ui/mdc/field/content/BooleanContent.js +15 -3
  74. package/src/sap/ui/mdc/field/content/ContentFactory.js +16 -8
  75. package/src/sap/ui/mdc/field/content/DefaultContent.js +64 -23
  76. package/src/sap/ui/mdc/field/content/LinkContent.js +6 -0
  77. package/src/sap/ui/mdc/field/content/SearchContent.js +21 -3
  78. package/src/sap/ui/mdc/field/content/UnitContent.js +2 -2
  79. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +105 -44
  80. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +52 -0
  81. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +10 -51
  82. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
  83. package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +22 -0
  84. package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +19 -0
  85. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
  86. package/src/sap/ui/mdc/flexibility/ConditionFlex.js +57 -46
  87. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
  88. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  89. package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +203 -197
  90. package/src/sap/ui/mdc/library.js +588 -8
  91. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  92. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  93. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  94. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  95. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  96. package/src/sap/ui/mdc/link/Factory.js +1 -1
  97. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  98. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  99. package/src/sap/ui/mdc/link/Panel.js +1 -1
  100. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  101. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  102. package/src/sap/ui/mdc/link/SelectionDialog.js +2 -2
  103. package/src/sap/ui/mdc/link/SelectionDialogItem.js +1 -1
  104. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  105. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  106. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  107. package/src/sap/ui/mdc/messagebundle.properties +31 -5
  108. package/src/sap/ui/mdc/messagebundle_ar.properties +11 -4
  109. package/src/sap/ui/mdc/messagebundle_bg.properties +10 -3
  110. package/src/sap/ui/mdc/messagebundle_ca.properties +10 -3
  111. package/src/sap/ui/mdc/messagebundle_cs.properties +12 -5
  112. package/src/sap/ui/mdc/messagebundle_cy.properties +10 -3
  113. package/src/sap/ui/mdc/messagebundle_da.properties +10 -3
  114. package/src/sap/ui/mdc/messagebundle_de.properties +12 -5
  115. package/src/sap/ui/mdc/messagebundle_el.properties +11 -4
  116. package/src/sap/ui/mdc/messagebundle_en.properties +9 -2
  117. package/src/sap/ui/mdc/messagebundle_en_GB.properties +10 -3
  118. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +11 -3
  119. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +19 -3
  120. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +11 -2
  121. package/src/sap/ui/mdc/messagebundle_es.properties +35 -28
  122. package/src/sap/ui/mdc/messagebundle_es_MX.properties +10 -3
  123. package/src/sap/ui/mdc/messagebundle_et.properties +10 -3
  124. package/src/sap/ui/mdc/messagebundle_fi.properties +11 -4
  125. package/src/sap/ui/mdc/messagebundle_fr.properties +22 -15
  126. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +10 -3
  127. package/src/sap/ui/mdc/messagebundle_hi.properties +10 -3
  128. package/src/sap/ui/mdc/messagebundle_hr.properties +10 -3
  129. package/src/sap/ui/mdc/messagebundle_hu.properties +11 -4
  130. package/src/sap/ui/mdc/messagebundle_id.properties +11 -4
  131. package/src/sap/ui/mdc/messagebundle_it.properties +33 -26
  132. package/src/sap/ui/mdc/messagebundle_iw.properties +10 -3
  133. package/src/sap/ui/mdc/messagebundle_ja.properties +13 -6
  134. package/src/sap/ui/mdc/messagebundle_kk.properties +10 -3
  135. package/src/sap/ui/mdc/messagebundle_ko.properties +10 -3
  136. package/src/sap/ui/mdc/messagebundle_lt.properties +10 -3
  137. package/src/sap/ui/mdc/messagebundle_lv.properties +10 -3
  138. package/src/sap/ui/mdc/messagebundle_ms.properties +10 -3
  139. package/src/sap/ui/mdc/messagebundle_nl.properties +11 -4
  140. package/src/sap/ui/mdc/messagebundle_no.properties +17 -10
  141. package/src/sap/ui/mdc/messagebundle_pl.properties +14 -7
  142. package/src/sap/ui/mdc/messagebundle_pt.properties +11 -4
  143. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +10 -3
  144. package/src/sap/ui/mdc/messagebundle_ro.properties +13 -6
  145. package/src/sap/ui/mdc/messagebundle_ru.properties +10 -3
  146. package/src/sap/ui/mdc/messagebundle_sh.properties +10 -3
  147. package/src/sap/ui/mdc/messagebundle_sk.properties +11 -4
  148. package/src/sap/ui/mdc/messagebundle_sl.properties +10 -3
  149. package/src/sap/ui/mdc/messagebundle_sv.properties +11 -4
  150. package/src/sap/ui/mdc/messagebundle_th.properties +16 -9
  151. package/src/sap/ui/mdc/messagebundle_tr.properties +10 -3
  152. package/src/sap/ui/mdc/messagebundle_uk.properties +10 -3
  153. package/src/sap/ui/mdc/messagebundle_vi.properties +10 -3
  154. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +10 -3
  155. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +10 -3
  156. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
  157. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
  158. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +3 -3
  159. package/src/sap/ui/mdc/mixin/PromiseMixin.js +94 -0
  160. package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +1 -1
  161. package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +6 -6
  162. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +37 -10
  163. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +94 -0
  164. package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew.js +492 -203
  165. package/src/sap/ui/mdc/p13n/DefaultProviderRegistry.js +1 -1
  166. package/src/sap/ui/mdc/p13n/Engine.js +3 -2
  167. package/src/sap/ui/mdc/p13n/P13nBuilder.js +6 -60
  168. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  169. package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
  170. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +22 -24
  171. package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +59 -0
  172. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +1 -2
  173. package/src/sap/ui/mdc/p13n/panels/BasePanel.js +17 -8
  174. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -2
  175. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +1171 -0
  176. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +1 -1
  177. package/src/sap/ui/mdc/p13n/panels/GroupView.js +7 -11
  178. package/src/sap/ui/mdc/p13n/panels/ListView.js +5 -3
  179. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +16 -9
  180. package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -1
  181. package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -1
  182. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +1 -1
  183. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +1 -1
  184. package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +89 -0
  185. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +9 -6
  186. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +33 -4
  187. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +9 -15
  188. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +12 -0
  189. package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +5 -12
  190. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +19 -21
  191. package/src/sap/ui/mdc/table/Column.js +35 -9
  192. package/src/sap/ui/mdc/table/CreationRow.js +1 -1
  193. package/src/sap/ui/mdc/table/GridTableType.js +0 -1
  194. package/src/sap/ui/mdc/table/PropertyHelper.js +108 -5
  195. package/src/sap/ui/mdc/table/ResponsiveTableType.js +19 -3
  196. package/src/sap/ui/mdc/table/RowSettings.js +1 -1
  197. package/src/sap/ui/mdc/table/TableTypeBase.js +0 -1
  198. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  199. package/src/sap/ui/mdc/themes/base/FilterBar.less +2 -2
  200. package/src/sap/ui/mdc/themes/base/GroupView.less +2 -2
  201. package/src/sap/ui/mdc/themes/base/ListView.less +2 -2
  202. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +56 -21
  203. package/src/sap/ui/mdc/ui/Container.js +2 -2
  204. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  205. package/src/sap/ui/mdc/util/Common.js +26 -0
  206. package/src/sap/ui/mdc/util/FilterUtil.js +12 -1
  207. package/src/sap/ui/mdc/util/IdentifierUtil.js +4 -0
  208. package/src/sap/ui/mdc/util/PromiseCache.js +266 -0
  209. package/src/sap/ui/mdc/util/PropertyHelper.js +22 -1
  210. package/src/sap/ui/mdc/valuehelp/Dialog.js +498 -0
  211. package/src/sap/ui/mdc/valuehelp/Popover.js +362 -0
  212. package/src/sap/ui/mdc/valuehelp/base/Container.js +642 -0
  213. package/src/sap/ui/mdc/valuehelp/base/Content.js +628 -0
  214. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +139 -0
  215. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +557 -0
  216. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +133 -0
  217. package/src/sap/ui/mdc/valuehelp/content/Bool.js +318 -0
  218. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +276 -0
  219. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +532 -0
  220. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +638 -0
  221. package/src/sap/ui/mdc/valuehelp/content/MTable.js +916 -0
  222. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -2
  223. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +48 -0
  224. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsBase.js +310 -0
  225. package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsViz.js +39 -0
  226. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsBase.js +118 -0
  227. package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsViz.js +137 -0
  228. package/test/sap/ui/mdc/testutils/opa/chartNew/ChartNew.js +24 -0
  229. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +289 -0
  230. package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +250 -0
  231. package/test/sap/ui/mdc/testutils/opa/filterbar/Assertions.js +91 -0
  232. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +137 -0
  233. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +25 -0
  234. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +401 -93
  235. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +4 -1
  236. package/test/sap/ui/mdc/testutils/opa/p13n/{waitForP13nButtonWithParentAndIcon.js → waitForP13nButtonWithMatchers.js} +5 -18
  237. package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +0 -1
@@ -98,7 +98,8 @@ sap.ui.define(['sap/ui/mdc/BaseDelegate', 'sap/ui/core/library'], function (Base
98
98
 
99
99
  return {
100
100
  validation: sValidation,
101
- message: "Please provide a meaningful message here."
101
+ /* Please provide a meaningful message here. */
102
+ message: undefined
102
103
  };
103
104
  }
104
105
 
@@ -25,7 +25,9 @@ sap.ui.define([
25
25
  "sap/m/Text",
26
26
  "sap/ui/mdc/p13n/subcontroller/ChartItemController",
27
27
  "sap/ui/mdc/p13n/subcontroller/SortController",
28
- 'sap/ui/events/KeyCodes'
28
+ "sap/ui/events/KeyCodes",
29
+ "sap/ui/mdc/actiontoolbar/ActionToolbarAction",
30
+ 'sap/ui/mdc/p13n/panels/ChartItemPanelNew'
29
31
  ],
30
32
  function (
31
33
  Core,
@@ -48,7 +50,9 @@ sap.ui.define([
48
50
  Text,
49
51
  ChartItemController,
50
52
  SortController,
51
- KeyCodes
53
+ KeyCodes,
54
+ ActionToolbarAction,
55
+ ChartItemPanel
52
56
  ) {
53
57
  "use strict";
54
58
 
@@ -57,11 +61,9 @@ sap.ui.define([
57
61
  DrillStackHandler,
58
62
  ChartTypeButton,
59
63
  MeasureItemClass,
60
- VizTooltip,
61
- FILTER_INTERFACE = "sap.ui.mdc.IFilter";
64
+ VizTooltip;
62
65
 
63
66
  /**
64
- /**
65
67
  * Constructor for a new Chart.
66
68
  *
67
69
  * @param {string} [sId] id for the new control, generated automatically if no id is given
@@ -69,7 +71,7 @@ sap.ui.define([
69
71
  * @class The Chart control creates a chart based on metadata and the configuration specified.
70
72
  * @extends sap.ui.mdc.Control
71
73
  * @author SAP SE
72
- * @version 1.93.3
74
+ * @version 1.96.1
73
75
  * @constructor
74
76
  * @experimental As of version 1.61
75
77
  * @private
@@ -192,7 +194,7 @@ sap.ui.define([
192
194
  */
193
195
  _colorings: {
194
196
  type: "object",
195
- visibility: "_hidden",
197
+ visibility: "hidden",
196
198
  byValue: true
197
199
  },
198
200
 
@@ -267,25 +269,29 @@ sap.ui.define([
267
269
  type: "sap.ui.core.Control",
268
270
  multiple: true,
269
271
  forwarding: {
270
- idSuffix: "--toolbar",
272
+ getter: "_getToolbar",
271
273
  aggregation: "actions"
272
274
  }
273
275
  },
274
276
  _chart: {
275
277
  type: "sap.chart.Chart",
276
- multiple: false
278
+ multiple: false,
279
+ visibility: "hidden"
277
280
  },
278
281
  _toolbar: {
279
282
  type: "sap.ui.mdc.ActionToolbar",
280
- multiple: false
283
+ multiple: false,
284
+ visibility: "hidden"
281
285
  },
282
286
  _breadcrumbs: {
283
287
  type: "sap.m.Breadcrumbs",
284
- multiple: false
288
+ multiple: false,
289
+ visibility: "hidden"
285
290
  },
286
291
  _noDataStruct: {
287
292
  type: "sap.m.VBox",
288
- multiple: false
293
+ multiple: false,
294
+ visibility: "hidden"
289
295
  },
290
296
  selectionDetailsActions: {
291
297
  type: "sap.ui.mdc.chart.SelectionDetailsActions",
@@ -300,11 +306,14 @@ sap.ui.define([
300
306
  * @since 1.78
301
307
  */
302
308
  filter: {
303
- type: FILTER_INTERFACE,
309
+ type: "sap.ui.mdc.IFilter",
304
310
  multiple: false
305
311
  }
306
312
  },
307
313
  events: {
314
+ /**
315
+ * This event is fired when a SelectionDetailsAction is pressed.
316
+ */
308
317
  selectionDetailsActionPressed: {
309
318
  parameters: {
310
319
 
@@ -333,6 +342,9 @@ sap.ui.define([
333
342
  }
334
343
  }
335
344
  },
345
+ /**
346
+ * This event is fired when the selection in the inner chart changes.
347
+ */
336
348
  dataPointsSelected:{
337
349
  parameters: {
338
350
  /**
@@ -350,6 +362,7 @@ sap.ui.define([
350
362
  var _onSelectionMode = function(vValue) {
351
363
 
352
364
  if (!this.oChartPromise) {
365
+ this._bNeedSelectionModeSet = true;
353
366
  return;
354
367
  }
355
368
 
@@ -442,7 +455,10 @@ sap.ui.define([
442
455
  // target control that has not been created.
443
456
  if (mSettings) {
444
457
  aActions = mSettings.actions;
445
- delete mSettings.actions;
458
+ }
459
+
460
+ if (!this._oToolbarHandler) {
461
+ this._oToolbarHandler = new ToolbarHandler();
446
462
  }
447
463
 
448
464
  var oManagedObj = Control.prototype.applySettings.apply(this, arguments);
@@ -477,7 +493,7 @@ sap.ui.define([
477
493
  this._mStoredActions = aActions;
478
494
 
479
495
  //Toolbar needs settings to be applied before creation to read properties like header/title
480
- ToolbarHandler.createToolbar(this, aActions, true);
496
+ this._oToolbarHandler.createToolbar(this, aActions, true);
481
497
  this._createTempNoData();
482
498
  }
483
499
 
@@ -485,6 +501,14 @@ sap.ui.define([
485
501
 
486
502
  };
487
503
 
504
+ Chart.prototype._getToolbar = function(){
505
+ if (!this.getAggregation("_toolbar")){
506
+ this._oToolbarHandler.createToolbar(this);
507
+ }
508
+
509
+ return this.getAggregation("_toolbar");
510
+ };
511
+
488
512
  /**
489
513
  * Create a temporary NoData structure in case inner chart is not created yet.
490
514
  * @private
@@ -561,10 +585,14 @@ sap.ui.define([
561
585
 
562
586
  .then(function createDrillBreadcrumbs(oInnerChart) {
563
587
 
588
+ if (!this._oToolbarHandler) {
589
+ this._oToolbarHandler = new ToolbarHandler();
590
+ }
591
+
564
592
  if (this.getAutoBindOnInit()){
565
- ToolbarHandler.createToolbar(this, aActions);
593
+ this._oToolbarHandler.createToolbar(this, aActions);
566
594
  } else {
567
- ToolbarHandler.updateToolbar(this);
595
+ this._oToolbarHandler.updateToolbar(this);
568
596
  }
569
597
 
570
598
  this._createDrillBreadcrumbs();
@@ -583,7 +611,7 @@ sap.ui.define([
583
611
 
584
612
  }.bind(this));
585
613
 
586
- if (!mSettings || mSettings.selectionMode === undefined) {
614
+ if (!mSettings || mSettings.selectionMode === undefined || this._bNeedSelectionModeSet) {
587
615
  _onSelectionMode.apply(this);
588
616
  }
589
617
 
@@ -598,9 +626,10 @@ sap.ui.define([
598
626
  /**
599
627
  * Calls the Delegates to bind the aggregation onto the inner chart
600
628
  *
601
- * @param {string} sName name of the aggregation
602
- * @param oBindingInfo binding info for the aggregation
603
- * @param sSearchText search text (optional)
629
+ * @param {string} sName Name of a public aggregation to bind
630
+ * @param {sap.ui.base.ManagedObject.AggregationBindingInfo} oBindingInfo binding info for the aggregation
631
+ * @param {string} [sSearchText] search text (optional)
632
+ * @returns {this} Returns <code>this</code> to allow method chaining
604
633
  *
605
634
  * @experimental
606
635
  * @private
@@ -627,7 +656,7 @@ sap.ui.define([
627
656
  };
628
657
 
629
658
  Chart.prototype._onDataLoadComplete = function(mEventParams) {
630
- if (mEventParams.mParameters.reason === "change" && !mEventParams.mParameters.detailedReason) {
659
+ if ((mEventParams.mParameters.reason === "change" || mEventParams.mParameters.reason === "filter" ) && !mEventParams.mParameters.detailedReason) {
631
660
  this.setBusy(false);
632
661
  }
633
662
  };
@@ -919,6 +948,11 @@ sap.ui.define([
919
948
  this.oChartPromise = null;
920
949
  this._oSelectionHandlerPromise = null;
921
950
 
951
+ if (this._oToolbarHandler) {
952
+ this._oToolbarHandler.destroy();
953
+ this._oToolbarHandler = null;
954
+ }
955
+
922
956
  var oChart = this.getAggregation("_chart");
923
957
 
924
958
  if (oChart) {
@@ -1744,6 +1778,55 @@ sap.ui.define([
1744
1778
  }
1745
1779
  };
1746
1780
 
1781
+ /**
1782
+ * This function is used by P13n to determine which chart type supports which layout options.
1783
+ * There might be chart tyoes which do not support certain layout options (i.e. "Axis3").
1784
+ * Layout config is defined as followed:
1785
+ * {
1786
+ * key: string //identifier for the chart type
1787
+ * allowedLayoutOptions : [] //array containing allowed layout options as string
1788
+ * }
1789
+ *
1790
+ * @returns {array}
1791
+ */
1792
+ Chart.prototype.getChartTypeLayoutConfig = function() {
1793
+
1794
+ if (this._aChartTypeLayout) {
1795
+ return this._aChartTypeLayout;
1796
+ }
1797
+
1798
+ var MDCRb = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
1799
+
1800
+ var aStandardSetup = [
1801
+ {kind: "Dimension", availableRoles:[{key: MDCLib.ChartItemRoleType.category, text: MDCRb.getText('chart.PERSONALIZATION_DIALOG_CHARTROLE_CATEGORY')}, {key: MDCLib.ChartItemRoleType.series, text: MDCRb.getText('chart.PERSONALIZATION_DIALOG_CHARTROLE_SERIES')}]},
1802
+ {kind: "Measure", availableRoles: [{key: MDCLib.ChartItemRoleType.axis1, text: MDCRb.getText('chart.PERSONALIZATION_DIALOG_CHARTROLE_AXIS1')}]}
1803
+ ];
1804
+
1805
+
1806
+ this._aChartTypeLayout = [
1807
+ {key: "column", allowedLayoutOptions: [MDCLib.ChartItemRoleType.axis1, MDCLib.ChartItemRoleType.category, MDCLib.ChartItemRoleType.series], templateConfig: aStandardSetup},
1808
+ {key: "bar", allowedLayoutOptions: [MDCLib.ChartItemRoleType.axis1, MDCLib.ChartItemRoleType.category, MDCLib.ChartItemRoleType.series], templateConfig: aStandardSetup},
1809
+ {key: "dual_column", allowedLayoutOptions: [MDCLib.ChartItemRoleType.axis1, MDCLib.ChartItemRoleType.axis2, MDCLib.ChartItemRoleType.category, MDCLib.ChartItemRoleType.series], templateConfig: aStandardSetup}
1810
+ ];
1811
+ return this._aChartTypeLayout;
1812
+ };
1813
+
1814
+ Chart.prototype.getAdaptationUI = function() {
1815
+
1816
+ var oLayoutConfig = this.getChartTypeLayoutConfig().find(function(it){return it.key === this.getChartType();}.bind(this));
1817
+
1818
+ var oArguments = {panelConfig: oLayoutConfig};
1819
+
1820
+ return Promise.resolve(new ChartItemPanel(oArguments));
1821
+ };
1822
+
1823
+ Chart.prototype.getAllowedRolesForKinds = function() {
1824
+ return [
1825
+ {kind: "Measure", allowedRoles: this._getLayoutOptionsForType("aggregatable")},
1826
+ {kind: "Dimension", allowedRoles: this._getLayoutOptionsForType("groupable")}
1827
+ ];
1828
+ };
1829
+
1747
1830
  Chart.prototype.onkeydown = function(oEvent) {
1748
1831
  if (oEvent.isMarked()) {
1749
1832
  return;
@@ -1763,5 +1846,50 @@ sap.ui.define([
1763
1846
  }
1764
1847
  };
1765
1848
 
1849
+ Chart.prototype.addAction = function(oControl) {
1850
+ if (oControl.getMetadata().getName() !== "sap.ui.mdc.actiontoolbar.ActionToolbarAction") {
1851
+ oControl = new ActionToolbarAction(oControl.getId() + "-action", {
1852
+ action: oControl
1853
+ });
1854
+ }
1855
+
1856
+ return Control.prototype.addAggregation.apply(this, ["actions", oControl]);
1857
+ };
1858
+ /**
1859
+ * This returns the layout options for a specific type of Item (measure/dimension,groupable/aggregatable)
1860
+ * It is used by p13n to determine which layout options to show in the p13n panel
1861
+ * @param {string} sType the type for which the layout options are requested
1862
+ */
1863
+ Chart.prototype._getLayoutOptionsForType = function(sType){
1864
+ var MDCRb = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
1865
+ var oAvailableRoles = {
1866
+ groupable: [
1867
+ {
1868
+ key: MDCLib.ChartItemRoleType.category,
1869
+ text: MDCRb.getText('chart.PERSONALIZATION_DIALOG_CHARTROLE_CATEGORY')
1870
+ }, {
1871
+ key: MDCLib.ChartItemRoleType.category2,
1872
+ text: MDCRb.getText('chart.PERSONALIZATION_DIALOG_CHARTROLE_CATEGORY2')
1873
+ }, {
1874
+ key: MDCLib.ChartItemRoleType.series,
1875
+ text: MDCRb.getText('chart.PERSONALIZATION_DIALOG_CHARTROLE_SERIES')
1876
+ }
1877
+ ],
1878
+ aggregatable: [
1879
+ {
1880
+ key: MDCLib.ChartItemRoleType.axis1,
1881
+ text: MDCRb.getText('chart.PERSONALIZATION_DIALOG_CHARTROLE_AXIS1')
1882
+ }, {
1883
+ key: MDCLib.ChartItemRoleType.axis2,
1884
+ text: MDCRb.getText('chart.PERSONALIZATION_DIALOG_CHARTROLE_AXIS2')
1885
+ }, {
1886
+ key: MDCLib.ChartItemRoleType.axis3,
1887
+ text: MDCRb.getText('chart.PERSONALIZATION_DIALOG_CHARTROLE_AXIS3')
1888
+ }
1889
+ ]
1890
+ };
1891
+ return oAvailableRoles[sType];
1892
+ };
1893
+
1766
1894
  return Chart;
1767
1895
  }, true);
@@ -224,6 +224,21 @@ sap.ui.define([
224
224
  ChartDelegate.getChartTypeInfo = function () {
225
225
  };
226
226
 
227
+ /**
228
+ * This function is used by P13n to determine which chart type supports which layout options.
229
+ * There might be chart tyoes which do not support certain layout options (i.e. "Axis3").
230
+ * Layout config is defined as followed:
231
+ * {
232
+ * key: string //identifier for the chart type
233
+ * allowedLayoutOptions : [] //array containing allowed layout options as string
234
+ * }
235
+ *
236
+ * @returns {array}
237
+ */
238
+ ChartDelegate.getChartTypeLayoutConfig = function() {
239
+
240
+ };
241
+
227
242
  /**
228
243
  * Gets the available chart types for the current state of the inner chart.
229
244
  *