@openui5/sap.ui.mdc 1.97.1 → 1.99.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 (263) hide show
  1. package/.reuse/dep5 +25 -30
  2. package/THIRDPARTY.txt +14 -21
  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 +1100 -1796
  9. package/src/sap/ui/mdc/ChartDelegate.js +429 -270
  10. package/src/sap/ui/mdc/ChartRenderer.js +73 -77
  11. package/src/sap/ui/mdc/Control.js +1 -1
  12. package/src/sap/ui/mdc/Element.js +1 -1
  13. package/src/sap/ui/mdc/Field.js +2 -2
  14. package/src/sap/ui/mdc/FilterBar.js +3 -2
  15. package/src/sap/ui/mdc/FilterField.js +11 -8
  16. package/src/sap/ui/mdc/Link.js +23 -4
  17. package/src/sap/ui/mdc/LinkDelegate.js +3 -3
  18. package/src/sap/ui/mdc/MultiValueField.js +20 -6
  19. package/src/sap/ui/mdc/Table.js +79 -64
  20. package/src/sap/ui/mdc/TableDelegate.js +40 -12
  21. package/src/sap/ui/mdc/ValueHelp.js +19 -9
  22. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  23. package/src/sap/ui/mdc/{chartNew/ChartSelectionDetailsNew.js → chart/ChartSelectionDetails.js} +8 -8
  24. package/src/sap/ui/mdc/{chartNew/ChartToolbarNew.js → chart/ChartToolbar.js} +49 -13
  25. package/src/sap/ui/mdc/chart/ChartTypeButton.js +55 -54
  26. package/src/sap/ui/mdc/{chartNew/DrillBreadcrumbsNew.js → chart/DrillBreadcrumbs.js} +3 -3
  27. package/src/sap/ui/mdc/chart/DrillStackHandler.js +38 -249
  28. package/src/sap/ui/mdc/chart/Item.js +62 -92
  29. package/src/sap/ui/mdc/{chartNew/PropertyHelperNew.js → chart/PropertyHelper.js} +3 -3
  30. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +17 -21
  31. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  32. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  33. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  34. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  35. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +256 -43
  36. package/src/sap/ui/mdc/condition/Operator.js +1 -1
  37. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
  38. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  39. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +80 -5
  40. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +81 -5
  41. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +3 -0
  42. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +60 -20
  43. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  44. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  45. package/src/sap/ui/mdc/field/ConditionType.js +3 -3
  46. package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
  47. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  48. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  49. package/src/sap/ui/mdc/field/DefineConditionPanel.js +75 -27
  50. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +4 -4
  51. package/src/sap/ui/mdc/field/FieldBase.js +32 -6
  52. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +0 -3
  53. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  54. package/src/sap/ui/mdc/field/FieldInfoBase.js +23 -10
  55. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  56. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  57. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  58. package/src/sap/ui/mdc/field/FieldValueHelp.js +2 -2
  59. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  60. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  61. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +2 -2
  62. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +6 -3
  63. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  64. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  65. package/src/sap/ui/mdc/field/ListFieldHelp.js +10 -2
  66. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  67. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  68. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  69. package/src/sap/ui/mdc/field/TokenDisplay.js +70 -0
  70. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +24 -0
  71. package/src/sap/ui/mdc/field/TokenizerDisplay.js +80 -0
  72. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +69 -0
  73. package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
  74. package/src/sap/ui/mdc/field/content/ContentFactory.js +5 -5
  75. package/src/sap/ui/mdc/field/content/DateContent.js +2 -2
  76. package/src/sap/ui/mdc/field/content/DefaultContent.js +35 -13
  77. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  78. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +335 -126
  79. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  80. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  81. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +8 -2
  82. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +3 -1
  83. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +7 -1
  84. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +6 -6
  85. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +2 -2
  86. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +6 -4
  87. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
  88. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +4 -3
  89. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  90. package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
  91. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +9 -3
  92. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +110 -0
  93. package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -2
  94. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +6 -6
  95. package/src/sap/ui/mdc/library.js +45 -42
  96. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  97. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  98. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  99. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  100. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  101. package/src/sap/ui/mdc/link/Factory.js +2 -2
  102. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  103. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  104. package/src/sap/ui/mdc/link/Log.js +1 -1
  105. package/src/sap/ui/mdc/link/Panel.js +140 -177
  106. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  107. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  108. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  109. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  110. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  111. package/src/sap/ui/mdc/messagebundle.properties +55 -1
  112. package/src/sap/ui/mdc/messagebundle_ar.properties +39 -4
  113. package/src/sap/ui/mdc/messagebundle_bg.properties +54 -19
  114. package/src/sap/ui/mdc/messagebundle_ca.properties +37 -2
  115. package/src/sap/ui/mdc/messagebundle_cs.properties +52 -17
  116. package/src/sap/ui/mdc/messagebundle_cy.properties +37 -2
  117. package/src/sap/ui/mdc/messagebundle_da.properties +44 -9
  118. package/src/sap/ui/mdc/messagebundle_de.properties +37 -2
  119. package/src/sap/ui/mdc/messagebundle_el.properties +38 -3
  120. package/src/sap/ui/mdc/messagebundle_en.properties +37 -2
  121. package/src/sap/ui/mdc/messagebundle_en_GB.properties +37 -2
  122. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +37 -2
  123. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +61 -4
  124. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +37 -2
  125. package/src/sap/ui/mdc/messagebundle_es.properties +37 -2
  126. package/src/sap/ui/mdc/messagebundle_es_MX.properties +51 -16
  127. package/src/sap/ui/mdc/messagebundle_et.properties +37 -2
  128. package/src/sap/ui/mdc/messagebundle_fi.properties +43 -8
  129. package/src/sap/ui/mdc/messagebundle_fr.properties +38 -3
  130. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +37 -2
  131. package/src/sap/ui/mdc/messagebundle_hi.properties +38 -3
  132. package/src/sap/ui/mdc/messagebundle_hr.properties +37 -2
  133. package/src/sap/ui/mdc/messagebundle_hu.properties +37 -2
  134. package/src/sap/ui/mdc/messagebundle_id.properties +37 -2
  135. package/src/sap/ui/mdc/messagebundle_it.properties +53 -18
  136. package/src/sap/ui/mdc/messagebundle_iw.properties +38 -3
  137. package/src/sap/ui/mdc/messagebundle_ja.properties +37 -2
  138. package/src/sap/ui/mdc/messagebundle_kk.properties +37 -2
  139. package/src/sap/ui/mdc/messagebundle_ko.properties +41 -6
  140. package/src/sap/ui/mdc/messagebundle_lt.properties +37 -2
  141. package/src/sap/ui/mdc/messagebundle_lv.properties +41 -6
  142. package/src/sap/ui/mdc/messagebundle_ms.properties +37 -2
  143. package/src/sap/ui/mdc/messagebundle_nl.properties +42 -7
  144. package/src/sap/ui/mdc/messagebundle_no.properties +45 -10
  145. package/src/sap/ui/mdc/messagebundle_pl.properties +38 -3
  146. package/src/sap/ui/mdc/messagebundle_pt.properties +44 -9
  147. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +37 -2
  148. package/src/sap/ui/mdc/messagebundle_ro.properties +37 -2
  149. package/src/sap/ui/mdc/messagebundle_ru.properties +37 -2
  150. package/src/sap/ui/mdc/messagebundle_sh.properties +37 -2
  151. package/src/sap/ui/mdc/messagebundle_sk.properties +37 -2
  152. package/src/sap/ui/mdc/messagebundle_sl.properties +37 -2
  153. package/src/sap/ui/mdc/messagebundle_sv.properties +39 -4
  154. package/src/sap/ui/mdc/messagebundle_th.properties +40 -5
  155. package/src/sap/ui/mdc/messagebundle_tr.properties +37 -2
  156. package/src/sap/ui/mdc/messagebundle_uk.properties +41 -6
  157. package/src/sap/ui/mdc/messagebundle_vi.properties +37 -2
  158. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +37 -2
  159. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +37 -2
  160. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +19 -5
  161. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
  162. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +14 -9
  163. package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -3
  164. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
  165. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +29 -483
  166. package/src/sap/ui/mdc/odata/v4/{ChartPropertyHelperNew.js → ChartPropertyHelper.js} +5 -5
  167. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +112 -96
  168. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +1 -1
  169. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
  170. package/src/sap/ui/mdc/odata/v4/vizChart/{ChartDelegateNew.js → ChartDelegate.js} +206 -116
  171. package/src/sap/ui/mdc/p13n/Engine.js +31 -13
  172. package/src/sap/ui/mdc/p13n/FlexUtil.js +11 -118
  173. package/src/sap/ui/mdc/p13n/P13nBuilder.js +7 -7
  174. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  175. package/src/sap/ui/mdc/p13n/StateUtil.js +20 -6
  176. package/src/sap/ui/mdc/p13n/UIManager.js +5 -7
  177. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +4 -1
  178. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +9 -6
  179. package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
  180. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1092 -48
  181. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +72 -0
  182. package/src/sap/ui/mdc/p13n/panels/ListView.js +6 -2
  183. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +6 -5
  184. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +156 -11
  185. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +15 -26
  186. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +6 -5
  187. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +14 -7
  188. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +173 -0
  189. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +10 -17
  190. package/src/sap/ui/mdc/table/Column.js +12 -12
  191. package/src/sap/ui/mdc/table/CreationRow.js +11 -11
  192. package/src/sap/ui/mdc/table/GridTableType.js +5 -6
  193. package/src/sap/ui/mdc/table/PropertyHelper.js +44 -7
  194. package/src/sap/ui/mdc/table/ResponsiveTableType.js +8 -10
  195. package/src/sap/ui/mdc/table/RowSettings.js +4 -4
  196. package/src/sap/ui/mdc/table/TableTypeBase.js +2 -2
  197. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
  198. package/src/sap/ui/mdc/themes/base/FieldBase.less +0 -5
  199. package/src/sap/ui/mdc/themes/base/TokenDisplay.less +89 -0
  200. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +90 -0
  201. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +15 -4
  202. package/src/sap/ui/mdc/themes/base/library.source.less +2 -0
  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 +1 -1
  206. package/src/sap/ui/mdc/util/DateUtil.js +1 -1
  207. package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
  208. package/src/sap/ui/mdc/util/FormatUtil.js +3 -3
  209. package/src/sap/ui/mdc/util/IdentifierUtil.js +6 -6
  210. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  211. package/src/sap/ui/mdc/util/PropertyHelper.js +43 -12
  212. package/src/sap/ui/mdc/util/TypeUtil.js +5 -4
  213. package/src/sap/ui/mdc/valuehelp/Dialog.js +11 -8
  214. package/src/sap/ui/mdc/valuehelp/Popover.js +2 -1
  215. package/src/sap/ui/mdc/valuehelp/base/Container.js +2 -1
  216. package/src/sap/ui/mdc/valuehelp/base/Content.js +2 -1
  217. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -1
  218. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +2 -1
  219. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -1
  220. package/src/sap/ui/mdc/valuehelp/content/Bool.js +2 -1
  221. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +4 -2
  222. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +11 -5
  223. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +43 -8
  224. package/src/sap/ui/mdc/valuehelp/content/MTable.js +43 -24
  225. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -1
  226. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +3 -3
  227. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsBase.js +3 -3
  228. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsViz.js +0 -0
  229. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsBase.js +1 -1
  230. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsViz.js +0 -0
  231. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ChartNew.js +0 -0
  232. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +289 -0
  233. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +7 -7
  234. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +9 -9
  235. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +12 -11
  236. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +85 -0
  237. package/test/sap/ui/mdc/testutils/opa/link/Assertions.js +79 -0
  238. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +112 -0
  239. package/test/sap/ui/mdc/testutils/opa/link/waitForLink.js +50 -0
  240. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +261 -138
  241. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +27 -26
  242. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +54 -0
  243. package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +5 -0
  244. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +40 -0
  245. package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +28 -0
  246. package/src/sap/ui/mdc/ChartDelegateNew.js +0 -395
  247. package/src/sap/ui/mdc/ChartNew.js +0 -1114
  248. package/src/sap/ui/mdc/ChartNewRenderer.js +0 -91
  249. package/src/sap/ui/mdc/chart/DimensionItem.js +0 -281
  250. package/src/sap/ui/mdc/chart/MeasureItem.js +0 -318
  251. package/src/sap/ui/mdc/chart/MetadataDelegate.js +0 -31
  252. package/src/sap/ui/mdc/chart/SelectionHandler.js +0 -127
  253. package/src/sap/ui/mdc/chart/ToolbarHandler.js +0 -328
  254. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +0 -295
  255. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +0 -212
  256. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -72
  257. package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +0 -34
  258. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +0 -91
  259. package/src/sap/ui/mdc/link/SelectionDialog.control.xml +0 -66
  260. package/src/sap/ui/mdc/link/SelectionDialog.js +0 -213
  261. package/src/sap/ui/mdc/link/SelectionDialogItem.js +0 -86
  262. package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +0 -35
  263. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +0 -1179
