@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
@@ -21,7 +21,8 @@ sap.ui.define([
21
21
  "sap/ui/mdc/p13n/subcontroller/ChartItemController",
22
22
  "sap/ui/mdc/p13n/subcontroller/SortController",
23
23
  "sap/ui/base/ManagedObjectObserver",
24
- "sap/ui/mdc/chartNew/DrillBreadcrumbsNew"
24
+ "sap/ui/mdc/chartNew/DrillBreadcrumbsNew",
25
+ "sap/ui/mdc/actiontoolbar/ActionToolbarAction"
25
26
  ],
26
27
  function (
27
28
  Core,
@@ -40,7 +41,8 @@ sap.ui.define([
40
41
  ChartItemController,
41
42
  SortController,
42
43
  ManagedObjectObserver,
43
- Breadcrumbs
44
+ Breadcrumbs,
45
+ ActionToolbarAction
44
46
  ) {
45
47
  "use strict";
46
48
 
@@ -57,7 +59,7 @@ sap.ui.define([
57
59
  * @class The Chart control creates a chart based on metadata and the configuration specified.
58
60
  * @extends sap.ui.mdc.Control
59
61
  * @author SAP SE
60
- * @version 1.93.3
62
+ * @version 1.96.1
61
63
  * @constructor
62
64
  * @experimental As of version ...
63
65
  * @private
@@ -68,6 +70,7 @@ sap.ui.define([
68
70
  var Chart = Control.extend("sap.ui.mdc.ChartNew", /** @lends sap.ui.mdc.ChartNew.prototype */ {
69
71
  metadata: {
70
72
  library: "sap.ui.mdc",
73
+ designtime: "sap/ui/mdc/designtime/chart/ChartNew.designtime",
71
74
  interfaces: [
72
75
  "sap.ui.mdc.IxState"
73
76
  ],
@@ -219,7 +222,7 @@ sap.ui.define([
219
222
  type: "sap.ui.core.Control",
220
223
  multiple: true,
221
224
  forwarding: {
222
- idSuffix: "--toolbar",
225
+ getter: "_getToolbar",
223
226
  aggregation: "actions"
224
227
  }
225
228
  },
@@ -322,7 +325,7 @@ sap.ui.define([
322
325
 
323
326
  Chart.prototype.setP13nMode = function(aMode) {
324
327
  var aSortedKeys = null;
325
- if (aMode && aMode.length > 1){
328
+ if (aMode && aMode.length >= 1){
326
329
  aSortedKeys = [];
327
330
  var mKeys = aMode.reduce(function(mMap, sKey, iIndex){
328
331
  mMap[sKey] = true;
@@ -365,7 +368,10 @@ sap.ui.define([
365
368
  if (aMode && aMode.length > 0) {
366
369
  aMode.forEach(function(sMode){
367
370
  var sKey = sMode;
368
- oRegisterConfig.controller[sKey] = mRegistryOptions[sMode];
371
+ var oController = mRegistryOptions[sMode];
372
+ if (oController) {
373
+ oRegisterConfig.controller[sKey] = oController;
374
+ }
369
375
  });
370
376
 
371
377
  this.getEngine().registerAdaptation(this, oRegisterConfig);
@@ -383,18 +389,6 @@ sap.ui.define([
383
389
  * @ui5-restricted sap.ui.mdc
384
390
  */
385
391
  Chart.prototype.applySettings = function (mSettings, oScope) {
386
- // Note: In the mdc.Chart control metadata, the "action" aggregation
387
- // is defined as a forwarded aggregation.
388
- // However, the automatic forwarding of aggregations only works when
389
- // the target aggregation exists.
390
- // So, the actions are removed from the settings argument to prevent
391
- // an exception to happen when an aggregation is forwarded to a
392
- // target control that has not been created.
393
- if (mSettings) {
394
- this._aInitialToolbarActions = mSettings.actions;
395
- delete mSettings.actions;
396
- }
397
-
398
392
  Control.prototype.applySettings.apply(this, arguments);
399
393
 
400
394
  this.initializedPromise = new Promise(function (resolve, reject) {
@@ -452,7 +446,7 @@ sap.ui.define([
452
446
  }.bind(this));
453
447
 
454
448
  //independent from fetchProperties
455
- this._createToolbar();
449
+ this._getToolbar().createToolbarContent(this);
456
450
  };
457
451
 
458
452
  /**
@@ -486,10 +480,28 @@ sap.ui.define([
486
480
 
487
481
  };
488
482
 
483
+ Chart.prototype.setHeight = function(iHeight) {
484
+ try {
485
+ this.getControlDelegate().adjustChartHeight(this);
486
+ } catch (oError) {
487
+ //No need to do anything as correct height will be calculated anyways once inner chart is ready
488
+ }
489
+
490
+ this.setProperty("height", iHeight);
491
+
492
+ return this;
493
+ };
494
+
489
495
  Chart.prototype._createBreadcrumbs = function () {
490
496
  this._oBreadcrumbs = new Breadcrumbs(this.getId() + "--breadcrumbs");
491
497
  this._oBreadcrumbs.updateDrillBreadcrumbs(this, this.getControlDelegate().getDrillableItems(this));
492
498
  this.setAggregation("_breadcrumbs", this._oBreadcrumbs);
499
+
500
+ this._oBreadcrumbs.addEventDelegate({
501
+ onAfterRendering: function() {
502
+ this.getControlDelegate().adjustChartHeight(this);
503
+ }.bind(this)
504
+ });
493
505
  };
494
506
 
495
507
  /**
@@ -520,6 +532,14 @@ sap.ui.define([
520
532
 
521
533
  };
522
534
 
535
+ /**
536
+ * Gets the adaption UI for the p13n dialog
537
+ * @returns {Prmoise} promise that resolves with UI
538
+ */
539
+ Chart.prototype.getAdaptationUI = function () {
540
+ return this.getControlDelegate().getAdaptionUI(this);
541
+ };
542
+
523
543
  /**
524
544
  * Propagates a change on the "item" aggregation to the inner chart via the delegate
525
545
  * The delegate must then update the inner chart accordingly
@@ -527,16 +547,27 @@ sap.ui.define([
527
547
  * @param {object} oChange the change object from the ManagedObjectModel observer
528
548
  */
529
549
  Chart.prototype._propagateItemChangeToInnerChart = function (oChange) {
550
+
551
+ if (this._bIsDestroyed){
552
+ return; //Don't propagate changes when CHart is destroyed
553
+ }
554
+
530
555
  this.setBusy(true);
531
556
  switch (oChange.mutation) {
532
557
 
533
558
  case "insert":
534
- var iIndex = this.getItems().indexOf(oChange.child);
559
+ var iIndex;
535
560
 
536
- this.getControlDelegate().insertItemToInnerChart(oChange.child, iIndex);
561
+ if (oChange.child && oChange.child.getType()) {
562
+ iIndex = this.getItems().filter(function(oItem){return oItem.getType() === oChange.child.getType();}).indexOf(oChange.child);
563
+ } else {
564
+ iIndex = this.getItems().indexOf(oChange.child);
565
+ }
566
+
567
+ this.getControlDelegate().insertItemToInnerChart(this, oChange.child, iIndex);
537
568
  break;
538
569
  case "remove":
539
- this.getControlDelegate().removeItemFromInnerChart(oChange.child);
570
+ this.getControlDelegate().removeItemFromInnerChart(this, oChange.child);
540
571
  break;
541
572
  default:
542
573
  Log.error("Unknown mutation on MDC Chart Item Aggregation. This will not sync to inner chart!");
@@ -570,22 +601,19 @@ sap.ui.define([
570
601
 
571
602
  this.setBusy(true);
572
603
 
573
- if (!this.getControlDelegate().getInnerChartBound()) {
604
+ if (!this.getControlDelegate().getInnerChartBound(this)) {
574
605
  this._createContentfromPropertyInfos();
575
606
  return;
576
607
  }
577
608
 
578
- var oBindingInfo = this.oBindData ? this.oBindData : this.getControlDelegate()._getBindingInfo(this);
609
+ var oBindingInfo = this.getControlDelegate()._getBindingInfo(this);
579
610
 
580
611
  if (oBindingInfo) {
581
612
  oBindingInfo.sorter = this._getSorters();
582
613
  }
583
614
 
584
615
  this.getControlDelegate().updateBindingInfo(this, oBindingInfo); //Applies filters
585
- //TODO: Temporary workaround, find a solution to handle binding info for inner chart
586
- this.getControlDelegate().rebindChart(this, oBindingInfo, this._innerChartDataLoadComplete.bind(this));
587
-
588
- this._updateToolbar();
616
+ this.getControlDelegate().rebindChart(this, oBindingInfo);
589
617
  };
590
618
 
591
619
  /**
@@ -593,24 +621,17 @@ sap.ui.define([
593
621
  *
594
622
  * @private
595
623
  */
596
- Chart.prototype._createToolbar = function () {
597
- var toolbar = new ChartToolbar(this.getId() + "--toolbar", {
598
- design: "Transparent"
599
- });
600
-
601
- toolbar.createToolbarContent(this);
602
-
603
- this.setAggregation("_toolbar", toolbar);
604
- };
624
+ Chart.prototype._getToolbar = function () {
625
+ if (this.getAggregation("_toolbar")) {
626
+ return this.getAggregation("_toolbar");
627
+ } else {
628
+ var oToolbar = new ChartToolbar(this.getId() + "--toolbar", {
629
+ design: "Transparent"
630
+ });
605
631
 
606
- /**
607
- * Gets initial actions for toolbar as they cannot not be forwarded on init due to sorting issues
608
- * @returns {array} intial actions
609
- *
610
- * @private
611
- */
612
- Chart.prototype._getInitialToolbarActions = function() {
613
- return this._aInitialToolbarActions ? this._aInitialToolbarActions : [];
632
+ this.setAggregation("_toolbar", oToolbar);
633
+ return oToolbar;
634
+ }
614
635
  };
615
636
 
616
637
  /**
@@ -634,7 +655,7 @@ sap.ui.define([
634
655
  */
635
656
  Chart.prototype._getInnerChart = function () {
636
657
  if (this._bInnerChartReady) {
637
- return this.getControlDelegate().getInnerChart();
658
+ return this.getControlDelegate().getInnerChart(this);
638
659
  } else {
639
660
  Log.error("Trying to acces inner chart while inner chart is not yet initialized!");
640
661
  }
@@ -698,7 +719,7 @@ sap.ui.define([
698
719
  iValue = 10;
699
720
  }
700
721
 
701
- this.getControlDelegate().zoomIn(iValue);
722
+ this.getControlDelegate().zoomIn(this, iValue);
702
723
  };
703
724
 
704
725
  /**
@@ -714,7 +735,7 @@ sap.ui.define([
714
735
  iValue = 10;
715
736
  }
716
737
 
717
- this.getControlDelegate().zoomOut(iValue);
738
+ this.getControlDelegate().zoomOut(this, iValue);
718
739
  };
719
740
 
720
741
  /**
@@ -731,11 +752,19 @@ sap.ui.define([
731
752
  * @ui5-restricted sap.ui.mdc, sap.fe
732
753
  */
733
754
  Chart.prototype.getZoomState = function () {
734
- return this.getControlDelegate().getZoomState();
755
+ return this.getControlDelegate().getZoomState(this);
735
756
  };
736
757
 
737
758
  Chart.prototype.getSelectionHandler = function () {
738
- return this.getControlDelegate().getInnerChartSelectionHandler();
759
+ return this.getControlDelegate().getInnerChartSelectionHandler(this);
760
+ };
761
+
762
+ Chart.prototype.getChartTypeLayoutConfig = function() {
763
+ return this.getControlDelegate().getChartTypeLayoutConfig();
764
+ };
765
+
766
+ Chart.prototype.getAllowedRolesForKinds = function() {
767
+ return this.getControlDelegate().getAllowedRolesForKinds();
739
768
  };
740
769
 
741
770
  /**
@@ -752,7 +781,7 @@ sap.ui.define([
752
781
 
753
782
  //Skip if no control delegate; gets propagated by _propagatePropertiesToInnerChart after init
754
783
  try {
755
- this.getControlDelegate().setLegendVisible(bVisible);
784
+ this.getControlDelegate().setLegendVisible(this, bVisible);
756
785
  } catch (e) {
757
786
  Log.info("Trying to set legend visiblity for Chart before delegate was initialized");
758
787
  }
@@ -771,7 +800,7 @@ sap.ui.define([
771
800
 
772
801
  //Skip if no control delegate; gets propagated by _propagatePropertiesToInnerChart after init
773
802
  try {
774
- this.getControlDelegate().setChartTooltipVisibility(bValue);
803
+ this.getControlDelegate().setChartTooltipVisibility(this, bValue);
775
804
  } catch (e) {
776
805
  Log.info("Trying to set tooltip visibility before delegate was initialized");
777
806
  }
@@ -779,6 +808,12 @@ sap.ui.define([
779
808
  return this;
780
809
  };
781
810
 
811
+ Chart.prototype.destroy = function() {
812
+ this._bIsDestroyed = true;
813
+
814
+ Control.prototype.destroy.apply(this, arguments);
815
+ };
816
+
782
817
  /**
783
818
  * shows the drill-down popover for selection a dimension to drill down to.
784
819
  * @param {sap.m.Button} oDrillBtn reference to the drill down button for loacation of the popover
@@ -790,10 +825,7 @@ sap.ui.define([
790
825
  Chart.prototype._showDrillDown = function (oDrillBtn) {
791
826
  if (DrillStackHandler) {
792
827
 
793
- if (!this._oDrillDownPopover) {
794
- DrillStackHandler.createDrillDownPopover(this);
795
- }
796
-
828
+ DrillStackHandler.createDrillDownPopover(this);
797
829
  return DrillStackHandler.showDrillDownPopover(this, oDrillBtn);
798
830
  }
799
831
 
@@ -838,7 +870,7 @@ sap.ui.define([
838
870
  var mInfo;
839
871
 
840
872
  try {
841
- mInfo = this.getControlDelegate().getChartTypeInfo();
873
+ mInfo = this.getControlDelegate().getChartTypeInfo(this);
842
874
  } catch (error) {
843
875
  //Inner chart is not yet ready
844
876
  if (!mInfo) {
@@ -862,7 +894,7 @@ sap.ui.define([
862
894
  * @ui5-restricted Fiori Elements
863
895
  */
864
896
  Chart.prototype.getAvailableChartTypes = function () {
865
- return this.getControlDelegate().getAvailableChartTypes();
897
+ return this.getControlDelegate().getAvailableChartTypes(this);
866
898
  };
867
899
 
868
900
 
@@ -875,7 +907,7 @@ sap.ui.define([
875
907
  this.setProperty("chartType", sChartType);
876
908
 
877
909
  try {
878
- this.getControlDelegate().setChartType(sChartType);
910
+ this.getControlDelegate().setChartType(this, sChartType);
879
911
  } catch (e) {
880
912
  Log.info("Trying to set chart type for Chart before delegate was initialized");
881
913
  }
@@ -902,15 +934,14 @@ sap.ui.define([
902
934
  *
903
935
  * @private
904
936
  */
905
- //TODO: Pass this as an callback function to the delegate instead of calling it form the delegate directly
906
- Chart.prototype._innerChartDataLoadComplete = function () {
937
+ Chart.prototype._innerChartDataLoadComplete = function (mArguments) {
907
938
  this.setBusy(false);
908
939
  this._renderOverlay(false);
909
940
 
910
- this._updateToolbar();
941
+ this.getControlDelegate().requestToolbarUpdate(this);
911
942
 
912
943
  this.fireEvent("innerChartLoadedData ", {
913
- innerChart: this.getControlDelegate().getInnerChart()
944
+ innerChart: this.getControlDelegate().getInnerChart(this)
914
945
  });
915
946
  };
916
947
 
@@ -1042,7 +1073,7 @@ sap.ui.define([
1042
1073
  * @ui5-restricted Fiori Elements, sap.ui.mdc
1043
1074
  */
1044
1075
  Chart.prototype._onFiltersChanged = function(oEvent) {
1045
- if (this._bInnerChartReady && this.getControlDelegate() && this.getControlDelegate().getInnerChartBound() && oEvent.getParameter("conditionsBased")) {
1076
+ if (this._bInnerChartReady && this.getControlDelegate() && this.getControlDelegate().getInnerChartBound(this) && oEvent.getParameter("conditionsBased")) {
1046
1077
  this._renderOverlay(true);
1047
1078
  }
1048
1079
  };
@@ -1057,9 +1088,9 @@ sap.ui.define([
1057
1088
  */
1058
1089
  Chart.prototype._renderOverlay = function(bShow) {
1059
1090
 
1060
- if (this.getControlDelegate().getInnerChart()) {
1091
+ if (this.getControlDelegate().getInnerChart(this)) {
1061
1092
 
1062
- var $this = this.getControlDelegate().getInnerChart().$(), $overlay = $this.find(".sapUiMdcChartOverlay");
1093
+ var $this = this.getControlDelegate().getInnerChart(this).$(), $overlay = $this.find(".sapUiMdcChartOverlay");
1063
1094
  if (bShow && $overlay.length === 0) {
1064
1095
  $overlay = jQuery("<div>").addClass("sapUiOverlay sapUiMdcChartOverlay").css("z-index", "1");
1065
1096
  $this.append($overlay);
@@ -1069,5 +1100,15 @@ sap.ui.define([
1069
1100
  }
1070
1101
  };
1071
1102
 
1103
+ Chart.prototype.addAction = function(oControl) {
1104
+ if (oControl.getMetadata().getName() !== "sap.ui.mdc.actiontoolbar.ActionToolbarAction") {
1105
+ oControl = new ActionToolbarAction(oControl.getId() + "-action", {
1106
+ action: oControl
1107
+ });
1108
+ }
1109
+
1110
+ return Control.prototype.addAggregation.apply(this, ["actions", oControl]);
1111
+ };
1112
+
1072
1113
  return Chart;
1073
1114
  }, true);
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @extends sap.ui.core.Control
21
21
  * @abstract
22
22
  * @author SAP SE
23
- * @version 1.93.3
23
+ * @version 1.96.1
24
24
  * @alias sap.ui.mdc.Control
25
25
  *
26
26
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as awaitControlDelegate
@@ -37,9 +37,10 @@ sap.ui.define([
37
37
  * @borrows sap.ui.mdc.mixin.AdaptationMixin.getInbuiltFilter as getInbuiltFilter
38
38
  *
39
39
  * @private
40
- * @experimental
41
40
  * @since 1.61
42
- */
41
+ * @experimental As of version 1.61
42
+ * @ui5-restricted sap.ui.mdc
43
+ */
43
44
  var Control = CoreControl.extend("sap.ui.mdc.Control", /** @lends sap.ui.mdc.Control.prototype */ {
44
45
  metadata: {
45
46
  library: "sap.ui.mdc",
@@ -4,7 +4,7 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/ui/core/Element", "sap/ui/mdc/mixin/DelegateMixin", "sap/ui/mdc/mixin/AdaptationMixin"
7
+ "sap/ui/core/Element", "sap/ui/mdc/mixin/DelegateMixin", "sap/ui/mdc/mixin/AdaptationMixin"
8
8
  ], function(CoreElement, DelegateMixin, AdaptationMixin) {
9
9
  "use strict";
10
10
 
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @extends sap.ui.core.Element
21
21
  * @abstract
22
22
  * @author SAP SE
23
- * @version 1.93.3
23
+ * @version 1.96.1
24
24
  * @alias sap.ui.mdc.Element
25
25
  *
26
26
  * @borrows sap.ui.mdc.mixin.DelegateMixin.awaitControlDelegate as awaitControlDelegate
@@ -37,9 +37,10 @@ sap.ui.define([
37
37
  * @borrows sap.ui.mdc.mixin.AdaptationMixin.getInbuiltFilter as getInbuiltFilter
38
38
  *
39
39
  * @private
40
- * @experimental
41
40
  * @since 1.74
42
- */
41
+ * @experimental As of version 1.74
42
+ * @ui5-restricted sap.ui.mdc
43
+ */
43
44
  var Element = CoreElement.extend("sap.ui.mdc.Element", /** @lends sap.ui.mdc.Element.prototype */ {
44
45
  metadata: {
45
46
  library: "sap.ui.mdc",
@@ -46,12 +46,12 @@ sap.ui.define([
46
46
  * @implements sap.ui.core.IFormContent
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.93.3
49
+ * @version 1.96.1
50
50
  *
51
51
  * @constructor
52
52
  * @alias sap.ui.mdc.Field
53
53
  * @author SAP SE
54
- * @version 1.93.3
54
+ * @version 1.96.1
55
55
  * @since 1.54.0
56
56
  * @experimental As of version 1.54
57
57
  *
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * The metadata information is provided via the {@link sap.ui.mdc.FilterBarDelegate FilterBarDelegate} implementation. This implementation has to be provided by the application.
22
22
  * @extends sap.ui.mdc.filterbar.FilterBarBase
23
23
  * @author SAP SE
24
- * @version 1.93.3
24
+ * @version 1.96.1
25
25
  * @constructor
26
26
  * @experimental As of version 1.61
27
27
  * @private
@@ -44,15 +44,6 @@ sap.ui.define([
44
44
  defaultValue: true
45
45
  },
46
46
 
47
- /**
48
- * Determines whether the Go button is visible in the filter bar.<br>
49
- * <b>Note</b>: If the <code>liveMode</code> property is set to <code>true</code>, it is ignored.
50
- */
51
- showGoButton: {
52
- type: "boolean",
53
- defaultValue: true
54
- },
55
-
56
47
  /**
57
48
  * Specifies the personalization options for the filter bar.
58
49
  *
@@ -6,11 +6,13 @@
6
6
  sap.ui.define([
7
7
  'sap/ui/mdc/field/FieldBase',
8
8
  'sap/ui/mdc/field/FieldBaseRenderer',
9
- 'sap/base/util/merge'
9
+ 'sap/base/util/merge',
10
+ 'sap/base/util/deepEqual'
10
11
  ], function(
11
12
  FieldBase,
12
13
  FieldBaseRenderer,
13
- merge
14
+ merge,
15
+ deepEqual
14
16
  ) {
15
17
  "use strict";
16
18
 
@@ -29,12 +31,12 @@ sap.ui.define([
29
31
  * @extends sap.ui.mdc.field.FieldBase
30
32
  *
31
33
  * @author SAP SE
32
- * @version 1.93.3
34
+ * @version 1.96.1
33
35
  *
34
36
  * @constructor
35
37
  * @alias sap.ui.mdc.FilterField
36
38
  * @author SAP SE
37
- * @version 1.93.3
39
+ * @version 1.96.1
38
40
  * @since 1.48.0
39
41
  *
40
42
  * @experimental As of version 1.48
@@ -127,6 +129,28 @@ sap.ui.define([
127
129
 
128
130
  };
129
131
 
132
+ FilterField.prototype.setProperty = function(sPropertyName, oValue, bSuppressInvalidate) {
133
+
134
+ if (sPropertyName === "conditions" && this._bParseError && deepEqual(this.getConditions(), this.validateProperty(sPropertyName, oValue))) {
135
+ // in parse error and same Conditions - no update on property - so remove error here
136
+ // As ConditionModel triggers checkUpdate in forced mode on addCondition, setConditions... also unchanged conditions will be updated
137
+ // So e.g. if a variant is applied an error will be removed.
138
+ if (this._oContentFactory.getBoundProperty()) { // single value case
139
+ this._oManagedObjectModel.checkUpdate(true, true); // async. to reduce updates (additionalValue will follow)
140
+ } else { // Multi value case - don't update tokens, initialize value
141
+ var oContent = this._getContent()[0];
142
+ if (oContent && oContent.setValue) {
143
+ oContent.setValue(); // TODO: custom controls with different property?
144
+ }
145
+ this._removeUIMessage();
146
+ }
147
+ this._bParseError = false;
148
+ }
149
+
150
+ return FieldBase.prototype.setProperty.apply(this, arguments);
151
+
152
+ };
153
+
130
154
  FilterField.prototype._fireChange = function(aConditions, bValid, vWrongValue, oPromise) {
131
155
 
132
156
  var vValue;
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @extends sap.ui.mdc.field.FieldInfoBase
46
46
  *
47
47
  * @author SAP SE
48
- * @version 1.93.3
48
+ * @version 1.96.1
49
49
  *
50
50
  * @constructor
51
51
  * @alias sap.ui.mdc.Link
@@ -200,7 +200,7 @@ sap.ui.define([
200
200
 
201
201
  /**
202
202
  * Function that is called in the <code>createPopover</code> function of {@link sap.ui.mdc.field.FieldInfoBase}.
203
- * @param {Function} fnGetAutoClosedControl Function returning the <code>Popover</code> control that is created in <code>createPopover</code>
203
+ * @param {Function} [fnGetAutoClosedControl] Function returning the <code>Popover</code> control that is created in <code>createPopover</code>
204
204
  * @returns {sap.ui.mdc.link.Panel} Popover panel which is to be displayed after clicking the link
205
205
  * @protected
206
206
  * @ui5-restricted sap.ui.mdc
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @constructor
36
36
  * @alias sap.ui.mdc.MultiValueField
37
37
  * @author SAP SE
38
- * @version 1.93.3
38
+ * @version 1.96.1
39
39
  * @since 1.93.0
40
40
  *
41
41
  * @private