@@ -16,7 +16,8 @@ sap.ui.define([
16
16
  "./waitForSelectWithSelectedTextOnPanel",
17
17
  "./Util",
18
18
  "sap/base/Log",
19
- "sap/base/util/UriParameters"
19
+ "sap/base/util/UriParameters",
20
+ "sap/ui/core/Core"
20
21
  ], function(
21
22
  Opa5,
22
23
  Matcher,
@@ -31,11 +32,12 @@ sap.ui.define([
31
32
  waitForSelectWithSelectedTextOnPanel,
32
33
  Util,
33
34
  Log,
34
- UriParameters
35
+ UriParameters,
36
+ oCore
35
37
  ) {
36
38
  "use strict";
37
39
 
38
- var oMDCBundle = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
40
+ var oMDCBundle = oCore.getLibraryResourceBundle("sap.ui.mdc");
39
41
 
40
42
  var iOpenThePersonalizationDialog = function(oControl, oSettings) {
41
43
  var sControlId = typeof oControl === "string" ? oControl : oControl.getId();
@@ -46,51 +48,88 @@ sap.ui.define([
46
48
  success: function(oControlInstance) {
47
49
  Opa5.assert.ok(oControlInstance);
48
50
 
49
- aButtonMatchers.push(new Ancestor(oControlInstance));
51
+ if (oControlInstance.isA("sap.m.Link")) {
52
+ // mdc.Link handling
50
53
 
51
- if (oControlInstance.isA("sap.ui.comp.smartchart.SmartChart")) {
52
- aDialogMatchers.push(function(oP13nDialog) {
53
- return oP13nDialog.getParent().getChart() === oControlInstance.getChart().getId();
54
+ new Press().executeOn(oControlInstance);
55
+ this.waitFor({
56
+ controlType: "sap.ui.mdc.link.Panel",
57
+ success: function(aPanels) {
58
+ Opa5.assert.equal(aPanels.length, 1, "mdc.link.Panel found");
59
+ var oPanel = aPanels[0];
60
+
61
+ waitForP13nButtonWithMatchers.call(this, {
62
+ actions: new Press(),
63
+ matchers: [
64
+ new Ancestor(oPanel, false),
65
+ new PropertyStrictEquals({
66
+ name: "text",
67
+ value: oMDCBundle.getText("info.POPOVER_DEFINE_LINKS")
68
+ })
69
+ ],
70
+ success: function() {
71
+ waitForP13nDialog.call(this, {
72
+ matchers: new PropertyStrictEquals({
73
+ name: "title",
74
+ value: oMDCBundle.getText("info.SELECTION_DIALOG_ALIGNEDTITLE")
75
+ }),
76
+ success: function(oP13nDialog) {
77
+ if (oSettings && typeof oSettings.success === "function") {
78
+ oSettings.success.call(this, oP13nDialog);
79
+ }
80
+ }
81
+ });
82
+ }
83
+ });
84
+ }
54
85
  });
55
86
  } else {
56
- aDialogMatchers.push(new Ancestor(oControlInstance, false));
57
- }
87
+ aButtonMatchers.push(new Ancestor(oControlInstance));
58
88
 
59
- if (oControlInstance.isA("sap.ui.mdc.FilterBar")) {
60
- // Add matcher for p13n button text
61
- var oMatcher = new Matcher();
62
- oMatcher.isMatching = function(oButton) {
63
- return oButton.getText().includes(oMDCBundle.getText("filterbar.ADAPT"));
64
- };
65
- aButtonMatchers.push(oMatcher);
66
- aDialogMatchers.push(new Properties({
67
- title: oMDCBundle.getText("filterbar.ADAPT_TITLE")
68
- }));
69
- } else {
70
- // Add matcher for p13n button icon
71
- aButtonMatchers.push(new Properties({
72
- icon: Util.icons.settings
73
- }));
74
- aDialogMatchers.push(new Properties({
75
- title: oMDCBundle.getText("p13nDialog.VIEW_SETTINGS")
76
- }));
77
- }
89
+ if (oControlInstance.isA("sap.ui.comp.smartchart.SmartChart")) {
90
+ aDialogMatchers.push(function(oP13nDialog) {
91
+ return oP13nDialog.getParent().getChart() === oControlInstance.getChart().getId();
92
+ });
93
+ } else {
94
+ aDialogMatchers.push(new Ancestor(oControlInstance, false));
95
+ }
78
96
 
79
- waitForP13nButtonWithMatchers.call(this, {
80
- actions: new Press(),
81
- matchers: aButtonMatchers,
82
- success: function() {
83
- waitForP13nDialog.call(this, {
84
- matchers: aDialogMatchers,
85
- success: function(oP13nDialog) {
86
- if (oSettings && typeof oSettings.success === "function") {
87
- oSettings.success.call(this, oP13nDialog);
97
+ if (oControlInstance.isA("sap.ui.mdc.FilterBar")) {
98
+ // Add matcher for p13n button text
99
+ var oMatcher = new Matcher();
100
+ oMatcher.isMatching = function(oButton) {
101
+ return oButton.getText().includes(oMDCBundle.getText("filterbar.ADAPT"));
102
+ };
103
+ aButtonMatchers.push(oMatcher);
104
+ aDialogMatchers.push(new Properties({
105
+ title: oMDCBundle.getText("filterbar.ADAPT_TITLE")
106
+ }));
107
+ } else {
108
+ // Add matcher for p13n button icon
109
+ aButtonMatchers.push(new Properties({
110
+ icon: Util.icons.settings
111
+ }));
112
+ aDialogMatchers.push(new Properties({
113
+ title: oMDCBundle.getText("p13nDialog.VIEW_SETTINGS")
114
+ }));
115
+ }
116
+
117
+ waitForP13nButtonWithMatchers.call(this, {
118
+ actions: new Press(),
119
+ matchers: aButtonMatchers,
120
+ success: function() {
121
+ waitForP13nDialog.call(this, {
122
+ matchers: aDialogMatchers,
123
+ success: function(oP13nDialog) {
124
+ if (oSettings && typeof oSettings.success === "function") {
125
+ oSettings.success.call(this, oP13nDialog);
126
+ }
88
127
  }
89
- }
90
- });
91
- },
92
- errorMessage: "Control '" + sControlId + "' has no P13n button"
93
- });
128
+ });
129
+ },
130
+ errorMessage: "Control '" + sControlId + "' has no P13n button"
131
+ });
132
+ }
94
133
  },
95
134
  errorMessage: "Control '" + sControlId + "' not found."
96
135
  });
@@ -611,21 +650,111 @@ sap.ui.define([
611
650
  });
612
651
  };
613
652
 
614
- return {
653
+ var iPersonalizeOldChartP13n = function(oControl, sChartType, aItems, oP13nDialog) {
654
+ this.waitFor({
655
+ controlType: "sap.m.P13nDimMeasurePanel",
656
+ matchers: new Ancestor(oP13nDialog, false),
657
+ success: function(aP13nDimMeasurePanels) {
658
+ var oP13nDimMeasurePanel = aP13nDimMeasurePanels[0];
659
+ this.waitFor({
660
+ controlType: "sap.m.OverflowToolbar",
661
+ matchers: new Ancestor(oP13nDimMeasurePanel, false),
662
+ success: function(aOverflowToolbars) {
663
+ var oOverflowToolbar = aOverflowToolbars[0];
664
+ this.waitFor({
665
+ controlType: "sap.m.ComboBox",
666
+ matchers: new Ancestor(oOverflowToolbar),
667
+ success: function(aComboBoxes) {
668
+ var oComboBox = aComboBoxes[0];
669
+ iChangeComboBoxSelection.call(this, oComboBox, sChartType, {
670
+ success: function() {
671
+ this.waitFor({
672
+ controlType: "sap.m.ColumnListItem",
673
+ matchers: [
674
+ new Ancestor(oP13nDialog, false)
675
+ ],
676
+ actions: function(oColumnListItem) {
677
+ this.waitFor({
678
+ controlType: "sap.m.Text",
679
+ matchers: new Ancestor(oColumnListItem),
680
+ success: function(aTexts) {
681
+ var oText = aTexts[0];
682
+ var oItem = aItems.find(function(oItem) {
683
+ return oText.getText() === oItem.key;
684
+ });
685
+ var bItemIsPresent = !!oItem;
686
+
687
+ this.waitFor({
688
+ controlType: "sap.m.CheckBox",
689
+ matchers: new Ancestor(oColumnListItem),
690
+ actions: function(oCheckBox) {
691
+ if ((!oCheckBox.getSelected() && bItemIsPresent) ||
692
+ (oCheckBox.getSelected() && !bItemIsPresent)) {
693
+ new Press().executeOn(oCheckBox);
694
+ }
695
+ },
696
+ success: function() {
697
+ if (bItemIsPresent) {
698
+ this.waitFor({
699
+ controlType: "sap.m.Select",
700
+ matchers: new Ancestor(oColumnListItem),
701
+ actions: function(oSelect) {
702
+ iChangeSelectSelection.call(this, oSelect, oItem.role);
703
+ }.bind(this)
704
+ });
705
+ }
706
+ }
707
+ });
708
+ }
709
+ });
710
+ }.bind(this),
711
+ success: function() {
712
+ iPressTheOKButtonOnTheDialog.call(this,oP13nDialog);
713
+ }
714
+ });
715
+ }
716
+ });
717
+ }
718
+ });
719
+ }
720
+ });
721
+ }
722
+ });
723
+ };
724
+
725
+ return {
615
726
  iPressTheOKButtonOnTheDialog: function(oDialog, oSettings) {
616
727
  return iPressTheOKButtonOnTheDialog.call(this, oDialog, oSettings);
617
728
  },
618
729
  iOpenThePersonalizationDialog: function(oControl, oSettings) {
619
730
  return iOpenThePersonalizationDialog.call(this, oControl, oSettings);
620
731
  },
732
+ /**
733
+ * @typedef {object} ChartPersonalizationConfiguration
734
+ * @property {string} key Key of the value that is the result of the personalization
735
+ * @property {string} role Role of the given value
736
+ */
737
+ /**
738
+ * OPA5 test action
739
+ * 1. Opens the personalization dialog of a given chart.
740
+ * 2. Selects a chart type given by <code>sChartType</code>.
741
+ * 3. Executes the given <code>ChartPersonalizationConfiguration</code>.
742
+ * 4. Closes the personalization dialog.
743
+ * @param {sap.ui.core.Control | string} oChart Instance / ID of the <code>SmartChart</code> that is personalized
744
+ * @param {string} sChartType String containing the type of chart that is displayed
745
+ * @param {ChartPersonalizationConfiguration[]} aConfigurations Array containing the chart personalization configuration objects
746
+ * @returns {Promise} OPA waitFor
747
+ */
621
748
  iPersonalizeChart: function(oControl, sChartType, aItems) {
622
749
  return iPersonalize.call(this, oControl, Util.texts.chart, {
623
750
  success: function(oP13nDialog) {
624
751
 
625
- if (UriParameters.fromQuery(window.location.search).get("newChartP13n") === "true") {
626
-
752
+ //oP13nDialog.getContent()[0].getView("item") && oP13nDialog.getContent()[0].getView("item").getContent().isA("sap.ui.mdc.p13n.panels.ListView")
753
+ if (oP13nDialog.getContent()[0].getView("dimeasure").getContent().isA("sap.m.P13nDimMeasurePanel")){
754
+ iPersonalizeOldChartP13n.call(this, oControl, sChartType, aItems, oP13nDialog);
755
+ } else {
627
756
  this.waitFor({
628
- controlType: "sap.ui.mdc.p13n.panels.ChartItemPanelNew",
757
+ controlType: "sap.ui.mdc.p13n.panels.ChartItemPanel",
629
758
  matchers: new Ancestor(oP13nDialog, false),
630
759
  success: function(aItemPanels) {
631
760
  //This is done in 3 steps
@@ -768,84 +897,17 @@ sap.ui.define([
768
897
  });
769
898
  }
770
899
  });
771
- } else {
772
- this.waitFor({
773
- controlType: "sap.m.P13nDimMeasurePanel",
774
- matchers: new Ancestor(oP13nDialog, false),
775
- success: function(aP13nDimMeasurePanels) {
776
- var oP13nDimMeasurePanel = aP13nDimMeasurePanels[0];
777
- this.waitFor({
778
- controlType: "sap.m.OverflowToolbar",
779
- matchers: new Ancestor(oP13nDimMeasurePanel, false),
780
- success: function(aOverflowToolbars) {
781
- var oOverflowToolbar = aOverflowToolbars[0];
782
- this.waitFor({
783
- controlType: "sap.m.ComboBox",
784
- matchers: new Ancestor(oOverflowToolbar),
785
- success: function(aComboBoxes) {
786
- var oComboBox = aComboBoxes[0];
787
- iChangeComboBoxSelection.call(this, oComboBox, sChartType, {
788
- success: function() {
789
- this.waitFor({
790
- controlType: "sap.m.ColumnListItem",
791
- matchers: [
792
- new Ancestor(oP13nDialog, false)
793
- ],
794
- actions: function(oColumnListItem) {
795
- this.waitFor({
796
- controlType: "sap.m.Text",
797
- matchers: new Ancestor(oColumnListItem),
798
- success: function(aTexts) {
799
- var oText = aTexts[0];
800
- var oItem = aItems.find(function(oItem) {
801
- return oText.getText() === oItem.key;
802
- });
803
- var bItemIsPresent = !!oItem;
804
-
805
- this.waitFor({
806
- controlType: "sap.m.CheckBox",
807
- matchers: new Ancestor(oColumnListItem),
808
- actions: function(oCheckBox) {
809
- if ((!oCheckBox.getSelected() && bItemIsPresent) ||
810
- (oCheckBox.getSelected() && !bItemIsPresent)) {
811
- new Press().executeOn(oCheckBox);
812
- }
813
- },
814
- success: function() {
815
- if (bItemIsPresent) {
816
- this.waitFor({
817
- controlType: "sap.m.Select",
818
- matchers: new Ancestor(oColumnListItem),
819
- actions: function(oSelect) {
820
- iChangeSelectSelection.call(this, oSelect, oItem.role);
821
- }.bind(this)
822
- });
823
- }
824
- }
825
- });
826
- }
827
- });
828
- }.bind(this),
829
- success: function() {
830
- iPressTheOKButtonOnTheDialog.call(this,oP13nDialog);
831
- }
832
- });
833
- }
834
- });
835
- }
836
- });
837
- }
838
- });
839
- }
840
- });
841
900
  }
842
901
  }
843
902
  });
844
903
  },
845
904
  /**
846
- *
905
+ * OPA5 test action
906
+ * 1. Opens the personalization dialog of a given table.
907
+ * 2. Selects all columns determined by the given labels. Also deselects all other columns that are selected but not included in the given labels.
908
+ * 3. Closes the personalization dialog.
847
909
  * @param {sap.ui.core.Control | string} oControl Instance / ID of the control which is to be personalized
848
- * @param {string[]} aColumns Array containing the keys of the columns that should be result of the personalisation
910
+ * @param {string[]} aColumns Array containing the labels of the columns that are the result of the personalization
849
911
  * @returns {Promise} Opa waitFor
850
912
  */
851
913
  iPersonalizeColumns: function(oControl, aColumns) {
@@ -907,18 +969,68 @@ sap.ui.define([
907
969
  }
908
970
  });
909
971
  },
972
+ /**
973
+ * @param {sap.ui.core.Control | string} oControl Instance / ID of the control which is to be personalized
974
+ * @param {string[]} aLinks an array containing the names of the links that should be result of the personalisation
975
+ * @returns {Promise} Opa waitFor
976
+ */
977
+ iPersonalizeLink: function(oControl, aLinks) {
978
+ return iOpenThePersonalizationDialog.call(this, oControl, {
979
+ success: function(oP13nDialog) {
980
+ this.waitFor({
981
+ controlType: "sap.ui.mdc.p13n.panels.LinkSelectionPanel",
982
+ matchers: new Ancestor(oP13nDialog, false),
983
+ success: function(aLinkSelectionPanels) {
984
+ Opa5.assert.equal(aLinkSelectionPanels.length, 1, "sap.ui.mdc.p13n.panels.LinkSelectionPanel found");
985
+ var oLinkSelectionPanel = aLinkSelectionPanels[0];
986
+ this.waitFor({
987
+ controlType: "sap.m.ColumnListItem",
988
+ matchers: new Ancestor(oLinkSelectionPanel, false),
989
+ actions: function(oColumnListItem) {
990
+ this.waitFor({
991
+ controlType: "sap.m.Link",
992
+ matchers: new Ancestor(oColumnListItem, false),
993
+ success: function(aLinkControls) {
994
+ var oLinkControl = aLinkControls[0];
995
+ this.waitFor({
996
+ controlType: "sap.m.CheckBox",
997
+ matchers: [
998
+ new Ancestor(oColumnListItem, false)
999
+ ],
1000
+ actions: function(oCheckBox) {
1001
+ if ((!oCheckBox.getSelected() && aLinks.includes(oLinkControl.getText())) ||
1002
+ (oCheckBox.getSelected() && !aLinks.includes(oLinkControl.getText()))) {
1003
+ new Press().executeOn(oCheckBox);
1004
+ }
1005
+ }
1006
+ });
1007
+ }
1008
+ });
1009
+ }.bind(this),
1010
+ success: function() {
1011
+ iPressTheOKButtonOnTheDialog.call(this, oP13nDialog);
1012
+ }
1013
+ });
1014
+ }
1015
+ });
1016
+ }
1017
+ });
1018
+ },
910
1019
  /**
911
1020
  * @typedef {object} FilterPersonalizationConfiguration
912
- * @property {string} key of the item that should be result of the personalisation
913
- * @property {string} operator operator in which the items should be filtered
914
- * @property {string[]} values filter values for the given operator
915
- * @property {string} inputControl
1021
+ * @property {string} key Key of the value that is the result of the personalization
1022
+ * @property {string} operator Operator defining how the items are filtered
1023
+ * @property {string[]} values Filter values for the given operator
1024
+ * @property {string} inputControl <code>Control</code> that is used as input for the value
916
1025
  */
917
1026
  /**
918
- *
919
- * @param {sap.ui.core.Control | string} oControl Instance / ID of the control which is to be reset
920
- * @param {FilterPersonalizationConfiguration[]} aConfigurations an array containing the group personalization configuration objects
921
- * @returns {Promise} Opa waitFor
1027
+ * OPA5 test action
1028
+ * 1. Opens the personalization dialog of a given chart.
1029
+ * 2. Executes the given <code>FilterPersonalizationConfiguration</code>.
1030
+ * 3. Closes the personalization dialog.
1031
+ * @param {sap.ui.core.Control | string} oControl Instance / ID of the <code>Control</code> that is filtered
1032
+ * @param {FilterPersonalizationConfiguration[]} aConfigurations Array containing the filter personalization configuration objects
1033
+ * @returns {Promise} OPA waitFor
922
1034
  */
923
1035
  iPersonalizeFilter: function(oControl, aConfigurations) {
924
1036
  return iPersonalize.call(this, oControl, Util.texts.filter, {
@@ -965,11 +1077,14 @@ sap.ui.define([
965
1077
  },
966
1078
  /**
967
1079
  * @typedef {object} GroupPersonalizationConfiguration
968
- * @property {string} key of the item that should be result of the personalisation
969
- * @property {boolean} showFieldAsColumn determinating if the "Show Field as Column" checkbox should be checked
1080
+ * @property {string} key of the item that is the result of the personalization
1081
+ * @property {boolean} showFieldAsColumn Determines if the "Show Field as Column" checkbox is to be checked
970
1082
  */
971
1083
  /**
972
- *
1084
+ * Opa5 test action:
1085
+ * 1. Opens the personalization dialog of a given control.
1086
+ * 2. Executes the given <code>GroupPersonalizationConfiguration</code>.
1087
+ * 3. Closes the personalization dialog.
973
1088
  * @param {sap.ui.core.Control | string} oControl Instance / ID of the control which is to be reset
974
1089
  * @param {GroupPersonalizationConfiguration[]} aConfigurations an array containing the group personalization configuration objects
975
1090
  * @returns {Promise} Opa waitFor
@@ -1007,14 +1122,17 @@ sap.ui.define([
1007
1122
  },
1008
1123
  /**
1009
1124
  * @typedef {object} SortPersonalizationConfiguration
1010
- * @property {string} key of the item that should be result of the personalisation
1011
- * @property {boolean} descending determinating if the sort direction is descending
1125
+ * @property {string} key Key of the item that is the result of the personalization
1126
+ * @property {boolean} descending Determines whether the sort direction is descending
1012
1127
  */
1013
1128
  /**
1014
- *
1015
- * @param {sap.ui.core.Control | string} oControl Instance / ID of the control which is to be reset
1016
- * @param {SortPersonalizationConfiguration[]} aConfigurations an array containing the sort personalization configuration objects
1017
- * @returns {Promise} Opa waitFor
1129
+ * OPA5 test action
1130
+ * 1. Opens the personalization dialog of a given chart.
1131
+ * 2. Executes the given <code>SortPersonalizationConfiguration</code>.
1132
+ * 3. Closes the personalization dialog.
1133
+ * @param {sap.ui.core.Control | string} oControl Instance / ID of the <code>Control</code> that is sorted
1134
+ * @param {SortPersonalizationConfiguration[]} aConfigurations Array containing the sort personalization configuration objects
1135
+ * @returns {Promise} OPA waitFor
1018
1136
  */
1019
1137
  iPersonalizeSort: function(oControl, aConfigurations) {
1020
1138
  return iPersonalize.call(this, oControl, Util.texts.sort, {
@@ -1048,8 +1166,13 @@ sap.ui.define([
1048
1166
  });
1049
1167
  },
1050
1168
  /**
1051
- * @param {sap.ui.core.Control | string} oControl Instance / ID of the control which is to be reset
1052
- * @returns {Promise} Opa waitFor
1169
+ * Opa5 test action
1170
+ * 1. Opens the personalization dialog of a given chart.
1171
+ * 2. Presses the reset personalization button.
1172
+ * 3. Confirms the reset dialog.
1173
+ * 4. Closes the personalization dialog.
1174
+ * @param {sap.ui.core.Control | string} oControl Instance / ID of the <code>Control</code> that is reset
1175
+ * @returns {Promise} OPA waitFor
1053
1176
  */
1054
1177
  iResetThePersonalization: function (oControl) {
1055
1178
  return iOpenThePersonalizationDialog.call(this, oControl, {
@@ -1070,5 +1193,5 @@ sap.ui.define([
1070
1193
  }
1071
1194
  });
1072
1195
  }
1073
- };
1196
+ };
1074
1197
  });
@@ -2,39 +2,40 @@
2
2
  * ! ${copyright}
3
3
  */
4
4
  sap.ui.define([
5
- ], function() {
5
+ "sap/ui/core/Core"
6
+ ], function(oCore) {
6
7
  "use strict";
7
8
 
8
- var oMDCBundle = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
9
- var oMBundle = sap.ui.getCore().getLibraryResourceBundle("sap.m");
9
+ var oMDCBundle = oCore.getLibraryResourceBundle("sap.ui.mdc");
10
+ var oMBundle = oCore.getLibraryResourceBundle("sap.m");
10
11
 
11
12
  var Util = {
12
13
 
13
- texts: {
14
- resetwarning: oMBundle.getText("MSGBOX_TITLE_WARNING"),
15
- ok: oMDCBundle.getText("p13nDialog.OK"),
16
- reset: oMDCBundle.getText("p13nDialog.RESET"),
17
- none: oMDCBundle.getText("sort.PERSONALIZATION_DIALOG_OPTION_NONE"),
18
- chart: oMDCBundle.getText("p13nDialog.TAB_Chart"),
19
- column: oMDCBundle.getText("p13nDialog.TAB_Column"),
20
- filter: oMDCBundle.getText("p13nDialog.TAB_Filter"),
21
- group: oMDCBundle.getText("p13nDialog.TAB_Group"),
22
- sort: oMDCBundle.getText("p13nDialog.TAB_Sort")
23
- },
14
+ texts: {
15
+ resetwarning: oMBundle.getText("MSGBOX_TITLE_WARNING"),
16
+ ok: oMDCBundle.getText("p13nDialog.OK"),
17
+ reset: oMDCBundle.getText("p13nDialog.RESET"),
18
+ none: oMDCBundle.getText("sort.PERSONALIZATION_DIALOG_OPTION_NONE"),
19
+ chart: oMDCBundle.getText("p13nDialog.TAB_Chart"),
20
+ column: oMDCBundle.getText("p13nDialog.TAB_Column"),
21
+ filter: oMDCBundle.getText("p13nDialog.TAB_Filter"),
22
+ group: oMDCBundle.getText("p13nDialog.TAB_Group"),
23
+ sort: oMDCBundle.getText("p13nDialog.TAB_Sort")
24
+ },
24
25
 
25
- icons: {
26
- descending: "sap-icon://sort-descending",
27
- ascending: "sap-icon://sort-ascending",
28
- decline: "sap-icon://decline",
29
- settings: "sap-icon://action-settings",
30
- movetotop: "sap-icon://collapse-group",
31
- movetobottom: "sap-icon://expand-group",
32
- movedown: "sap-icon://navigation-down-arrow",
33
- moveup: "sap-icon://navigation-up-arrow",
34
- group: "sap-icon://group-2"
35
- }
26
+ icons: {
27
+ descending: "sap-icon://sort-descending",
28
+ ascending: "sap-icon://sort-ascending",
29
+ decline: "sap-icon://decline",
30
+ settings: "sap-icon://action-settings",
31
+ movetotop: "sap-icon://collapse-group",
32
+ movetobottom: "sap-icon://expand-group",
33
+ movedown: "sap-icon://navigation-down-arrow",
34
+ moveup: "sap-icon://navigation-up-arrow",
35
+ group: "sap-icon://group-2"
36
+ }
36
37
 
37
- };
38
+ };
38
39
 
39
40
  return Util;
40
41
  });
@@ -0,0 +1,54 @@
1
+ sap.ui.define([
2
+ "sap/ui/test/Opa5",
3
+ "sap/ui/test/matchers/Ancestor",
4
+ "sap/ui/test/matchers/PropertyStrictEquals",
5
+ "sap/ui/test/actions/Press",
6
+ "./Util"
7
+ ], function (Opa5, Ancestor, PropertyStrictEquals, Press, Util) {
8
+ "use strict";
9
+
10
+ return {
11
+ iOpenTheValueHelpForField: function(oField) {
12
+ var sControlId = typeof oField === "string" ? oField : oField.getId();
13
+ return this.waitFor({
14
+ id: sControlId,
15
+ success: function(oField) {
16
+ this.waitFor({
17
+ controlType: "sap.ui.core.Icon",
18
+ matchers: new Ancestor(oField, false),
19
+ success: function(aIcons) {
20
+ Opa5.assert.equal(aIcons.length, 1, "ValueHelp icon found.");
21
+ new Press().executeOn(aIcons[0]);
22
+ }
23
+ });
24
+ }
25
+ });
26
+ },
27
+ iCloseTheValueHelpDialog: function(bCancel) {
28
+ return this.waitFor({
29
+ controlType: "sap.ui.mdc.field.FieldValueHelp",
30
+ success: function(aFieldValueHelps) {
31
+ Opa5.assert.equal(aFieldValueHelps.length, 1, "sap.ui.mdc.field.FieldValueHelp found.");
32
+ this.waitFor({
33
+ controlType: "sap.m.Dialog",
34
+ matchers: new Ancestor(aFieldValueHelps[0]),
35
+ success: function(aVHDialogs) {
36
+ Opa5.assert.equal(aVHDialogs.length, 1, "ValueHelp dialog found.");
37
+ this.waitFor({
38
+ controlType: "sap.m.Button",
39
+ matchers: [
40
+ new Ancestor(aVHDialogs[0], false),
41
+ new PropertyStrictEquals({
42
+ name: "text",
43
+ value: bCancel ? Util.texts.cancel : Util.texts.ok
44
+ })
45
+ ],
46
+ actions: new Press()
47
+ });
48
+ }
49
+ });
50
+ }
51
+ });
52
+ }
53
+ };
54
+ });
@@ -0,0 +1,5 @@
1
+ sap.ui.define([], function () {
2
+ "use strict";
3
+
4
+ return {};
5
+ });
@@ -0,0 +1,40 @@
1
+ /*!
2
+ * ${copyright}
3
+ */
4
+ sap.ui.define([
5
+ "sap/ui/test/Opa5",
6
+ "../valueHelp/Actions",
7
+ "../valueHelp/Assertions"
8
+ ], function(
9
+ Opa5,
10
+ Actions,
11
+ Assertions
12
+ ) {
13
+ "use strict";
14
+
15
+ Opa5.createPageObjects({
16
+ onTheMDCValueHelp: {
17
+ actions: {
18
+ /**
19
+ * OPA5 test action
20
+ * @param {sap.ui.core.Control | string} oField Instance / ID of the <code>sap.ui.mdc.Field</code>
21
+ * @returns {Promise} OPA waitFor
22
+ * Opens the value help for a given <code>sap.ui.mdc.Field</code>.
23
+ */
24
+ iOpenTheValueHelpForField: function(oField) {
25
+ return Actions.iOpenTheValueHelpForField.call(this, oField);
26
+ },
27
+ /**
28
+ * OPA5 test action
29
+ * @param {boolean} bCancel Boolean that defines if the Cancel button is pressed
30
+ * @returns {Promise} OPA waitFor
31
+ * Closes an open value help dialog by pressing the OK / Cancel button.
32
+ */
33
+ iCloseTheValueHelpDialog: function(bCancel) {
34
+ return Actions.iCloseTheValueHelpDialog.call(this, bCancel);
35
+ }
36
+ }
37
+ }
38
+ });
39
+
40
+ });