@sap/open.fe 1.96.0 → 1.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/package.json +1 -1
  2. package/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
  3. package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
  4. package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +57 -42
  5. package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
  6. package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
  7. package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +2 -2
  8. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +4 -4
  9. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
  10. package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
  11. package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
  12. package/packages/sap.fe.common/src/sap/fe/common/resources.json +4 -4
  13. package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
  14. package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
  15. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
  16. package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
  17. package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
  18. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +2 -2
  19. package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +1 -1
  20. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +59 -274
  21. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
  22. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +52 -64
  23. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
  24. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +2 -2
  25. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +1 -1
  26. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +18 -22
  27. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
  28. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +80 -4
  29. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
  30. package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +42 -23
  31. package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
  32. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +36 -21
  33. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  34. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +9 -3
  35. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  36. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +20 -50
  37. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  38. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +222 -102
  39. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
  40. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +33 -6
  41. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  42. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +109 -111
  43. package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +1 -1
  44. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +8 -0
  45. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +5 -0
  46. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
  47. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +2 -1
  48. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  49. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +4 -1
  50. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +10 -1
  51. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  52. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +9 -1
  53. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +2 -2
  54. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  55. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
  56. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +67 -40
  57. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  58. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -3
  59. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  60. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +6 -3
  61. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +57 -18
  62. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  63. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +51 -13
  64. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +130 -19
  65. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  66. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +139 -18
  67. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID-dbg.js +9 -1
  68. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.js +1 -1
  69. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.ts +4 -0
  70. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +18 -7
  71. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  72. package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +17 -12
  73. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +2 -1
  74. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  75. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
  76. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +2 -2
  77. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +27 -4
  78. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  79. package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +20 -3
  80. package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
  81. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +211 -0
  82. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +5 -0
  83. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +202 -0
  84. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +32 -0
  85. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +5 -0
  86. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.ts +36 -0
  87. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +51 -0
  88. package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  89. package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +1 -1
  90. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +10 -9
  91. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +1 -1
  92. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +232 -228
  93. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
  94. package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
  95. package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
  96. package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +15 -1
  97. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +10 -0
  98. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +10 -0
  99. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +10 -0
  100. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +10 -0
  101. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +10 -0
  102. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +10 -0
  103. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +10 -0
  104. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +10 -0
  105. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +10 -0
  106. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +10 -0
  107. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +6 -0
  108. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +11 -1
  109. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +11 -1
  110. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +10 -0
  111. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +10 -0
  112. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +10 -0
  113. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +10 -0
  114. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +10 -0
  115. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +10 -0
  116. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +10 -0
  117. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +10 -0
  118. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +10 -0
  119. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +11 -1
  120. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +10 -0
  121. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +10 -0
  122. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +19 -9
  123. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +10 -0
  124. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +10 -0
  125. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +10 -0
  126. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +10 -0
  127. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +10 -0
  128. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +10 -0
  129. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +10 -0
  130. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +10 -0
  131. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +11 -1
  132. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +10 -0
  133. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +10 -0
  134. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +10 -0
  135. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +10 -0
  136. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +10 -0
  137. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +10 -0
  138. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +10 -0
  139. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +10 -0
  140. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +10 -0
  141. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +10 -0
  142. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +10 -0
  143. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +10 -0
  144. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +10 -0
  145. package/packages/sap.fe.core/src/sap/fe/core/resources.json +200 -121
  146. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +30 -19
  147. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  148. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +1 -1
  149. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  150. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper-dbg.js +80 -7
  151. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
  152. package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.ts +42 -2
  153. package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
  154. package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
  155. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
  156. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +4 -0
  157. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +1 -0
  158. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/manifest.json +2 -2
  159. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +13 -10
  160. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +7 -4
  161. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +1 -2
  162. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +1 -0
  163. package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.js +119 -0
  164. package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +285 -4
  165. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +121 -0
  166. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +79 -0
  167. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +147 -0
  168. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +96 -0
  169. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +51 -18
  170. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +109 -17
  171. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +66 -0
  172. package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelper.cds +33 -0
  173. package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelperMainEntitySortableFalse.cds +12 -0
  174. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableGetSelectionMode.cds +8 -8
  175. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +68 -0
  176. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +38 -0
  177. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.js +483 -0
  178. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.ts +376 -0
  179. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.js +101 -0
  180. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.ts +105 -0
  181. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.js +103 -0
  182. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.ts +106 -0
  183. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.js +118 -0
  184. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.ts +118 -0
  185. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.js +101 -0
  186. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.ts +102 -0
  187. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +118 -1
  188. package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +70 -0
  189. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.js +89 -0
  190. package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.ts +73 -0
  191. package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +4 -2
  192. package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +6 -0
  193. package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
  194. package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
  195. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +15 -5
  196. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
  197. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +9 -5
  198. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
  199. package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil-dbg.js +30 -11
  200. package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil.js +1 -1
  201. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +3 -5
  202. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
  203. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +3 -5
  204. package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate-dbg.js +17 -3
  205. package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate.js +1 -1
  206. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +1 -1
  207. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +1 -2
  208. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +4 -4
  209. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
  210. package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.fragment.xml +6 -15
  211. package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +14 -12
  212. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +1 -1
  213. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
  214. package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +2 -1
  215. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +12 -1
  216. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
  217. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +15 -8
  218. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
  219. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +10 -0
  220. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +1 -1
  221. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +1 -1
  222. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +81 -9
  223. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
  224. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +13 -3
  225. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
  226. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +5 -5
  227. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
  228. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +4 -4
  229. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +1 -7
  230. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +5 -3
  231. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
  232. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForContact.fragment.xml +1 -1
  233. package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime-dbg.js +46 -0
  234. package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime.js +6 -0
  235. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +17 -8
  236. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +26 -16
  237. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +1 -0
  238. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +4 -13
  239. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
  240. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +10 -10
  241. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +5 -3
  242. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +1 -1
  243. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +72 -8
  244. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
  245. package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
  246. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +12 -11
  247. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
  248. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +93 -91
  249. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
  250. package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
  251. package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
  252. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js +1 -1
  253. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js +1 -1
  254. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +5 -0
  255. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +2 -2
  256. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +2 -2
  257. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +2 -2
  258. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +2 -2
  259. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +2 -2
  260. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +2 -2
  261. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +2 -2
  262. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +2 -2
  263. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +1 -1
  264. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +1 -1
  265. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +3 -0
  266. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +2 -2
  267. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +2 -2
  268. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +2 -2
  269. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +2 -2
  270. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +2 -2
  271. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +2 -2
  272. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +2 -2
  273. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +2 -2
  274. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +2 -2
  275. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +2 -2
  276. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +2 -2
  277. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +2 -2
  278. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +3 -3
  279. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +2 -2
  280. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +2 -2
  281. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +2 -2
  282. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +2 -2
  283. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +2 -2
  284. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +2 -2
  285. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +2 -2
  286. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +2 -2
  287. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +2 -2
  288. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +2 -2
  289. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +2 -2
  290. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +2 -2
  291. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +2 -2
  292. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +2 -2
  293. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +2 -2
  294. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +2 -2
  295. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +2 -2
  296. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +2 -2
  297. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +2 -2
  298. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +2 -2
  299. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +2 -2
  300. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +2 -2
  301. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +21 -11
  302. package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +2 -1
  303. package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +149 -110
  304. package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +3 -0
  305. package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +70 -29
  306. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +53 -36
  307. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
  308. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +1 -1
  309. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +1 -1
  310. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +3 -4
  311. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
  312. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +2 -2
  313. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
  314. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
  315. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +844 -0
  316. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +833 -0
  317. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +495 -0
  318. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +440 -0
  319. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +469 -0
  320. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +448 -0
  321. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +94 -0
  322. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +70 -0
  323. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +12 -1
  324. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +11 -0
  325. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +61 -0
  326. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.js +46 -0
  327. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.ts +30 -0
  328. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +13 -1
  329. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +11 -0
  330. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.js +66 -0
  331. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.ts +35 -0
  332. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +48 -1
  333. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +56 -0
  334. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.js +68 -0
  335. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.ts +65 -0
  336. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartDelegate.spec.ts.snap +82 -0
  337. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +23 -5
  338. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldHelper.spec.ts.snap +47 -0
  339. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +52 -3
  340. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FormElement.spec.ts.snap +25 -0
  341. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +0 -3
  342. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +69 -0
  343. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +451 -0
  344. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldHelper.xml +68 -0
  345. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +13 -1
  346. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +152 -0
  347. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +116 -0
  348. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +115 -0
  349. package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.js +86 -0
  350. package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.ts +54 -0
  351. package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/__snapshots__/FormElement.spec.ts.snap +33 -0
  352. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +154 -0
  353. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +128 -0
  354. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +7 -2
  355. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +23 -12
  356. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1 -1
  357. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
  358. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +1 -1
  359. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
  360. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +108 -1
  361. package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
  362. package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
  363. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
  364. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
  365. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +2 -2
  366. package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
  367. package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
  368. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
  369. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
  370. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
  371. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
  372. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
  373. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
  374. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
  375. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +4 -4
  376. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +1 -1
  377. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
  378. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
  379. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +3 -3
  380. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.fragment.html +1 -1
  381. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.fragment.html +1 -1
  382. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
  383. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
  384. package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
  385. package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
  386. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
  387. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
  388. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
  389. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -2
  390. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +91 -60
  391. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
  392. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
  393. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +31 -5
  394. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
  395. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +5 -5
  396. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +2 -2
  397. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
  398. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +18 -1
  399. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
  400. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +114 -85
  401. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
  402. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +8 -0
  403. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
  404. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
  405. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +23 -3
  406. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
  407. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +15 -15
  408. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +6 -5
  409. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
  410. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +6 -4
  411. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +26 -16
  412. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +5 -5
  413. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +63 -9
  414. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +1 -1
  415. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +54 -32
  416. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
  417. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +24 -21
  418. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
  419. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +2 -1
  420. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +1 -1
  421. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +2 -0
  422. package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
  423. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +8 -9
  424. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
  425. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +23 -30
  426. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
  427. package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
  428. package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
  429. package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +51 -60
  430. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
  431. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
  432. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
  433. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
  434. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +95 -0
  435. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +66 -0
  436. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.js +134 -0
  437. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.ts +94 -0
  438. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +61 -0
  439. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/ObjectPageHeaderForm.spec.ts.snap +53 -0
  440. package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
  441. package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
  442. package/packages/sap.fe.test/src/sap/fe/test/FCLView-dbg.js +0 -6
  443. package/packages/sap.fe.test/src/sap/fe/test/FCLView.js +1 -1
  444. package/packages/sap.fe.test/src/sap/fe/test/Flexibility-dbg.js +14 -3
  445. package/packages/sap.fe.test/src/sap/fe/test/Flexibility.js +1 -1
  446. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +85 -8
  447. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
  448. package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +54 -2
  449. package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +0 -11
  450. package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +1 -1
  451. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +0 -38
  452. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
  453. package/packages/sap.fe.test/src/sap/fe/test/TemplatePage-dbg.js +0 -12
  454. package/packages/sap.fe.test/src/sap/fe/test/TemplatePage.js +1 -1
  455. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +22 -1
  456. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
  457. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +14 -0
  458. package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +21 -0
  459. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +9 -5
  460. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +1 -1
  461. package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions-dbg.js +18 -5
  462. package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions.js +1 -1
  463. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions-dbg.js +25 -5
  464. package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions.js +1 -1
  465. package/packages/sap.fe.test/src/sap/fe/test/api/EditState-dbg.js +9 -0
  466. package/packages/sap.fe.test/src/sap/fe/test/api/EditState.js +1 -1
  467. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions-dbg.js +38 -4
  468. package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions.js +1 -1
  469. package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions-dbg.js +33 -4
  470. package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions.js +1 -1
  471. package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +1 -1
  472. package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
  473. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +3 -3
  474. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +23 -16
  475. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +3 -3
  476. package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
  477. package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
  478. package/packages/sap.fe.test/src/sap/fe/test/resources.json +36 -34
  479. package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
  480. package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
  481. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -1
  482. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
  483. package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.96.json +0 -49
  484. package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.96.json +0 -189
  485. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldRuntime.qunit.js +0 -73
  486. package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.96.json +0 -160
  487. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/relnote/changes-1.96.json +0 -17
  488. package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover-dbg.js +0 -26
  489. package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +0 -6
  490. package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.96.json +0 -153
@@ -19,6 +19,11 @@ import { merge } from "sap/base/util";
19
19
  import * as path from "path";
20
20
  import ConverterContext from "sap/fe/core/converters/ConverterContext";
21
21
  import SideEffectsFactory from "sap/fe/core/services/SideEffectsServiceFactory";
22
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
23
+ const formatXml = require("xml-formatter");
24
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
+ // @ts-ignore
26
+ import * as TemplateModel from "sap/fe/core/TemplateModel";
22
27
 
23
28
  Log.setLevel(1 as any, "sap.ui.core.util.XMLPreprocessor");
24
29
  jest.setTimeout(40000);
@@ -216,11 +221,18 @@ export const getTemplatingResult = async function(
216
221
  const xmlDoc = parser.parseFromString(templatedXml, "text/xml");
217
222
  // To ensure our macro can use #setBindingContext we ensure there is a pre existing JSONModel for converterContext
218
223
  // if not already passed to teh templating
224
+
225
+ const oMetaModel = await getMetaModel(sMetadataUrl);
219
226
  if (!mModels.hasOwnProperty("converterContext")) {
220
- mModels = Object.assign(mModels, { "converterContext": new JSONModel({}) });
227
+ mModels = Object.assign(mModels, { "converterContext": new TemplateModel({}, oMetaModel) });
221
228
  }
222
229
 
223
- const oMetaModel = await getMetaModel(sMetadataUrl);
230
+ Object.keys(mModels).forEach(function(sModelName) {
231
+ if (mModels[sModelName] && mModels[sModelName].isTemplateModel) {
232
+ mModels[sModelName] = new TemplateModel(mModels[sModelName].data, oMetaModel);
233
+ }
234
+ });
235
+
224
236
  const oPreprocessorSettings: any = {
225
237
  models: Object.assign(
226
238
  {
@@ -257,3 +269,43 @@ export const getTemplatedXML = async function(
257
269
  const templatedXML = await getTemplatingResult(xmlInput, sMetadataUrl, mBindingContexts, mModels);
258
270
  return serializeXML(templatedXML);
259
271
  };
272
+
273
+ /**
274
+ * Process the requested XML fragment with the provided data.
275
+ *
276
+ * @param {string} name Fully qualified name of the fragment to be tested.
277
+ * @param {object} testData Test data consisting
278
+ * @returns Tempalted fragment as string
279
+ */
280
+ export async function processFragment(name: string, testData: { [model: string]: object }): Promise<string> {
281
+ const inputXml = `<root><core:Fragment fragmentName="sap.fe.test" type="XML" xmlns:core="sap.ui.core" /></root>`;
282
+ const parser = new window.DOMParser();
283
+ const inputDoc = parser.parseFromString(inputXml, "text/xml");
284
+
285
+ // build model and bindings for given test data
286
+ const settings = {
287
+ models: {} as { [name: string]: JSONModel<object> },
288
+ bindingContexts: {} as { [name: string]: object }
289
+ };
290
+ for (const model in testData) {
291
+ const jsonModel = new JSONModel<object>();
292
+ jsonModel.setData(testData[model]);
293
+ settings.models[model] = jsonModel;
294
+ settings.bindingContexts[model] = settings.models[model].createBindingContext("/");
295
+ }
296
+
297
+ // execute the pre-processor
298
+ const resultDoc = await XMLPreprocessor.process(inputDoc.firstElementChild, { name }, settings);
299
+
300
+ // exclude nested fragments from test snapshots
301
+ const fragments = resultDoc.getElementsByTagName("core:Fragment");
302
+ if (fragments?.length > 0) {
303
+ for (const fragment of fragments) {
304
+ fragment.innerHTML = "";
305
+ }
306
+ }
307
+
308
+ return formatXml(resultDoc.innerHTML, {
309
+ filter: (node: any) => node.type !== "Comment"
310
+ });
311
+ }
@@ -528,17 +528,6 @@ sap.ui.define(
528
528
  .description("Seeing a value list of condition operators with " + numItems + " items.")
529
529
  .execute();
530
530
  },
531
- iCheckValueForFieldInCreateDialog: function(sFieldId, sValue, bIsRequired) {
532
- return FieldBuilder.create(this)
533
- .isDialogElement()
534
- .hasId(sFieldId)
535
- .hasValue(sValue)
536
- .hasProperties({ required: !!bIsRequired })
537
- .description(
538
- Utils.formatMessage("Seeing Create dialog parameter '{0}' with value '{1}'", sFieldId, sValue)
539
- )
540
- .execute();
541
- },
542
531
  iSeeKPI: function(sTitle, oProperties) {
543
532
  var sDescription = "Seeing KPI '" + sTitle + "'";
544
533
  if (oProperties) {
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/fe/test/Utils","./TemplatePage","sap/ui/test/Opa5","sap/ui/test/OpaBuilder","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/VMBuilder","sap/fe/test/builder/OverflowToolbarBuilder","sap/fe/test/builder/KPIBuilder","sap/fe/test/api/FooterActionsBase","sap/fe/test/api/FooterAssertionsBase","sap/fe/test/api/HeaderActionsLR","sap/fe/test/api/HeaderAssertionsLR","sap/fe/test/api/KPICardAssertions"],function(U,T,O,a,F,b,V,c,K,d,e,H,f,g){"use strict";function h(I){return"fe::table::"+I+"::LineItem";}function i(E){return"fe::Chart::"+E+"::Chart";}function _(o,p){return F.create(o).hasId(p);}function L(p,A){var s=p.appId,C=p.componentId,j=p.contextPath,E=j?j.substring(1).replace("/","::"):p.entitySet,k=s+"::"+C,S="fe::table::"+E+"::LineItem",l="fe::Chart::"+E+"::Chart",m="fe::FilterBar::"+E,n=m+"::FilterFieldValueHelp::",r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),I="fe::TabMultipleMode",P="fe::ListReport",A=Array.isArray(arguments[1])?arguments[1]:Array.prototype.slice.call(arguments,1);return T.apply(T,[k,{actions:{onTable:function(t){var o;if(t){o=!U.isOfType(t,String)?h(t.property):t;}else{o=S;}return this._onTable({id:o});},onChart:function(v){var o;if(v){o=!U.isOfType(v,String)?i(v.property):v;}else{o=l;}return this._onChart({id:o});},onFilterBar:function(){return this._onFilterBar({id:m});},onHeader:function(){return new H(_(this,P),{id:P});},iCollapseExpandPageHeader:function(o){return this._iCollapseExpandPageHeader(o);},iExecuteActionOnDialog:function(t){return a.create(this).hasType("sap.m.Button").hasProperties({text:t}).isDialogElement().doPress().description("Pressing dialog button '"+t+"'").execute();},iClickLinkWithText:function(t){return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).doPress().description("Navigating via link '"+t+"'").execute();},iOpenIconTabWithTitle:function(N){return a.create(this).hasId(I).has(a.Matchers.aggregation("items",a.Matchers.properties({text:N}))).doPress().description("Selecting Icon Tab "+N).execute();},iSaveVariant:function(v,o,q){var t=U.parseArguments([String,Boolean,Boolean],arguments),u=V.create(this).hasId("fe::PageVariantManagement");if(t[0]){u.doSaveAs(v,o,q).description(U.formatMessage("Saving variant for '{0}' as '{1}' with default='{2}' and applyAutomatically='{3}'","Page Variant",v,!!o,!!q));}else{u.doSave().description(U.formatMessage("Updating current variant for '{0}'","Page Variant"));}return u.execute();},iSelectVariant:function(v){return V.create(this).hasId("fe::PageVariantManagement").doSelectVariant(v).description(U.formatMessage("Selecting variant '{1}' from '{0}'","Page Variant",v)).execute();},iOpenKPICard:function(t){return K.create(this).clickKPITag(t).description("Opening card for KPI '"+t+"'").execute();}},assertions:{onTable:function(t){if(!t){t={id:S};}else{var o=!U.isOfType(t,String)?t.property:t;t={id:h(o)};}return this._onTable(t);},onChart:function(v){var o;if(v){o=!U.isOfType(v,String)?i(v.property):v;}else{o=l;}return this._onChart({id:o});},onFilterBar:function(){return this._onFilterBar({id:m});},onHeader:function(){return new f(_(this,P),{id:P});},onKPICard:function(){return new g(K.create(this));},iSeeTheMessageToast:function(t){return this._iSeeTheMessageToast(t);},iSeeFilterFieldsInFilterBar:function(N,o){if(o){return a.create(this).hasId(m).check(function(q){return(q.getAggregation("layout").isA("sap.fe.core.controls.filterbar.VisualFilterContainer")&&q.getAggregation("layout").getFilterFields().length===N);}).description("Seeing filter bar with "+N+" filter fields").execute();}return a.create(this).hasId(m).hasAggregationLength("filterItems",N).description("Seeing filter bar with "+N+" filter fields").execute();},iSeeTableCellWithActions:function(o,q,B){return a.create(this).hasType("sap.m.ColumnListItem").has(a.Matchers.bindingPath(o)).has(function(t){var u=t.getCells()[q];if(u.isA("sap.fe.macros.MacroAPI")){u=u.getContent();}return u.getMetadata().getElementName()==="sap.m.Button"&&u.getText()===B;}).description("Inline Action is present in the table cell with the Text "+B).execute();},iSeeLinkWithText:function(t){return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).description("Seeing link with text '"+t+"'").execute();},iSeeQuickViewMoreLinksButton:function(){return a.create(this).isDialogElement(true).hasType("sap.m.Button").has(a.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).description("The 'More Links' button found").execute();},iSeeFlpLink:function(D){return a.create(this).hasType("sap.ui.mdc.link.PanelListItem").isDialogElement(true).hasProperties({text:D}).description("FLP link with text '"+D+"' is present").execute();},iSeeHeaderPinnableToggle:function(v){var o=v?"visible":"hidden";return a.create(this).hasType("sap.f.DynamicPageHeader").hasProperties({pinnable:v}).description("The Page Header Pinnable Toggle is "+o).execute();},iSeeContactPopoverWithAvatarImage:function(o){return a.create(this).hasType("sap.ui.mdc.link.Panel").check(function(q){var t=q.some(function(u){return u.src===o;});return t===false;},true).description("Seeing Contact Card with Avatar Image in ListReport").execute();},iSeeLabelWithText:function(t){return a.create(this).hasType("sap.m.Label").hasProperties({text:t}).description("Not Seeing label with text '"+t+"'").execute();},iSeeQuickViewTitleWithText:function(t){return a.create(this).hasType("sap.ui.mdc.link.Panel").check(function(o){var q=o.some(function(u){return u.text===t;});return q===false;},true).description("Seeing QuickView with Title in ListReport").execute();},iSeeSummaryOfAppliedFilters:function(){var o;a.create(this).hasId(m).mustBeVisible(false).do(function(q){o=q.getAssignedFiltersText().filtersText;}).execute();return a.create(this).hasType("sap.f.DynamicPageTitle").has(function(D){return D.getSnappedContent()[0].getText()===o;}).description("The correct text on the collapsed filterbar is displayed").execute();},iSeeDeleteConfirmation:function(){return this._iSeeTheMessageToast(r.getText("C_TRANSACTION_HELPER_OBJECT_PAGE_DELETE_TOAST_SINGULAR"));},iSeePageTitle:function(t){return a.create(this).hasType("sap.f.DynamicPageTitle").hasAggregationProperties("heading",{text:t}).description("Seeing title '"+t+"'").execute();},iSeeVariantTitle:function(t){return a.create(this).hasType("sap.m.Title").hasId("fe::PageVariantManagement-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeControlVMFilterBarTitle:function(t){return a.create(this).hasType("sap.m.Title").hasId(m+"::VariantManagement-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeControlVMTableTitle:function(t,o){var q=o?h(o):S;return a.create(this).hasType("sap.m.Title").hasId(q+"::VM-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeVariantModified:function(o,q){var t;if(q){t=m+"::VariantManagement-modified";}else{t="fe::PageVariantManagement-modified";}o=o===undefined?true:o;if(o){return a.create(this).hasType("sap.m.Label").hasId(t).hasProperties({text:"*"}).description("Seeing variant state as 'modified'").execute();}else{return a.create(this).hasType("sap.m.Label").check(function(u){return!u.some(function(v){return v.getId()===t;});},true).description("Seeing variant state as 'not modified'").execute();}},iSeePageVM:function(o){return F.create(this).hasId("fe::PageVariantManagement").hasState(o).description(U.formatMessage("Seeing page VM with state '{0}'",o)).execute();},iSeeControlVMFilterBar:function(){return a.create(this).hasId(m+"::VariantManagement").description("Seeing control VM - FilterBar").execute();},iSeeDraftIndicator:function(){return a.create(this).hasType("sap.m.Link").hasProperties({text:r.getText("C_DRAFT_POPOVER_ADMIN_DATA_DRAFTINFO_DRAFT_OBJECT")}).description("Draft indicator is visible").execute();},iSeeDraftIndicatorLocked:function(u){var t=r.getText("C_DRAFT_POPOVER_ADMIN_DATA_DRAFTINFO_LOCKED_OBJECT_WITH_OWNER_INFO",[u]);return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).description("Draft indicator is visible and displays '"+t+"'").execute();},iSeeIconTabWithProperties:function(o){return(a.create(this).hasId(I).has(a.Matchers.aggregationMatcher("items",a.Matchers.properties(o))).description(U.formatMessage("Seeing Icon Tab with properties '{0}'",o)).execute());},iSeeNumOfOperators:function(o,q){return a.create(this).hasId(n+o+"-DCP").doOnChildren(a.create(this).hasAggregationLength("items",q)).description("Seeing a value list of condition operators with "+q+" items.").execute();},iCheckValueForFieldInCreateDialog:function(o,v,q){return b.create(this).isDialogElement().hasId(o).hasValue(v).hasProperties({required:!!q}).description(U.formatMessage("Seeing Create dialog parameter '{0}' with value '{1}'",o,v)).execute();},iSeeKPI:function(t,o){var D="Seeing KPI '"+t+"'";if(o){D+=" with properties "+JSON.stringify(o);}return K.create(this).checkKPITag(t,o).description(D).execute();},iSeeKPICard:function(){return K.create(this).checkKPICard().description("Seeing KPI Card").execute();}}}].concat(A));}return L;});
6
+ sap.ui.define(["sap/fe/test/Utils","./TemplatePage","sap/ui/test/Opa5","sap/ui/test/OpaBuilder","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/VMBuilder","sap/fe/test/builder/OverflowToolbarBuilder","sap/fe/test/builder/KPIBuilder","sap/fe/test/api/FooterActionsBase","sap/fe/test/api/FooterAssertionsBase","sap/fe/test/api/HeaderActionsLR","sap/fe/test/api/HeaderAssertionsLR","sap/fe/test/api/KPICardAssertions"],function(U,T,O,a,F,b,V,c,K,d,e,H,f,g){"use strict";function h(I){return"fe::table::"+I+"::LineItem";}function i(E){return"fe::Chart::"+E+"::Chart";}function _(o,p){return F.create(o).hasId(p);}function L(p,A){var s=p.appId,C=p.componentId,j=p.contextPath,E=j?j.substring(1).replace("/","::"):p.entitySet,k=s+"::"+C,S="fe::table::"+E+"::LineItem",l="fe::Chart::"+E+"::Chart",m="fe::FilterBar::"+E,n=m+"::FilterFieldValueHelp::",r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),I="fe::TabMultipleMode",P="fe::ListReport",A=Array.isArray(arguments[1])?arguments[1]:Array.prototype.slice.call(arguments,1);return T.apply(T,[k,{actions:{onTable:function(t){var o;if(t){o=!U.isOfType(t,String)?h(t.property):t;}else{o=S;}return this._onTable({id:o});},onChart:function(v){var o;if(v){o=!U.isOfType(v,String)?i(v.property):v;}else{o=l;}return this._onChart({id:o});},onFilterBar:function(){return this._onFilterBar({id:m});},onHeader:function(){return new H(_(this,P),{id:P});},iCollapseExpandPageHeader:function(o){return this._iCollapseExpandPageHeader(o);},iExecuteActionOnDialog:function(t){return a.create(this).hasType("sap.m.Button").hasProperties({text:t}).isDialogElement().doPress().description("Pressing dialog button '"+t+"'").execute();},iClickLinkWithText:function(t){return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).doPress().description("Navigating via link '"+t+"'").execute();},iOpenIconTabWithTitle:function(N){return a.create(this).hasId(I).has(a.Matchers.aggregation("items",a.Matchers.properties({text:N}))).doPress().description("Selecting Icon Tab "+N).execute();},iSaveVariant:function(v,o,q){var t=U.parseArguments([String,Boolean,Boolean],arguments),u=V.create(this).hasId("fe::PageVariantManagement");if(t[0]){u.doSaveAs(v,o,q).description(U.formatMessage("Saving variant for '{0}' as '{1}' with default='{2}' and applyAutomatically='{3}'","Page Variant",v,!!o,!!q));}else{u.doSave().description(U.formatMessage("Updating current variant for '{0}'","Page Variant"));}return u.execute();},iSelectVariant:function(v){return V.create(this).hasId("fe::PageVariantManagement").doSelectVariant(v).description(U.formatMessage("Selecting variant '{1}' from '{0}'","Page Variant",v)).execute();},iOpenKPICard:function(t){return K.create(this).clickKPITag(t).description("Opening card for KPI '"+t+"'").execute();}},assertions:{onTable:function(t){if(!t){t={id:S};}else{var o=!U.isOfType(t,String)?t.property:t;t={id:h(o)};}return this._onTable(t);},onChart:function(v){var o;if(v){o=!U.isOfType(v,String)?i(v.property):v;}else{o=l;}return this._onChart({id:o});},onFilterBar:function(){return this._onFilterBar({id:m});},onHeader:function(){return new f(_(this,P),{id:P});},onKPICard:function(){return new g(K.create(this));},iSeeTheMessageToast:function(t){return this._iSeeTheMessageToast(t);},iSeeFilterFieldsInFilterBar:function(N,o){if(o){return a.create(this).hasId(m).check(function(q){return(q.getAggregation("layout").isA("sap.fe.core.controls.filterbar.VisualFilterContainer")&&q.getAggregation("layout").getFilterFields().length===N);}).description("Seeing filter bar with "+N+" filter fields").execute();}return a.create(this).hasId(m).hasAggregationLength("filterItems",N).description("Seeing filter bar with "+N+" filter fields").execute();},iSeeTableCellWithActions:function(o,q,B){return a.create(this).hasType("sap.m.ColumnListItem").has(a.Matchers.bindingPath(o)).has(function(t){var u=t.getCells()[q];if(u.isA("sap.fe.macros.MacroAPI")){u=u.getContent();}return u.getMetadata().getElementName()==="sap.m.Button"&&u.getText()===B;}).description("Inline Action is present in the table cell with the Text "+B).execute();},iSeeLinkWithText:function(t){return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).description("Seeing link with text '"+t+"'").execute();},iSeeQuickViewMoreLinksButton:function(){return a.create(this).isDialogElement(true).hasType("sap.m.Button").has(a.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).description("The 'More Links' button found").execute();},iSeeFlpLink:function(D){return a.create(this).hasType("sap.ui.mdc.link.PanelListItem").isDialogElement(true).hasProperties({text:D}).description("FLP link with text '"+D+"' is present").execute();},iSeeHeaderPinnableToggle:function(v){var o=v?"visible":"hidden";return a.create(this).hasType("sap.f.DynamicPageHeader").hasProperties({pinnable:v}).description("The Page Header Pinnable Toggle is "+o).execute();},iSeeContactPopoverWithAvatarImage:function(o){return a.create(this).hasType("sap.ui.mdc.link.Panel").check(function(q){var t=q.some(function(u){return u.src===o;});return t===false;},true).description("Seeing Contact Card with Avatar Image in ListReport").execute();},iSeeLabelWithText:function(t){return a.create(this).hasType("sap.m.Label").hasProperties({text:t}).description("Not Seeing label with text '"+t+"'").execute();},iSeeQuickViewTitleWithText:function(t){return a.create(this).hasType("sap.ui.mdc.link.Panel").check(function(o){var q=o.some(function(u){return u.text===t;});return q===false;},true).description("Seeing QuickView with Title in ListReport").execute();},iSeeSummaryOfAppliedFilters:function(){var o;a.create(this).hasId(m).mustBeVisible(false).do(function(q){o=q.getAssignedFiltersText().filtersText;}).execute();return a.create(this).hasType("sap.f.DynamicPageTitle").has(function(D){return D.getSnappedContent()[0].getText()===o;}).description("The correct text on the collapsed filterbar is displayed").execute();},iSeeDeleteConfirmation:function(){return this._iSeeTheMessageToast(r.getText("C_TRANSACTION_HELPER_OBJECT_PAGE_DELETE_TOAST_SINGULAR"));},iSeePageTitle:function(t){return a.create(this).hasType("sap.f.DynamicPageTitle").hasAggregationProperties("heading",{text:t}).description("Seeing title '"+t+"'").execute();},iSeeVariantTitle:function(t){return a.create(this).hasType("sap.m.Title").hasId("fe::PageVariantManagement-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeControlVMFilterBarTitle:function(t){return a.create(this).hasType("sap.m.Title").hasId(m+"::VariantManagement-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeControlVMTableTitle:function(t,o){var q=o?h(o):S;return a.create(this).hasType("sap.m.Title").hasId(q+"::VM-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeVariantModified:function(o,q){var t;if(q){t=m+"::VariantManagement-modified";}else{t="fe::PageVariantManagement-modified";}o=o===undefined?true:o;if(o){return a.create(this).hasType("sap.m.Label").hasId(t).hasProperties({text:"*"}).description("Seeing variant state as 'modified'").execute();}else{return a.create(this).hasType("sap.m.Label").check(function(u){return!u.some(function(v){return v.getId()===t;});},true).description("Seeing variant state as 'not modified'").execute();}},iSeePageVM:function(o){return F.create(this).hasId("fe::PageVariantManagement").hasState(o).description(U.formatMessage("Seeing page VM with state '{0}'",o)).execute();},iSeeControlVMFilterBar:function(){return a.create(this).hasId(m+"::VariantManagement").description("Seeing control VM - FilterBar").execute();},iSeeDraftIndicator:function(){return a.create(this).hasType("sap.m.Link").hasProperties({text:r.getText("C_DRAFT_POPOVER_ADMIN_DATA_DRAFTINFO_DRAFT_OBJECT")}).description("Draft indicator is visible").execute();},iSeeDraftIndicatorLocked:function(u){var t=r.getText("C_DRAFT_POPOVER_ADMIN_DATA_DRAFTINFO_LOCKED_OBJECT_WITH_OWNER_INFO",[u]);return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).description("Draft indicator is visible and displays '"+t+"'").execute();},iSeeIconTabWithProperties:function(o){return(a.create(this).hasId(I).has(a.Matchers.aggregationMatcher("items",a.Matchers.properties(o))).description(U.formatMessage("Seeing Icon Tab with properties '{0}'",o)).execute());},iSeeNumOfOperators:function(o,q){return a.create(this).hasId(n+o+"-DCP").doOnChildren(a.create(this).hasAggregationLength("items",q)).description("Seeing a value list of condition operators with "+q+" items.").execute();},iSeeKPI:function(t,o){var D="Seeing KPI '"+t+"'";if(o){D+=" with properties "+JSON.stringify(o);}return K.create(this).checkKPITag(t,o).description(D).execute();},iSeeKPICard:function(){return K.create(this).checkKPICard().description("Seeing KPI Card").execute();}}}].concat(A));}return L;});
@@ -409,16 +409,6 @@ sap.ui.define(
409
409
  .description("Comfirmed VHD opened in dialog")
410
410
  .execute();
411
411
  },
412
- iEnterValueForFieldInCreateDialog: function(sFieldId, sValue) {
413
- return OpaBuilder.create(this)
414
- .isDialogElement()
415
- .hasId(sFieldId)
416
- .doEnterText(sValue)
417
- .description(
418
- "Entering Text in the field '" + sFieldId + "'in the create dialog with value '" + sValue + "'"
419
- )
420
- .execute();
421
- },
422
412
  iClickOnMessageButton: function() {
423
413
  return OpaBuilder.create(this)
424
414
 
@@ -796,21 +786,6 @@ sap.ui.define(
796
786
  .description("Seeing variant title '" + sTitle + "'")
797
787
  .execute();
798
788
  },
799
- iCheckValueOfFieldInCreateDialog: function(sFieldId, sValue, sAdditionalValue, bIsRequired) {
800
- return FieldBuilder.create(this)
801
- .isDialogElement()
802
- .hasId(sFieldId)
803
- .hasValue(sValue, sAdditionalValue)
804
- .hasProperties({ required: !!bIsRequired })
805
- .description(
806
- Utils.formatMessage(
807
- "Seeing field '{0}' with value '{1}'",
808
- sFieldId,
809
- [].concat(sValue, sAdditionalValue || [])
810
- )
811
- )
812
- .execute();
813
- },
814
789
  iSeeMessageView: function() {
815
790
  return OpaBuilder.create(this)
816
791
  .hasType("sap.m.MessageView")
@@ -851,19 +826,6 @@ sap.ui.define(
851
826
  .description("MessageItem is correctly displayed")
852
827
  .execute();
853
828
  },
854
-
855
- iCheckValueForFieldInCreateDialog: function(sFieldId, sValue, bIsRequired) {
856
- return FieldBuilder.create(this)
857
- .isDialogElement()
858
- .hasId(sFieldId)
859
- .hasValue(sValue)
860
- .hasProperties({ required: !!bIsRequired })
861
- .description(
862
- Utils.formatMessage("Seeing Create dialog parameter '{0}' with value '{1}'", sFieldId, sValue)
863
- )
864
- .execute();
865
- },
866
-
867
829
  iClickBackOnMessageView: function() {
868
830
  return OpaBuilder.create(this)
869
831
  .hasType("sap.m.MessageView")
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/base/util/merge","./TemplatePage","sap/ui/test/OpaBuilder","sap/ui/test/Opa5","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/OverflowToolbarBuilder","sap/fe/test/api/FooterActionsOP","sap/fe/test/api/FooterAssertionsOP","sap/fe/test/api/HeaderActions","sap/fe/test/api/HeaderAssertions","sap/fe/test/api/FormActions","sap/fe/test/api/FormAssertions","sap/fe/test/api/APIHelper"],function(m,T,O,a,U,F,b,c,d,e,H,f,g,h,A){"use strict";function i(N){return"fe::table::"+N.split("/").join("::")+"::LineItem";}function j(E){return"fe::Chart::"+E+"::Chart";}function _(v,q){return c.create(v).hasId(q.id);}function k(v,q){return F.create(v).hasId(q.id);}function l(v,q){var r=F.create(v);if(U.isOfType(q,String)){r.hasType("sap.uxap.ObjectPageSubSection");r.hasProperties({title:q});}else if(q.fieldGroupId){r.hasId(q.fieldGroupId);if(q.fullSubSectionId){r.has(O.Matchers.ancestor(q.fullSubSectionId,false));}}else{r.hasId(q.id);}return r;}function n(s,q){var M,r;if(!U.isOfType(s,String)){if(typeof s.section==="string"&&!s.subSection){r=s.section==="EditableHeaderSection"?"fe::"+s.section+"-anchor":q+"::"+s.section+"-anchor";M=O.Matchers.children(F.Matchers.id(new RegExp(U.formatMessage("{0}$",r))));}else{throw new Error("not supported section and subsection parameters for creating a control id: "+s.section+"/"+s.subSection);}}else{M=O.Matchers.children(F.Matchers.states({controlType:"sap.m.Button",text:s}));}return M;}function o(M,s){if(!M){throw new Error("vMenuAction parameter missing");}var q=s+"::"+M+"-anchor-unifiedmenu";return F.create().hasType("sap.ui.unified.MenuItem").hasId(new RegExp(U.formatMessage("{0}$",q))).doPress().description(U.formatMessage("Executing action '{0}' from currently open action menu",M));}function p(P,q){var s=P.appId,C=P.componentId,V=s+"::"+C,r=V+"--fe::ObjectPage",t="fe::HeaderFacet",u="fe::ObjectPage-OPHeaderContent",v="fe::FooterBar",w="fe::FacetSection",x="fe::FacetSubSection",y="fe::Form",z="fe::FormContainer",B="fe::HeaderFacet::FormContainer",D=V+"--fe::Breadcrumbs",E="fe::ObjectPage-anchBar",G="fe::Paginator",I="EditableHeaderForm::EditableHeaderTitle",J={DISPLAY:"Display",EDITABLE:"Editable"},R=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),K=Array.prototype.slice.call(arguments,1);return T.apply(T,[V,{actions:{onTable:function(L){if(!U.isOfType(L,String)){L={id:i(L.property)};}return this._onTable(L);},onChart:function(L){var M;if(L){M=!U.isOfType(L,String)?j(L.property):L;}return this._onChart({id:M});},onFooter:function(){return new d(_(this,{id:v}),{id:v});},onHeader:function(){return new H(k(this,{id:r}),{id:r,headerId:t,headerContentId:u,viewId:V,paginatorId:G,breadCrumbId:D});},onForm:function(L){if(!U.isOfType(L,String)){if(L.section){L.id=x+"::"+L.section;L.fullSubSectionId=V+"--"+L.id;}if(L.fieldGroup){if(L.isHeaderFacet){L.fieldGroupId=B+"::"+L.fieldGroup;}else{L.fieldGroupId=z+"::"+L.fieldGroup;}}}return new g(l(this,L),L);},iCollapseExpandPageHeader:function(L){return this._iCollapseExpandPageHeader(L);},iClickQuickViewMoreLinksButton:function(){return O.create(this).hasType("sap.m.Button").has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).doPress().description("Pressing 'More Links' button").execute();},iClickLinkWithText:function(L){return O.create(this).hasType("sap.m.Link").hasProperties({text:L}).doPress().description("Navigating via link '"+L+"'").execute();},iCheckLinksCount:function(L){return O.create(this).hasType("sap.ui.mdc.link.PanelListItem").check(function(M){if(M.length===L+1){return true;}else{return false;}},true).description("Seeing QuickView Card with "+L+" target applications in ObjectPage").execute();},iEnableLink:function(L){return O.create(this).hasType("sap.m.ColumnListItem").hasAggregationProperties("cells",{text:L}).isDialogElement().doPress("selectMulti").description("The CheckBox for link "+L+" is selected").execute();},iPressKeyboardShortcutOnSection:function(S,L){return this._iPressKeyboardShortcut(undefined,S,L,"sap.uxap.ObjectPageSection");},iGoToSection:function(S){var L=O.create(this).hasId(E);if(U.isOfType(S,Object)&&typeof S.section==="string"&&typeof S.subSection==="string"){var M={section:S.section};return L.has(n(M,w)).doOnChildren(O.create(this).hasType("sap.m.Button").has(O.Matchers.childrenMatcher(O.create(this).hasType("sap.ui.core.Icon"),true)).doPress()).success(function(){return o(S.subSection,x).execute();}).description("Selecting section "+S.section).execute();}else{return L.has(n(S,w)).doPress().description("Selecting section "+(S.section||S)).execute();}},iOpenSectionWithTitle:function(N){return this.iGoToSection(N);},iEnterValueForFieldInEditableHeader:function(L){return b.create(this).hasId(V+"--fe::"+I).doEnterText(L).description("Entering '"+L+" in field ").execute();},iOpenVHDInDialog:function(L){return O.create(this).isDialogElement().hasId(L+"-inner-vhi").doPress().description("Opening value help for '"+L+"' from within a dialog").execute();},iConfirmVHDInDialog:function(L){return O.create(this).isDialogElement().hasId(L+"-ok").doPress().description("Comfirmed VHD opened in dialog").execute();},iEnterValueForFieldInCreateDialog:function(L,M){return O.create(this).isDialogElement().hasId(L).doEnterText(M).description("Entering Text in the field '"+L+"'in the create dialog with value '"+M+"'").execute();},iClickOnMessageButton:function(){return O.create(this).hasType("sap.fe.common.MessageButton").doPress().description("Clicked on Message Button").execute();},iCheckMessageButtonTooltip:function(L){return O.create(this).hasType("sap.fe.common.MessageButton").check(function(M){return M[0].getTooltip()===L;},true).description("Checking tooltip of MessageButton").execute();},iClickOnMessage:function(M){return O.create(this).hasType("sap.m.MessageListItem").hasProperties({title:M.MessageText,groupAnnouncement:M.GroupLabel}).isDialogElement(true).description("MessageItem with correct text and group label").doOnChildren(O.create(this).hasType("sap.m.Link").hasProperties({text:M.MessageText}).doPress().description("Click on the message")).execute();}},assertions:{onTable:function(L){if(!U.isOfType(L,String)){L={id:i(L.property)};}return this._onTable(L);},onChart:function(L){var M;if(L){M=!U.isOfType(L,String)?j(L.property):L;}return this._onChart({id:M});},onFooter:function(){return new e(_(this,{id:v}),{id:v});},onHeader:function(){return new f(k(this,{id:r}),{id:r,headerId:t,headerContentId:u,viewId:V,paginatorId:G,breadCrumbId:D});},onForm:function(L){if(!U.isOfType(L,String)){if(L.section){L.id=x+"::"+L.section;L.fullSubSectionId=V+"--"+L.id;}if(L.fieldGroup){L.fieldGroupId=z+"::"+L.fieldGroup;}}return new h(l(this,L),L);},iSeeLinkWithText:function(L){return O.create(this).hasType("sap.m.Link").hasProperties({text:L}).description("Seeing link with text '"+L+"'").execute();},iSeeTextWithText:function(L){return O.create(this).hasType("sap.m.Text").hasProperties({text:L}).description("Seeing Text with text '"+L+"'").execute();},iSeeTitleWithText:function(L){return O.create(this).hasType("sap.m.Title").hasProperties({text:L}).description("Seeing Title with text '"+L+"'").execute();},iSeeContactDetailsPopover:function(L){return(O.create(this).hasType("sap.ui.mdc.link.Panel").description("Contact card with title '"+L+"' is present").execute());},iSeeQuickViewPopover:function(){return O.create(this).hasType("sap.ui.mdc.link.Panel").description("Seeing Quick View Details in ObjectPage").execute();},iSeeContactPopoverWithAvatarImage:function(L){return O.create(this).hasType("sap.ui.mdc.link.Panel").check(function(M){var N=M.some(function(Q){return Q.src===L;});return N===false;},true).description("Seeing Contact Card with Avatar Image in ObjectPage").execute();},iSeeQuickViewMoreLinksButton:function(){return O.create(this).isDialogElement(true).hasType("sap.m.Button").has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).description("The 'More Links' button found").execute();},iSeeObjectPageInDisplayMode:function(){return this._iSeeObjectPageInMode(J.DISPLAY);},iSeeObjectPageInEditMode:function(){return this._iSeeObjectPageInMode(J.EDITABLE);},_iSeeObjectPageInMode:function(M){return O.create(this).hasId(V).viewId(null).has(function(L){return L.getModel("ui").getProperty("/editMode")===M;}).description("Object Page is in mode '"+M+"'").execute();},iSeeSectionWithTitle:function(L){return O.create(this).hasType("sap.uxap.ObjectPageSection").hasProperties({title:L}).description("Seeing section with title '"+L+"'").execute();},iSeeSubSectionWithTitle:function(L){return O.create(this).hasType("sap.uxap.ObjectPageSubSection").hasProperties({title:L}).description("Seeing sub-section with title '"+L+"'").execute();},iSeeSectionButtonWithTitle:function(L,S){return F.create(this).hasId(E).has(O.Matchers.children(F.Matchers.states(m({},{controlType:"sap.m.Button",text:L},S)))).description(U.formatMessage("Seeing section button with title '{0}' and state='{1}'",L,S)).execute();},iSeeFlpLink:function(L){return O.create(this).hasType("sap.ui.mdc.link.PanelListItem").isDialogElement(true).hasProperties({text:L}).description("FLP link with text '"+L+"' is present").execute();},iSeeSimpleFormWithLabel:function(L){return O.create(this).hasType("sap.m.Label").isDialogElement(true).hasProperties({text:L}).description("SimpleForm has label '"+L+"' is present").execute();},iSeeSimpleFormWithText:function(L){return O.create(this).hasType("sap.ui.layout.form.SimpleForm").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Text").hasProperties({text:L})).description("SimpleForm has text '"+L+"' is present").execute();},iSeeSimpleFormWithLink:function(L){return O.create(this).hasType("sap.ui.layout.form.SimpleForm").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Link").hasProperties({text:L})).description("SimpleForm has link '"+L+"' is present").execute();},iSeeSimpleFormWithTitle:function(L){return O.create(this).hasType("sap.ui.core.Title").isDialogElement(true).hasProperties({text:L}).description("SimpleForm has label '"+L+"' is present").execute();},iSeeSelectLinksDialog:function(){return O.create(this).hasType("sap.m.Title").isDialogElement(true).has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.SELECTION_DIALOG_ALIGNEDTITLE")).description("Seeing dialog open").execute();},iDoNotSeeFlpLink:function(L){return O.create(this).hasType("sap.m.Link").isDialogElement(true).check(function(M){var N=M.some(function(Q){return Q.getText()===L;});return N===false;},true).description("FLP link with text '"+L+"' is not found").execute();},iSeeTitleLink:function(L,M){return O.create(this).hasType("sap.m.Link").isDialogElement(true).hasProperties({text:L,href:M}).description("QuickView Title link with text '"+L+"' is found").execute();},iSeeQuickViewTitleWithText:function(L){return O.create(this).hasType("sap.ui.mdc.link.Panel").check(function(M){var N=M.some(function(Q){return Q.text===L;});return N===false;},true).description("Seeing QuickView with Title in ListReport").execute();},iSeeQuickViewFieldWithText:function(L){return O.create(this).hasType("sap.fe.core.controls.FieldWrapper").check(function(M){var N=M.some(function(Q){return Q.text===L;});return N===false;},true).description("Seeing QuickView Form with Text in ListReport").execute();},iSeeCreateConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_CREATED"));},iSeeSaveConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_SAVED"));},iSeeDeleteConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_PAGE_DELETE_TOAST_SINGULAR"));},iSeeConfirmMessageBoxWithTitle:function(L){return O.create(this).hasType("sap.m.Dialog").isDialogElement(true).hasProperties({title:L}).description("Seeing Message dialog open").execute();},iSeeMoreFormContent:function(S){return O.create(this).hasId(y+"::"+S+"::MoreContent").description("Seeing More Form Content in "+S).execute();},iDoNotSeeMoreFormContent:function(S){return O.create(this).hasType("sap.ui.layout.form.Form").check(function(L){var M=L.some(function(N){return N.getId().includes(S+"::MoreContent");});return M===false;}).description("Not Seeing More Form Content in "+S).execute();},iSeeControlVMTableTitle:function(L,N){return O.create(this).hasType("sap.m.Title").hasId(i(N)+"::VM-text").hasProperties({text:L}).description("Seeing variant title '"+L+"'").execute();},iCheckValueOfFieldInCreateDialog:function(L,M,N,Q){return b.create(this).isDialogElement().hasId(L).hasValue(M,N).hasProperties({required:!!Q}).description(U.formatMessage("Seeing field '{0}' with value '{1}'",L,[].concat(M,N||[]))).execute();},iSeeMessageView:function(){return O.create(this).hasType("sap.m.MessageView").isDialogElement(true).description("MessageView is visible").execute();},iCheckMessageItemsOrder:function(L){return O.create(this).hasType("sap.m.MessageView").check(function(M){var N=M[0].getItems();return(N[0].getGroupName()===L[0].GroupLabel&&N[1].getGroupName()===L[1].GroupLabel&&N[0].getTitle()===L[0].MessageText&&N[1].getTitle()===L[1].MessageText);},true).isDialogElement(true).description("MessageItems are correctly ordered").execute();},iCheckMessageItemProperties:function(L,M){return O.create(this).hasType("sap.m.MessageView").check(function(N){var Q=N[0].getItems();return(Q[M].getGroupName()===L.GroupLabel&&Q[M].getTitle()===L.MessageText&&Q[M].getSubtitle()===L.SubTitle&&Q[M].getActiveTitle()===L.ActiveTitle);},true).isDialogElement(true).description("MessageItem is correctly displayed").execute();},iCheckValueForFieldInCreateDialog:function(L,M,N){return b.create(this).isDialogElement().hasId(L).hasValue(M).hasProperties({required:!!N}).description(U.formatMessage("Seeing Create dialog parameter '{0}' with value '{1}'",L,M)).execute();},iClickBackOnMessageView:function(){return O.create(this).hasType("sap.m.MessageView").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Button").hasProperties({icon:"sap-icon://nav-back"}).doPress().description("Click on the message view back")).execute();},iCheckVisibilityOfButtonWithText:function(L,M){return O.create(this).hasType("sap.m.Button").mustBeVisible(M).hasProperties({text:L,visible:M}).description("Button '"+L+"' is "+(M?"visible":"NOT visible")).execute();},iCheckFieldVisibilityInMassEditDialog:function(L,M){return O.create(this).isDialogElement().hasType("sap.m.ComboBox").check(function(N){var Q=N.some(function(S){return S.getId()===L;});return Q===M;}).description("Checking visibility of field in mass edit dialog").execute();}}}].concat(K));}return p;});
6
+ sap.ui.define(["sap/base/util/merge","./TemplatePage","sap/ui/test/OpaBuilder","sap/ui/test/Opa5","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/OverflowToolbarBuilder","sap/fe/test/api/FooterActionsOP","sap/fe/test/api/FooterAssertionsOP","sap/fe/test/api/HeaderActions","sap/fe/test/api/HeaderAssertions","sap/fe/test/api/FormActions","sap/fe/test/api/FormAssertions","sap/fe/test/api/APIHelper"],function(m,T,O,a,U,F,b,c,d,e,H,f,g,h,A){"use strict";function i(N){return"fe::table::"+N.split("/").join("::")+"::LineItem";}function j(E){return"fe::Chart::"+E+"::Chart";}function _(v,q){return c.create(v).hasId(q.id);}function k(v,q){return F.create(v).hasId(q.id);}function l(v,q){var r=F.create(v);if(U.isOfType(q,String)){r.hasType("sap.uxap.ObjectPageSubSection");r.hasProperties({title:q});}else if(q.fieldGroupId){r.hasId(q.fieldGroupId);if(q.fullSubSectionId){r.has(O.Matchers.ancestor(q.fullSubSectionId,false));}}else{r.hasId(q.id);}return r;}function n(s,q){var M,r;if(!U.isOfType(s,String)){if(typeof s.section==="string"&&!s.subSection){r=s.section==="EditableHeaderSection"?"fe::"+s.section+"-anchor":q+"::"+s.section+"-anchor";M=O.Matchers.children(F.Matchers.id(new RegExp(U.formatMessage("{0}$",r))));}else{throw new Error("not supported section and subsection parameters for creating a control id: "+s.section+"/"+s.subSection);}}else{M=O.Matchers.children(F.Matchers.states({controlType:"sap.m.Button",text:s}));}return M;}function o(M,s){if(!M){throw new Error("vMenuAction parameter missing");}var q=s+"::"+M+"-anchor-unifiedmenu";return F.create().hasType("sap.ui.unified.MenuItem").hasId(new RegExp(U.formatMessage("{0}$",q))).doPress().description(U.formatMessage("Executing action '{0}' from currently open action menu",M));}function p(P,q){var s=P.appId,C=P.componentId,V=s+"::"+C,r=V+"--fe::ObjectPage",t="fe::HeaderFacet",u="fe::ObjectPage-OPHeaderContent",v="fe::FooterBar",w="fe::FacetSection",x="fe::FacetSubSection",y="fe::Form",z="fe::FormContainer",B="fe::HeaderFacet::FormContainer",D=V+"--fe::Breadcrumbs",E="fe::ObjectPage-anchBar",G="fe::Paginator",I="EditableHeaderForm::EditableHeaderTitle",J={DISPLAY:"Display",EDITABLE:"Editable"},R=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),K=Array.prototype.slice.call(arguments,1);return T.apply(T,[V,{actions:{onTable:function(L){if(!U.isOfType(L,String)){L={id:i(L.property)};}return this._onTable(L);},onChart:function(L){var M;if(L){M=!U.isOfType(L,String)?j(L.property):L;}return this._onChart({id:M});},onFooter:function(){return new d(_(this,{id:v}),{id:v});},onHeader:function(){return new H(k(this,{id:r}),{id:r,headerId:t,headerContentId:u,viewId:V,paginatorId:G,breadCrumbId:D});},onForm:function(L){if(!U.isOfType(L,String)){if(L.section){L.id=x+"::"+L.section;L.fullSubSectionId=V+"--"+L.id;}if(L.fieldGroup){if(L.isHeaderFacet){L.fieldGroupId=B+"::"+L.fieldGroup;}else{L.fieldGroupId=z+"::"+L.fieldGroup;}}}return new g(l(this,L),L);},iCollapseExpandPageHeader:function(L){return this._iCollapseExpandPageHeader(L);},iClickQuickViewMoreLinksButton:function(){return O.create(this).hasType("sap.m.Button").has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).doPress().description("Pressing 'More Links' button").execute();},iClickLinkWithText:function(L){return O.create(this).hasType("sap.m.Link").hasProperties({text:L}).doPress().description("Navigating via link '"+L+"'").execute();},iCheckLinksCount:function(L){return O.create(this).hasType("sap.ui.mdc.link.PanelListItem").check(function(M){if(M.length===L+1){return true;}else{return false;}},true).description("Seeing QuickView Card with "+L+" target applications in ObjectPage").execute();},iEnableLink:function(L){return O.create(this).hasType("sap.m.ColumnListItem").hasAggregationProperties("cells",{text:L}).isDialogElement().doPress("selectMulti").description("The CheckBox for link "+L+" is selected").execute();},iPressKeyboardShortcutOnSection:function(S,L){return this._iPressKeyboardShortcut(undefined,S,L,"sap.uxap.ObjectPageSection");},iGoToSection:function(S){var L=O.create(this).hasId(E);if(U.isOfType(S,Object)&&typeof S.section==="string"&&typeof S.subSection==="string"){var M={section:S.section};return L.has(n(M,w)).doOnChildren(O.create(this).hasType("sap.m.Button").has(O.Matchers.childrenMatcher(O.create(this).hasType("sap.ui.core.Icon"),true)).doPress()).success(function(){return o(S.subSection,x).execute();}).description("Selecting section "+S.section).execute();}else{return L.has(n(S,w)).doPress().description("Selecting section "+(S.section||S)).execute();}},iOpenSectionWithTitle:function(N){return this.iGoToSection(N);},iEnterValueForFieldInEditableHeader:function(L){return b.create(this).hasId(V+"--fe::"+I).doEnterText(L).description("Entering '"+L+" in field ").execute();},iOpenVHDInDialog:function(L){return O.create(this).isDialogElement().hasId(L+"-inner-vhi").doPress().description("Opening value help for '"+L+"' from within a dialog").execute();},iConfirmVHDInDialog:function(L){return O.create(this).isDialogElement().hasId(L+"-ok").doPress().description("Comfirmed VHD opened in dialog").execute();},iClickOnMessageButton:function(){return O.create(this).hasType("sap.fe.common.MessageButton").doPress().description("Clicked on Message Button").execute();},iCheckMessageButtonTooltip:function(L){return O.create(this).hasType("sap.fe.common.MessageButton").check(function(M){return M[0].getTooltip()===L;},true).description("Checking tooltip of MessageButton").execute();},iClickOnMessage:function(M){return O.create(this).hasType("sap.m.MessageListItem").hasProperties({title:M.MessageText,groupAnnouncement:M.GroupLabel}).isDialogElement(true).description("MessageItem with correct text and group label").doOnChildren(O.create(this).hasType("sap.m.Link").hasProperties({text:M.MessageText}).doPress().description("Click on the message")).execute();}},assertions:{onTable:function(L){if(!U.isOfType(L,String)){L={id:i(L.property)};}return this._onTable(L);},onChart:function(L){var M;if(L){M=!U.isOfType(L,String)?j(L.property):L;}return this._onChart({id:M});},onFooter:function(){return new e(_(this,{id:v}),{id:v});},onHeader:function(){return new f(k(this,{id:r}),{id:r,headerId:t,headerContentId:u,viewId:V,paginatorId:G,breadCrumbId:D});},onForm:function(L){if(!U.isOfType(L,String)){if(L.section){L.id=x+"::"+L.section;L.fullSubSectionId=V+"--"+L.id;}if(L.fieldGroup){L.fieldGroupId=z+"::"+L.fieldGroup;}}return new h(l(this,L),L);},iSeeLinkWithText:function(L){return O.create(this).hasType("sap.m.Link").hasProperties({text:L}).description("Seeing link with text '"+L+"'").execute();},iSeeTextWithText:function(L){return O.create(this).hasType("sap.m.Text").hasProperties({text:L}).description("Seeing Text with text '"+L+"'").execute();},iSeeTitleWithText:function(L){return O.create(this).hasType("sap.m.Title").hasProperties({text:L}).description("Seeing Title with text '"+L+"'").execute();},iSeeContactDetailsPopover:function(L){return(O.create(this).hasType("sap.ui.mdc.link.Panel").description("Contact card with title '"+L+"' is present").execute());},iSeeQuickViewPopover:function(){return O.create(this).hasType("sap.ui.mdc.link.Panel").description("Seeing Quick View Details in ObjectPage").execute();},iSeeContactPopoverWithAvatarImage:function(L){return O.create(this).hasType("sap.ui.mdc.link.Panel").check(function(M){var N=M.some(function(Q){return Q.src===L;});return N===false;},true).description("Seeing Contact Card with Avatar Image in ObjectPage").execute();},iSeeQuickViewMoreLinksButton:function(){return O.create(this).isDialogElement(true).hasType("sap.m.Button").has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).description("The 'More Links' button found").execute();},iSeeObjectPageInDisplayMode:function(){return this._iSeeObjectPageInMode(J.DISPLAY);},iSeeObjectPageInEditMode:function(){return this._iSeeObjectPageInMode(J.EDITABLE);},_iSeeObjectPageInMode:function(M){return O.create(this).hasId(V).viewId(null).has(function(L){return L.getModel("ui").getProperty("/editMode")===M;}).description("Object Page is in mode '"+M+"'").execute();},iSeeSectionWithTitle:function(L){return O.create(this).hasType("sap.uxap.ObjectPageSection").hasProperties({title:L}).description("Seeing section with title '"+L+"'").execute();},iSeeSubSectionWithTitle:function(L){return O.create(this).hasType("sap.uxap.ObjectPageSubSection").hasProperties({title:L}).description("Seeing sub-section with title '"+L+"'").execute();},iSeeSectionButtonWithTitle:function(L,S){return F.create(this).hasId(E).has(O.Matchers.children(F.Matchers.states(m({},{controlType:"sap.m.Button",text:L},S)))).description(U.formatMessage("Seeing section button with title '{0}' and state='{1}'",L,S)).execute();},iSeeFlpLink:function(L){return O.create(this).hasType("sap.ui.mdc.link.PanelListItem").isDialogElement(true).hasProperties({text:L}).description("FLP link with text '"+L+"' is present").execute();},iSeeSimpleFormWithLabel:function(L){return O.create(this).hasType("sap.m.Label").isDialogElement(true).hasProperties({text:L}).description("SimpleForm has label '"+L+"' is present").execute();},iSeeSimpleFormWithText:function(L){return O.create(this).hasType("sap.ui.layout.form.SimpleForm").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Text").hasProperties({text:L})).description("SimpleForm has text '"+L+"' is present").execute();},iSeeSimpleFormWithLink:function(L){return O.create(this).hasType("sap.ui.layout.form.SimpleForm").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Link").hasProperties({text:L})).description("SimpleForm has link '"+L+"' is present").execute();},iSeeSimpleFormWithTitle:function(L){return O.create(this).hasType("sap.ui.core.Title").isDialogElement(true).hasProperties({text:L}).description("SimpleForm has label '"+L+"' is present").execute();},iSeeSelectLinksDialog:function(){return O.create(this).hasType("sap.m.Title").isDialogElement(true).has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.SELECTION_DIALOG_ALIGNEDTITLE")).description("Seeing dialog open").execute();},iDoNotSeeFlpLink:function(L){return O.create(this).hasType("sap.m.Link").isDialogElement(true).check(function(M){var N=M.some(function(Q){return Q.getText()===L;});return N===false;},true).description("FLP link with text '"+L+"' is not found").execute();},iSeeTitleLink:function(L,M){return O.create(this).hasType("sap.m.Link").isDialogElement(true).hasProperties({text:L,href:M}).description("QuickView Title link with text '"+L+"' is found").execute();},iSeeQuickViewTitleWithText:function(L){return O.create(this).hasType("sap.ui.mdc.link.Panel").check(function(M){var N=M.some(function(Q){return Q.text===L;});return N===false;},true).description("Seeing QuickView with Title in ListReport").execute();},iSeeQuickViewFieldWithText:function(L){return O.create(this).hasType("sap.fe.core.controls.FieldWrapper").check(function(M){var N=M.some(function(Q){return Q.text===L;});return N===false;},true).description("Seeing QuickView Form with Text in ListReport").execute();},iSeeCreateConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_CREATED"));},iSeeSaveConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_SAVED"));},iSeeDeleteConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_PAGE_DELETE_TOAST_SINGULAR"));},iSeeConfirmMessageBoxWithTitle:function(L){return O.create(this).hasType("sap.m.Dialog").isDialogElement(true).hasProperties({title:L}).description("Seeing Message dialog open").execute();},iSeeMoreFormContent:function(S){return O.create(this).hasId(y+"::"+S+"::MoreContent").description("Seeing More Form Content in "+S).execute();},iDoNotSeeMoreFormContent:function(S){return O.create(this).hasType("sap.ui.layout.form.Form").check(function(L){var M=L.some(function(N){return N.getId().includes(S+"::MoreContent");});return M===false;}).description("Not Seeing More Form Content in "+S).execute();},iSeeControlVMTableTitle:function(L,N){return O.create(this).hasType("sap.m.Title").hasId(i(N)+"::VM-text").hasProperties({text:L}).description("Seeing variant title '"+L+"'").execute();},iSeeMessageView:function(){return O.create(this).hasType("sap.m.MessageView").isDialogElement(true).description("MessageView is visible").execute();},iCheckMessageItemsOrder:function(L){return O.create(this).hasType("sap.m.MessageView").check(function(M){var N=M[0].getItems();return(N[0].getGroupName()===L[0].GroupLabel&&N[1].getGroupName()===L[1].GroupLabel&&N[0].getTitle()===L[0].MessageText&&N[1].getTitle()===L[1].MessageText);},true).isDialogElement(true).description("MessageItems are correctly ordered").execute();},iCheckMessageItemProperties:function(L,M){return O.create(this).hasType("sap.m.MessageView").check(function(N){var Q=N[0].getItems();return(Q[M].getGroupName()===L.GroupLabel&&Q[M].getTitle()===L.MessageText&&Q[M].getSubtitle()===L.SubTitle&&Q[M].getActiveTitle()===L.ActiveTitle);},true).isDialogElement(true).description("MessageItem is correctly displayed").execute();},iClickBackOnMessageView:function(){return O.create(this).hasType("sap.m.MessageView").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Button").hasProperties({icon:"sap-icon://nav-back"}).doPress().description("Click on the message view back")).execute();},iCheckVisibilityOfButtonWithText:function(L,M){return O.create(this).hasType("sap.m.Button").mustBeVisible(M).hasProperties({text:L,visible:M}).description("Button '"+L+"' is "+(M?"visible":"NOT visible")).execute();},iCheckFieldVisibilityInMassEditDialog:function(L,M){return O.create(this).isDialogElement().hasType("sap.m.ComboBox").check(function(N){var Q=N.some(function(S){return S.getId()===L;});return Q===M;}).description("Checking visibility of field in mass edit dialog").execute();}}}].concat(K));}return p;});
@@ -447,18 +447,6 @@ sap.ui.define(
447
447
  )
448
448
  .execute();
449
449
  },
450
- iSeeActionParameterContent: function(sFieldName, sContent) {
451
- var sFieldId = "APD_::" + sFieldName + "-inner",
452
- oBuilder = OpaBuilder.create(this)
453
- .hasId(sFieldId)
454
- .isDialogElement()
455
- .description("Seeing Action parameter '" + sFieldName + "' with content '" + sContent + "'");
456
-
457
- if (sContent) {
458
- oBuilder.hasProperties({ value: sContent });
459
- }
460
- return oBuilder.execute();
461
- },
462
450
  iSeePageHeaderButton: function(bCollapse) {
463
451
  return OpaBuilder.create(this)
464
452
  .hasType("sap.m.Button")
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/ui/test/OpaBuilder","sap/ui/test/Opa5","sap/ui/core/util/ShortcutHelper","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MdcFieldBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/MdcTableBuilder","sap/fe/test/builder/DialogBuilder","sap/fe/test/api/DialogType","sap/fe/test/api/DialogActions","sap/fe/test/api/DialogAssertions","sap/fe/test/api/DialogMessageActions","sap/fe/test/api/DialogMessageAssertions","sap/fe/test/api/DialogValueHelpActions","sap/fe/test/api/DialogValueHelpAssertions","sap/fe/test/api/DialogCreateActions","sap/fe/test/api/DialogCreateAssertions","sap/fe/test/api/TableAssertions","sap/fe/test/api/TableActions","sap/fe/test/api/ChartAssertions","sap/fe/test/api/ChartActions","sap/fe/test/builder/MdcFilterBarBuilder","sap/fe/test/api/FilterBarAssertions","sap/fe/test/api/FilterBarActions","sap/base/util/deepEqual","sap/ushell/resources"],function(O,a,S,U,F,b,M,T,D,c,d,e,f,g,h,i,j,k,l,m,C,n,o,p,q,r,s){"use strict";function _(x,y){var z=T.create(x);if(U.isOfType(y,String)){z.hasProperties({header:y});}else{z.hasId(y.id);}return z;}function t(x,y){return o.create(x).hasId(y.id);}function u(x,y,A){if(U.isOfType(y,String,true)){y={type:c.Confirmation,title:y};}var z=D.create(x);switch(y.type){case c.ValueHelp:if(y.property){z.has(F.Matchers.id(RegExp(U.formatMessage("::FieldValueHelp::{0}-dialog$",y.property.replaceAll("/","::")))));}return A?new h(z,y):new i(z,y);case c.Error:z.hasProperties({icon:"sap-icon://error",title:"Error"});return A?new d(z,y):new e(z,y);case c.Message:return A?new f(z,y):new g(z,y);case c.Create:return A?new j(z,y):new k(z,y);default:return A?new d(z,y):new e(z,y);}}function v(){var x={};Object.keys(c).forEach(function(y){x["on"+y+"Dialog"]=function(){return this.onDialog({type:y});};});return x;}function w(V,A){var x=U.isOfType(V,String)?V:V.viewId,y=Array.prototype.slice.call(arguments,1);return U.mergeObjects.apply(U,[{viewId:x,actions:U.mergeObjects({_onTable:function(z){return new m(_(this,z),z);},_onChart:function(z){return new n(F,z);},_onFilterBar:function(z){return new q(t(this,z),z);},onDialog:function(z){return u(this,z,true);},iOpenVHOnActionDialog:function(z){var B="APD_::"+z+"-inner-vhi";return O.create(this).hasId(B).isDialogElement().doPress().description("Opening value help for '"+z+"'").execute();},_iPressKeyboardShortcut:function(I,z,P,B){return O.create(this).hasId(I).hasProperties(P?P:{}).hasType(B).do(function(E){var N=S.parseShortcut(z);N.type="keydown";E.$().trigger(N);}).description("Execute keyboard shortcut "+z).execute();},_iCollapseExpandPageHeader:function(z){var E=O.Matchers.resourceBundle("tooltip","sap.f","COLLAPSE_HEADER_BUTTON_TOOLTIP"),B=O.Matchers.resourceBundle("tooltip","sap.f","EXPAND_HEADER_BUTTON_TOOLTIP");return O.create(this).hasType("sap.m.Button").has(O.Matchers.some(E,B)).doConditional(z?E:B,O.Actions.press()).description(U.formatMessage("{0} the current Page Header",z?"Collapsing":"Expanding")).execute();}},v()),assertions:U.mergeObjects({_onTable:function(z){return new l(_(this,z),z);},_onChart:function(z){return new C(F,z);},_onFilterBar:function(z){return new p(t(this,z),z);},onDialog:function(z){return u(this,z,false);},iSeeThisPage:function(){return O.create(this).hasId(x).do(function(z){var B=z.getParent().oContainer;var E=B;do{E=E.getParent();}while(!E.isA("sap.ui.core.mvc.XMLView"));this.oPlaceholder=E.getController().oPlaceholder;}.bind(this)).viewId(null).viewName(null).description(U.formatMessage("Seeing the page '{0}'",x)).execute();},iResetPlaceholderStatistics:function(){return O.create(this).do(function(){this.oPlaceholder.resetPlaceholderDebugStats();}.bind(this)).description("Placeholder reset statistics").execute();},iCheckPlaceholderStatistics:function(P){var z={pageReady:"iPageReadyEventTimestamp",heroesBatchReceived:"iHeroesBatchReceivedEventTimestamp"};return O.create(this).check(function(){var B=this.oPlaceholder.getPlaceholderDebugStats();var L=z[P];if(B.iHidePlaceholderTimestamp-B[L]<10){return true;}else{return false;}}.bind(this)).description("Placeholder statistics are correct").execute();},iSeeFilterDefinedOnActionDialogValueHelp:function(z,B,E,G){return O.create(this).hasId(z+"::"+B+"::FilterBar::FilterField::"+E+"-inner").isDialogElement().hasAggregationProperties("tokens",{text:G}).description("Seeing filter for '"+E+"' set to '"+G+"'").execute();},_iSeeTheMessageToast:function(z){return F.createMessageToastBuilder(z).execute(this);},_iSeeButtonWithText:function(z,B){return F.create(this).hasType("sap.m.Button").hasProperties({text:z}).hasState(B).checkNumberOfMatches(1).description(U.formatMessage("Seeing Button with text '{0}'"+(B?" with state: '{1}'":""),z,B)).execute();},iSeeActionParameterContent:function(z,B){var E="APD_::"+z+"-inner",G=O.create(this).hasId(E).isDialogElement().description("Seeing Action parameter '"+z+"' with content '"+B+"'");if(B){G.hasProperties({value:B});}return G.execute();},iSeePageHeaderButton:function(z){return O.create(this).hasType("sap.m.Button").has(O.Matchers.resourceBundle("tooltip","sap.f",z?"COLLAPSE_HEADER_BUTTON_TOOLTIP":"EXPAND_HEADER_BUTTON_TOOLTIP")).description("Seeing the "+(z?"Collapse":"Expand")+" Page Header Button").execute();},iSeeTileCreationMessage:function(){return this._iSeeTheMessageToast(s.i18n.getText("tile_created_msg"));},iSeeMessageStrip:function(P){return O.create(this).hasType("sap.m.MessageStrip").hasProperties(P).description(U.formatMessage("Seeing message strip with properties='{0}'",P)).execute();}},v())}].concat(y));}return w;});
6
+ sap.ui.define(["sap/ui/test/OpaBuilder","sap/ui/test/Opa5","sap/ui/core/util/ShortcutHelper","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MdcFieldBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/MdcTableBuilder","sap/fe/test/builder/DialogBuilder","sap/fe/test/api/DialogType","sap/fe/test/api/DialogActions","sap/fe/test/api/DialogAssertions","sap/fe/test/api/DialogMessageActions","sap/fe/test/api/DialogMessageAssertions","sap/fe/test/api/DialogValueHelpActions","sap/fe/test/api/DialogValueHelpAssertions","sap/fe/test/api/DialogCreateActions","sap/fe/test/api/DialogCreateAssertions","sap/fe/test/api/TableAssertions","sap/fe/test/api/TableActions","sap/fe/test/api/ChartAssertions","sap/fe/test/api/ChartActions","sap/fe/test/builder/MdcFilterBarBuilder","sap/fe/test/api/FilterBarAssertions","sap/fe/test/api/FilterBarActions","sap/base/util/deepEqual","sap/ushell/resources"],function(O,a,S,U,F,b,M,T,D,c,d,e,f,g,h,i,j,k,l,m,C,n,o,p,q,r,s){"use strict";function _(x,y){var z=T.create(x);if(U.isOfType(y,String)){z.hasProperties({header:y});}else{z.hasId(y.id);}return z;}function t(x,y){return o.create(x).hasId(y.id);}function u(x,y,A){if(U.isOfType(y,String,true)){y={type:c.Confirmation,title:y};}var z=D.create(x);switch(y.type){case c.ValueHelp:if(y.property){z.has(F.Matchers.id(RegExp(U.formatMessage("::FieldValueHelp::{0}-dialog$",y.property.replaceAll("/","::")))));}return A?new h(z,y):new i(z,y);case c.Error:z.hasProperties({icon:"sap-icon://error",title:"Error"});return A?new d(z,y):new e(z,y);case c.Message:return A?new f(z,y):new g(z,y);case c.Create:return A?new j(z,y):new k(z,y);default:return A?new d(z,y):new e(z,y);}}function v(){var x={};Object.keys(c).forEach(function(y){x["on"+y+"Dialog"]=function(){return this.onDialog({type:y});};});return x;}function w(V,A){var x=U.isOfType(V,String)?V:V.viewId,y=Array.prototype.slice.call(arguments,1);return U.mergeObjects.apply(U,[{viewId:x,actions:U.mergeObjects({_onTable:function(z){return new m(_(this,z),z);},_onChart:function(z){return new n(F,z);},_onFilterBar:function(z){return new q(t(this,z),z);},onDialog:function(z){return u(this,z,true);},iOpenVHOnActionDialog:function(z){var B="APD_::"+z+"-inner-vhi";return O.create(this).hasId(B).isDialogElement().doPress().description("Opening value help for '"+z+"'").execute();},_iPressKeyboardShortcut:function(I,z,P,B){return O.create(this).hasId(I).hasProperties(P?P:{}).hasType(B).do(function(E){var N=S.parseShortcut(z);N.type="keydown";E.$().trigger(N);}).description("Execute keyboard shortcut "+z).execute();},_iCollapseExpandPageHeader:function(z){var E=O.Matchers.resourceBundle("tooltip","sap.f","COLLAPSE_HEADER_BUTTON_TOOLTIP"),B=O.Matchers.resourceBundle("tooltip","sap.f","EXPAND_HEADER_BUTTON_TOOLTIP");return O.create(this).hasType("sap.m.Button").has(O.Matchers.some(E,B)).doConditional(z?E:B,O.Actions.press()).description(U.formatMessage("{0} the current Page Header",z?"Collapsing":"Expanding")).execute();}},v()),assertions:U.mergeObjects({_onTable:function(z){return new l(_(this,z),z);},_onChart:function(z){return new C(F,z);},_onFilterBar:function(z){return new p(t(this,z),z);},onDialog:function(z){return u(this,z,false);},iSeeThisPage:function(){return O.create(this).hasId(x).do(function(z){var B=z.getParent().oContainer;var E=B;do{E=E.getParent();}while(!E.isA("sap.ui.core.mvc.XMLView"));this.oPlaceholder=E.getController().oPlaceholder;}.bind(this)).viewId(null).viewName(null).description(U.formatMessage("Seeing the page '{0}'",x)).execute();},iResetPlaceholderStatistics:function(){return O.create(this).do(function(){this.oPlaceholder.resetPlaceholderDebugStats();}.bind(this)).description("Placeholder reset statistics").execute();},iCheckPlaceholderStatistics:function(P){var z={pageReady:"iPageReadyEventTimestamp",heroesBatchReceived:"iHeroesBatchReceivedEventTimestamp"};return O.create(this).check(function(){var B=this.oPlaceholder.getPlaceholderDebugStats();var L=z[P];if(B.iHidePlaceholderTimestamp-B[L]<10){return true;}else{return false;}}.bind(this)).description("Placeholder statistics are correct").execute();},iSeeFilterDefinedOnActionDialogValueHelp:function(z,B,E,G){return O.create(this).hasId(z+"::"+B+"::FilterBar::FilterField::"+E+"-inner").isDialogElement().hasAggregationProperties("tokens",{text:G}).description("Seeing filter for '"+E+"' set to '"+G+"'").execute();},_iSeeTheMessageToast:function(z){return F.createMessageToastBuilder(z).execute(this);},_iSeeButtonWithText:function(z,B){return F.create(this).hasType("sap.m.Button").hasProperties({text:z}).hasState(B).checkNumberOfMatches(1).description(U.formatMessage("Seeing Button with text '{0}'"+(B?" with state: '{1}'":""),z,B)).execute();},iSeePageHeaderButton:function(z){return O.create(this).hasType("sap.m.Button").has(O.Matchers.resourceBundle("tooltip","sap.f",z?"COLLAPSE_HEADER_BUTTON_TOOLTIP":"EXPAND_HEADER_BUTTON_TOOLTIP")).description("Seeing the "+(z?"Collapse":"Expand")+" Page Header Button").execute();},iSeeTileCreationMessage:function(){return this._iSeeTheMessageToast(s.i18n.getText("tile_created_msg"));},iSeeMessageStrip:function(P){return O.create(this).hasType("sap.m.MessageStrip").hasProperties(P).description(U.formatMessage("Seeing message strip with properties='{0}'",P)).execute();}},v())}].concat(y));}return w;});
@@ -27,6 +27,11 @@ sap.ui.define([], function () {
27
27
  return _this.oValues[key];
28
28
  }));
29
29
 
30
+ _defineProperty(this, "setProperty", jest.fn(function (key, value) {
31
+ _this.oValues[key] = value;
32
+ return _this.oValues[key];
33
+ }));
34
+
30
35
  _defineProperty(this, "getObject", jest.fn(function (key) {
31
36
  return _this.oValues[key];
32
37
  }));
@@ -39,6 +44,8 @@ sap.ui.define([], function () {
39
44
  return _this.oBinding;
40
45
  }));
41
46
 
47
+ _defineProperty(this, "getModel", jest.fn());
48
+
42
49
  this.oValues = oValues;
43
50
  this.oBinding = oBinding;
44
51
  };
@@ -51,6 +58,10 @@ sap.ui.define([], function () {
51
58
  _defineProperty(this, "getBindingInfo", jest.fn());
52
59
 
53
60
  _defineProperty(this, "getBinding", jest.fn());
61
+
62
+ _defineProperty(this, "data", jest.fn());
63
+
64
+ _defineProperty(this, "getModel", jest.fn());
54
65
  };
55
66
  /**
56
67
  * Mock class for OData V4 ListBinding
@@ -154,6 +165,12 @@ sap.ui.define([], function () {
154
165
  return _this4.oMetaContext.getProperty(sPath);
155
166
  }));
156
167
 
168
+ _defineProperty(this, "requestObject", jest.fn());
169
+
170
+ _defineProperty(this, "createBindingContext", jest.fn());
171
+
172
+ _defineProperty(this, "getMetaPath", jest.fn());
173
+
157
174
  this.oMetaContext = new MockContext(oMetaData || {});
158
175
  } // Mocked API
159
176
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -183,6 +200,10 @@ sap.ui.define([], function () {
183
200
  return _this5.oMetaModel;
184
201
  }));
185
202
 
203
+ _defineProperty(this, "getProperty", jest.fn());
204
+
205
+ _defineProperty(this, "setProperty", jest.fn());
206
+
186
207
  this.mockListBinding = mockListBinding;
187
208
  this.mockContextBinding = mockContextBinding;
188
209
  } // Factories
@@ -215,4 +236,4 @@ sap.ui.define([], function () {
215
236
  _exports.MockModel = MockModel;
216
237
  return _exports;
217
238
  }, false);
218
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlVJNU1vY2tIZWxwZXIudHMiXSwibmFtZXMiOlsiTW9ja0NvbnRleHQiLCJvVmFsdWVzIiwib0JpbmRpbmciLCJqZXN0IiwiZm4iLCJrZXkiLCJNb2NrQ29udHJvbCIsIk1vY2tMaXN0QmluZGluZyIsImFDb250ZXh0cyIsIlByb21pc2UiLCJyZXNvbHZlIiwiYU1vY2tDb250ZXh0cyIsIm1hcCIsImNvbnRleHQiLCJzQ2xhc3NOYW1lIiwiTW9ja0NvbnRleHRCaW5kaW5nIiwib0NvbnRleHQiLCJvTW9ja0NvbnRleHQiLCJNb2NrTWV0YU1vZGVsIiwib01ldGFEYXRhIiwic1BhdGgiLCIkcGF0aCIsIm9NZXRhQ29udGV4dCIsImdldFByb3BlcnR5IiwiTW9ja01vZGVsIiwibW9ja0xpc3RCaW5kaW5nIiwibW9ja0NvbnRleHRCaW5kaW5nIiwib01ldGFNb2RlbCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFGQTtBQUNBO0FBQ0E7TUFJYUEsVyxHQUNaLHFCQUEyQkMsT0FBM0IsRUFBaURDLFFBQWpELEVBQWlFO0FBQUE7O0FBQUE7O0FBQUEseUNBRTVDQyxJQUFJLENBQUNDLEVBQUwsQ0FBUSxVQUFDQyxHQUFELEVBQWlCO0FBQzdDLGFBQU8sS0FBSSxDQUFDSixPQUFMLENBQWFJLEdBQWIsQ0FBUDtBQUNBLEtBRm9CLENBRjRDOztBQUFBLHVDQUs5Q0YsSUFBSSxDQUFDQyxFQUFMLENBQVEsVUFBQ0MsR0FBRCxFQUFpQjtBQUMzQyxhQUFPLEtBQUksQ0FBQ0osT0FBTCxDQUFhSSxHQUFiLENBQVA7QUFDQSxLQUZrQixDQUw4Qzs7QUFBQSxxQ0FRaERGLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFlBQU07QUFDOUIsYUFBTyxLQUFJLENBQUNILE9BQUwsQ0FBYSxPQUFiLENBQVA7QUFDQSxLQUZnQixDQVJnRDs7QUFBQSx3Q0FZN0NFLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFlBQU07QUFDakMsYUFBTyxL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T0FGb0IsQ0FwQjBGOztBQUFBLDRDQXVCekZ2QixJQUFJLENBQUNDLEVBQUwsQ0FBUSxZQUFNO0FBQ25DLGVBQVEsTUFBSSxDQUFDdUIsVUFBYjtBQUNBLE9BRnFCLENBdkJ5Rjs7QUFBQSxXQUFwRkYsZUFBb0YsR0FBcEZBLGVBQW9GO0FBQUEsV0FBekNDLGtCQUF5QyxHQUF6Q0Esa0JBQXlDO0FBQUUsSyxDQUVqSDs7Ozs7OzthQVFBLHNCQUFvQkMsVUFBcEIsRUFBK0M7QUFDOUMsYUFBS0EsVUFBTCxHQUFrQkEsVUFBbEI7QUFDQSxPLENBRUQ7QUFDQTs7OzthQVpBLDhCQUE0QkYsZUFBNUIsRUFBeUU7QUFDeEUsZUFBTyxJQUFJRCxTQUFKLENBQWNDLGVBQWQsQ0FBUDtBQUNBOzs7YUFDRCxpQ0FBK0JDLGtCQUEvQixFQUFrRjtBQUNqRixlQUFPLElBQUlGLFNBQUosQ0FBY0ksU0FBZCxFQUF5QkYsa0JBQXpCLENBQVA7QUFDQSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNb2NrIGNsYXNzIGZvciBhIFY0IENvbnRleHRcbiAqL1xuXG5pbXBvcnQgeyBDb250ZXh0LCBPRGF0YUxpc3RCaW5kaW5nLCBPRGF0YUNvbnRleHRCaW5kaW5nLCBPRGF0YU1ldGFNb2RlbCwgT0RhdGFNb2RlbCB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcblxuZXhwb3J0IGNsYXNzIE1vY2tDb250ZXh0IGltcGxlbWVudHMgUGFydGlhbDxDb250ZXh0PiB7XG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG9WYWx1ZXM6IGFueSwgcHJpdmF0ZSBvQmluZGluZz86IGFueSkge31cblxuXHRwdWJsaWMgZ2V0UHJvcGVydHkgPSBqZXN0LmZuKChrZXk6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiB0aGlzLm9WYWx1ZXNba2V5XTtcblx0fSk7XG5cdHB1YmxpYyBnZXRPYmplY3QgPSBqZXN0LmZuKChrZXk6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiB0aGlzLm9WYWx1ZXNba2V5XTtcblx0fSk7XG5cdHB1YmxpYyBnZXRQYXRoID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuIHRoaXMub1ZhbHVlc1tcIiRwYXRoXCJdO1xuXHR9KTtcblxuXHRwdWJsaWMgZ2V0QmluZGluZyA9IGplc3QuZm4oKCkgPT4ge1xuXHRcdHJldHVybiB0aGlzLm9CaW5kaW5nO1xuXHR9KTtcbn1cblxuZXhwb3J0IGNsYXNzIE1vY2tDb250cm9sIHtcblx0cHVibGljIGdldEJpbmRpbmdJbmZvID0gamVzdC5mbigpO1xuXHRwdWJsaWMgZ2V0QmluZGluZyA9IGplc3QuZm4oKTtcbn1cblxuLyoqXG4gKiBNb2NrIGNsYXNzIGZvciBPRGF0YSBWNCBMaXN0QmluZGluZ1xuICovXG5leHBvcnQgY2xhc3MgTW9ja0xpc3RCaW5kaW5nIGltcGxlbWVudHMgUGFydGlhbDxPRGF0YUxpc3RCaW5kaW5nPiB7XG5cdHByaXZhdGUgYU1vY2tDb250ZXh0czogTW9ja0NvbnRleHRbXTtcblxuXHRwdWJsaWMgY29uc3RydWN0b3IoYUNvbnRleHRzPzogYW55W10pIHtcblx0XHRhQ29udGV4dHMgPSBhQ29udGV4dHMgfHwgW107XG5cblx0XHR0aGlzLmFNb2NrQ29udGV4dHMgPSBhQ29udGV4dHMubWFwKGNvbnRleHQgPT4ge1xuXHRcdFx0cmV0dXJuIG5ldyBNb2NrQ29udGV4dChjb250ZXh0LCB0aGlzKTtcblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyBpc0Eoc0NsYXNzTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHNDbGFzc05hbWUgPT09IFwic2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhTGlzdEJpbmRpbmdcIjtcblx0fVxuXG5cdC8vIE1vY2tlZCBBUElcblx0cHVibGljIHNldEFnZ3JlZ2F0aW9uID0gamVzdC5mbigpO1xuXHRwdWJsaWMgZmlsdGVyID0gamVzdC5mbigpO1xuXHRwdWJsaWMgc29ydCA9IGplc3QuZm4oKTtcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdHB1YmxpYyByZXF1ZXN0Q29udGV4dHMgPSBqZXN0LmZuKCguLi5hcmdzKSA9PiB7XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgodGhpcy5hTW9ja0NvbnRleHRzIGFzIGFueSkgYXMgQ29udGV4dFtdKTtcblx0fSk7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0cHVibGljIGdldEN1cnJlbnRDb250ZXh0cyA9IGplc3QuZm4oKC4uLmFyZ3MpID0+IHtcblx0XHRyZXR1cm4gKHRoaXMuYU1vY2tDb250ZXh0cyBhcyBhbnkpIGFzIENvbnRleHRbXTtcblx0fSk7XG59XG5cbmV4cG9ydCBjbGFzcyBNb2NrQ29udGV4dEJpbmRpbmcgaW1wbGVtZW50cyBQYXJ0aWFsPE9EYXRhQ29udGV4dEJpbmRpbmc+IHtcblx0cHJpdmF0ZSBvTW9ja0NvbnRleHQ6IE1vY2tDb250ZXh0O1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihvQ29udGV4dD86IGFueSkge1xuXHRcdHRoaXMub01vY2tDb250ZXh0ID0gbmV3IE1vY2tDb250ZXh0KG9Db250ZXh0IHx8IHt9LCB0aGlzKTtcblx0fVxuXG5cdHB1YmxpYyBpc0Eoc0NsYXNzTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHNDbGFzc05hbWUgPT09IFwic2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhQ29udGV4dEJpbmRpbmdcIjtcblx0fVxuXHRwdWJsaWMgZ2V0SW50ZXJuYWxNb2NrQ29udGV4dCgpOiBNb2NrQ29udGV4dCB7XG5cdFx0cmV0dXJuIHRoaXMub01vY2tDb250ZXh0O1xuXHR9XG5cblx0Ly8gTW9ja2VkIEFQSVxuXHRwdWJsaWMgZ2V0Qm91bmRDb250ZXh0ID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm9Nb2NrQ29udGV4dCBhcyBhbnkpIGFzIENvbnRleHQ7XG5cdH0pO1xuXHRwdWJsaWMgYXR0YWNoRXZlbnRPbmNlID0gamVzdC5mbigpO1xufVxuXG4vKipcbiAqIE1vY2sgY2xhc3MgZm9yIE9EYXRhIFY0IE1ldGFNb2RlbFxuICovXG5leHBvcnQgY2xhc3MgTW9ja01ldGFNb2RlbCBpbXBsZW1lbnRzIFBhcnRpYWw8T0RhdGFNZXRhTW9kZWw+IHtcblx0cHJpdmF0ZSBvTWV0YUNvbnRleHQ6IE1vY2tDb250ZXh0O1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihvTWV0YURhdGE/OiBhbnkpIHtcblx0XHR0aGlzLm9NZXRhQ29udGV4dCA9IG5ldyBNb2NrQ29udGV4dChvTWV0YURhdGEgfHwge30pO1xuXHR9XG5cblx0Ly8gTW9ja2VkIEFQSVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdHB1YmxpYyBnZXRNZXRhQ29udGV4dCA9IGplc3QuZm4oKHNQYXRoOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gKG5ldyBNb2NrQ29udGV4dCh7ICRwYXRoOiBzUGF0aCB9KSBhcyBhbnkpIGFzIENvbnRleHQ7XG5cdH0pO1xuXHRwdWJsaWMgZ2V0T2JqZWN0ID0gamVzdC5mbigoc1BhdGg6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiB0aGlzLm9NZXRhQ29udGV4dC5nZXRQcm9wZXJ0eShzUGF0aCk7XG5cdH0pO1xufVxuXG4vKipcbiAqIE1vY2sgY2xhc3MgZm9yIE9EYXRhIFY0IE1vZGVsXG4gKi9cblxuZXhwb3J0IGNsYXNzIE1vY2tNb2RlbCBpbXBsZW1lbnRzIFBhcnRpYWw8T0RhdGFNb2RlbD4ge1xuXHRwcml2YXRlIG9NZXRhTW9kZWw/OiBNb2NrTWV0YU1vZGVsO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vY2tMaXN0QmluZGluZz86IE1vY2tMaXN0QmluZGluZywgcHJpdmF0ZSBtb2NrQ29udGV4dEJpbmRpbmc/OiBNb2NrQ29udGV4dEJpbmRpbmcpIHt9XG5cblx0Ly8gRmFjdG9yaWVzXG5cdHN0YXRpYyBtb2RlbEZyb21MaXN0QmluZGluZyhtb2NrTGlzdEJpbmRpbmc6IE1vY2tMaXN0QmluZGluZyk6IE1vY2tNb2RlbCB7XG5cdFx0cmV0dXJuIG5ldyBNb2NrTW9kZWwobW9ja0xpc3RCaW5kaW5nKTtcblx0fVxuXHRzdGF0aWMgbW9kZWxGcm9tQ29udGV4dEJpbmRpbmcobW9ja0NvbnRleHRCaW5kaW5nOiBNb2NrQ29udGV4dEJpbmRpbmcpOiBNb2NrTW9kZWwge1xuXHRcdHJldHVybiBuZXcgTW9ja01vZGVsKHVuZGVmaW5lZCwgbW9ja0NvbnRleHRCaW5kaW5nKTtcblx0fVxuXG5cdHB1YmxpYyBzZXRNZXRhTW9kZWwob01ldGFNb2RlbDogTW9ja01ldGFNb2RlbCkge1xuXHRcdHRoaXMub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdH1cblxuXHQvLyBNb2NrZWQgQVBJXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0cHVibGljIGJpbmRMaXN0ID0gamVzdC5mbigoLi4uYXJncykgPT4ge1xuXHRcdHJldHVybiAodGhpcy5tb2NrTGlzdEJpbmRpbmcgYXMgYW55KSBhcyBPRGF0YUxpc3RCaW5kaW5nO1xuXHR9KTtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRwdWJsaWMgYmluZENvbnRleHQgPSBqZXN0LmZuKCguLi5hcmdzKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm1vY2tDb250ZXh0QmluZGluZyBhcyBhbnkpIGFzIE9EYXRhQ29udGV4dEJpbmRpbmc7XG5cdH0pO1xuXHRwdWJsaWMgZ2V0TWV0YU1vZGVsID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm9NZXRhTW9kZWwgYXMgYW55KSBhcyBPRGF0YU1ldGFNb2RlbDtcblx0fSk7XG59XG4iXX0=
239
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlVJNU1vY2tIZWxwZXIudHMiXSwibmFtZXMiOlsiTW9ja0NvbnRleHQiLCJvVmFsdWVzIiwib0JpbmRpbmciLCJqZXN0IiwiZm4iLCJrZXkiLCJ2YWx1ZSIsIk1vY2tDb250cm9sIiwiTW9ja0xpc3RCaW5kaW5nIiwiYUNvbnRleHRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhTW9ja0NvbnRleHRzIiwibWFwIiwiY29udGV4dCIsInNDbGFzc05hbWUiLCJNb2NrQ29udGV4dEJpbmRpbmciLCJvQ29udGV4dCIsIm9Nb2NrQ29udGV4dCIsIk1vY2tNZXRhTW9kZWwiLCJvTWV0YURhdGEiLCJzUGF0aCIsIiRwYXRoIiwib01ldGFDb250ZXh0IiwiZ2V0UHJvcGVydHkiLCJNb2NrTW9kZWwiLCJtb2NrTGlzdEJpbmRpbmciLCJtb2NrQ29udGV4dEJpbmRpbmciLCJvTWV0YU1vZGVsIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7OztBQUZBO0FBQ0E7QUFDQTtNQUlhQSxXLEdBQ1oscUJBQTJCQyxPQUEzQixFQUFpREMsUUFBakQsRUFBaUU7QUFBQTs7QUFBQTs7QUFBQSx5Q0FFNUNDLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNDLEdBQUQsRUFBaUI7QUFDN0MsYUFBTyxLQUFJLENBQUNKLE9BQUwsQ0FBYUksR0FBYixDQUFQO0FBQ0EsS0FGb0IsQ0FGNEM7O0FBQUEseUNBSzVDRixJQUFJLENBQUNDLEVBQUwsQ0FBUSxVQUFDQyxHQUFELEVBQWNDLEtBQWQsRUFBNkI7QUFDekQsTUFBQSxLQUFJLENBQUNMLE9BQUwsQ0FBYUksR0FBYixJQUFvQkMsS0FBcEI7QUFDQSxhQUFPLEtBQUksQ0FBQ0wsT0FBTCxDQUFhSSxHQUFiLENBQVA7QUFDQSxLQUhvQixDQUw0Qzs7QUFBQSx1Q0FVOUNGLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNDLEdBQUQsRUFBaUI7QUFDM0MsYUFBTyxLQUFJLENBQUNKLE9BQUwsQ0FB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dCI6WyIvKipcbiAqIE1vY2sgY2xhc3MgZm9yIGEgVjQgQ29udGV4dFxuICovXG5cbmltcG9ydCB7IENvbnRleHQsIE9EYXRhTGlzdEJpbmRpbmcsIE9EYXRhQ29udGV4dEJpbmRpbmcsIE9EYXRhTWV0YU1vZGVsLCBPRGF0YU1vZGVsIH0gZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NFwiO1xuXG5leHBvcnQgY2xhc3MgTW9ja0NvbnRleHQgaW1wbGVtZW50cyBQYXJ0aWFsPENvbnRleHQ+IHtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgb1ZhbHVlczogYW55LCBwcml2YXRlIG9CaW5kaW5nPzogYW55KSB7fVxuXG5cdHB1YmxpYyBnZXRQcm9wZXJ0eSA9IGplc3QuZm4oKGtleTogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIHRoaXMub1ZhbHVlc1trZXldO1xuXHR9KTtcblx0cHVibGljIHNldFByb3BlcnR5ID0gamVzdC5mbigoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpID0+IHtcblx0XHR0aGlzLm9WYWx1ZXNba2V5XSA9IHZhbHVlO1xuXHRcdHJldHVybiB0aGlzLm9WYWx1ZXNba2V5XTtcblx0fSk7XG5cblx0cHVibGljIGdldE9iamVjdCA9IGplc3QuZm4oKGtleTogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIHRoaXMub1ZhbHVlc1trZXldO1xuXHR9KTtcblx0cHVibGljIGdldFBhdGggPSBqZXN0LmZuKCgpID0+IHtcblx0XHRyZXR1cm4gdGhpcy5vVmFsdWVzW1wiJHBhdGhcIl07XG5cdH0pO1xuXG5cdHB1YmxpYyBnZXRCaW5kaW5nID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuIHRoaXMub0JpbmRpbmc7XG5cdH0pO1xuXHRwdWJsaWMgZ2V0TW9kZWwgPSBqZXN0LmZuKCk7XG59XG5cbmV4cG9ydCBjbGFzcyBNb2NrQ29udHJvbCB7XG5cdHB1YmxpYyBnZXRCaW5kaW5nSW5mbyA9IGplc3QuZm4oKTtcblx0cHVibGljIGdldEJpbmRpbmcgPSBqZXN0LmZuKCk7XG5cdHB1YmxpYyBkYXRhID0gamVzdC5mbigpO1xuXHRwdWJsaWMgZ2V0TW9kZWwgPSBqZXN0LmZuKCk7XG59XG5cbi8qKlxuICogTW9jayBjbGFzcyBmb3IgT0RhdGEgVjQgTGlzdEJpbmRpbmdcbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tMaXN0QmluZGluZyBpbXBsZW1lbnRzIFBhcnRpYWw8T0RhdGFMaXN0QmluZGluZz4ge1xuXHRwcml2YXRlIGFNb2NrQ29udGV4dHM6IE1vY2tDb250ZXh0W107XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKGFDb250ZXh0cz86IGFueVtdKSB7XG5cdFx0YUNvbnRleHRzID0gYUNvbnRleHRzIHx8IFtdO1xuXG5cdFx0dGhpcy5hTW9ja0NvbnRleHRzID0gYUNvbnRleHRzLm1hcChjb250ZXh0ID0+IHtcblx0XHRcdHJldHVybiBuZXcgTW9ja0NvbnRleHQoY29udGV4dCwgdGhpcyk7XG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgaXNBKHNDbGFzc05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YUxpc3RCaW5kaW5nXCI7XG5cdH1cblxuXHQvLyBNb2NrZWQgQVBJXG5cdHB1YmxpYyBzZXRBZ2dyZWdhdGlvbiA9IGplc3QuZm4oKTtcblx0cHVibGljIGZpbHRlciA9IGplc3QuZm4oKTtcblx0cHVibGljIHNvcnQgPSBqZXN0LmZuKCk7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRwdWJsaWMgcmVxdWVzdENvbnRleHRzID0gamVzdC5mbigoLi4uYXJncykgPT4ge1xuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKHRoaXMuYU1vY2tDb250ZXh0cyBhcyBhbnkpIGFzIENvbnRleHRbXSk7XG5cdH0pO1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdHB1YmxpYyBnZXRDdXJyZW50Q29udGV4dHMgPSBqZXN0LmZuKCguLi5hcmdzKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLmFNb2NrQ29udGV4dHMgYXMgYW55KSBhcyBDb250ZXh0W107XG5cdH0pO1xufVxuXG5leHBvcnQgY2xhc3MgTW9ja0NvbnRleHRCaW5kaW5nIGltcGxlbWVudHMgUGFydGlhbDxPRGF0YUNvbnRleHRCaW5kaW5nPiB7XG5cdHByaXZhdGUgb01vY2tDb250ZXh0OiBNb2NrQ29udGV4dDtcblxuXHRwdWJsaWMgY29uc3RydWN0b3Iob0NvbnRleHQ/OiBhbnkpIHtcblx0XHR0aGlzLm9Nb2NrQ29udGV4dCA9IG5ldyBNb2NrQ29udGV4dChvQ29udGV4dCB8fCB7fSwgdGhpcyk7XG5cdH1cblxuXHRwdWJsaWMgaXNBKHNDbGFzc05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YUNvbnRleHRCaW5kaW5nXCI7XG5cdH1cblx0cHVibGljIGdldEludGVybmFsTW9ja0NvbnRleHQoKTogTW9ja0NvbnRleHQge1xuXHRcdHJldHVybiB0aGlzLm9Nb2NrQ29udGV4dDtcblx0fVxuXG5cdC8vIE1vY2tlZCBBUElcblx0cHVibGljIGdldEJvdW5kQ29udGV4dCA9IGplc3QuZm4oKCkgPT4ge1xuXHRcdHJldHVybiAodGhpcy5vTW9ja0NvbnRleHQgYXMgYW55KSBhcyBDb250ZXh0O1xuXHR9KTtcblx0cHVibGljIGF0dGFjaEV2ZW50T25jZSA9IGplc3QuZm4oKTtcbn1cblxuLyoqXG4gKiBNb2NrIGNsYXNzIGZvciBPRGF0YSBWNCBNZXRhTW9kZWxcbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tNZXRhTW9kZWwgaW1wbGVtZW50cyBQYXJ0aWFsPE9EYXRhTWV0YU1vZGVsPiB7XG5cdHByaXZhdGUgb01ldGFDb250ZXh0OiBNb2NrQ29udGV4dDtcblxuXHRwdWJsaWMgY29uc3RydWN0b3Iob01ldGFEYXRhPzogYW55KSB7XG5cdFx0dGhpcy5vTWV0YUNvbnRleHQgPSBuZXcgTW9ja0NvbnRleHQob01ldGFEYXRhIHx8IHt9KTtcblx0fVxuXG5cdC8vIE1vY2tlZCBBUElcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRwdWJsaWMgZ2V0TWV0YUNvbnRleHQgPSBqZXN0LmZuKChzUGF0aDogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIChuZXcgTW9ja0NvbnRleHQoeyAkcGF0aDogc1BhdGggfSkgYXMgYW55KSBhcyBDb250ZXh0O1xuXHR9KTtcblx0cHVibGljIGdldE9iamVjdCA9IGplc3QuZm4oKHNQYXRoOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gdGhpcy5vTWV0YUNvbnRleHQuZ2V0UHJvcGVydHkoc1BhdGgpO1xuXHR9KTtcblx0cHVibGljIHJlcXVlc3RPYmplY3QgPSBqZXN0LmZuKCk7XG5cdHB1YmxpYyBjcmVhdGVCaW5kaW5nQ29udGV4dCA9IGplc3QuZm4oKTtcblx0cHVibGljIGdldE1ldGFQYXRoID0gamVzdC5mbigpO1xufVxuXG4vKipcbiAqIE1vY2sgY2xhc3MgZm9yIE9EYXRhIFY0IE1vZGVsXG4gKi9cblxuZXhwb3J0IGNsYXNzIE1vY2tNb2RlbCBpbXBsZW1lbnRzIFBhcnRpYWw8T0RhdGFNb2RlbD4ge1xuXHRwcml2YXRlIG9NZXRhTW9kZWw/OiBNb2NrTWV0YU1vZGVsO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vY2tMaXN0QmluZGluZz86IE1vY2tMaXN0QmluZGluZywgcHJpdmF0ZSBtb2NrQ29udGV4dEJpbmRpbmc/OiBNb2NrQ29udGV4dEJpbmRpbmcpIHt9XG5cblx0Ly8gRmFjdG9yaWVzXG5cdHN0YXRpYyBtb2RlbEZyb21MaXN0QmluZGluZyhtb2NrTGlzdEJpbmRpbmc6IE1vY2tMaXN0QmluZGluZyk6IE1vY2tNb2RlbCB7XG5cdFx0cmV0dXJuIG5ldyBNb2NrTW9kZWwobW9ja0xpc3RCaW5kaW5nKTtcblx0fVxuXHRzdGF0aWMgbW9kZWxGcm9tQ29udGV4dEJpbmRpbmcobW9ja0NvbnRleHRCaW5kaW5nOiBNb2NrQ29udGV4dEJpbmRpbmcpOiBNb2NrTW9kZWwge1xuXHRcdHJldHVybiBuZXcgTW9ja01vZGVsKHVuZGVmaW5lZCwgbW9ja0NvbnRleHRCaW5kaW5nKTtcblx0fVxuXG5cdHB1YmxpYyBzZXRNZXRhTW9kZWwob01ldGFNb2RlbDogTW9ja01ldGFNb2RlbCkge1xuXHRcdHRoaXMub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdH1cblxuXHQvLyBNb2NrZWQgQVBJXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0cHVibGljIGJpbmRMaXN0ID0gamVzdC5mbigoLi4uYXJncykgPT4ge1xuXHRcdHJldHVybiAodGhpcy5tb2NrTGlzdEJpbmRpbmcgYXMgYW55KSBhcyBPRGF0YUxpc3RCaW5kaW5nO1xuXHR9KTtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRwdWJsaWMgYmluZENvbnRleHQgPSBqZXN0LmZuKCguLi5hcmdzKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm1vY2tDb250ZXh0QmluZGluZyBhcyBhbnkpIGFzIE9EYXRhQ29udGV4dEJpbmRpbmc7XG5cdH0pO1xuXHRwdWJsaWMgZ2V0TWV0YU1vZGVsID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm9NZXRhTW9kZWwgYXMgYW55KSBhcyBPRGF0YU1ldGFNb2RlbDtcblx0fSk7XG5cblx0cHVibGljIGdldFByb3BlcnR5ID0gamVzdC5mbigpO1xuXHRwdWJsaWMgc2V0UHJvcGVydHkgPSBqZXN0LmZuKCk7XG59XG4iXX0=
@@ -2,4 +2,4 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define([],function(){"use strict";var _={};function a(t,p){for(var i=0;i<p.length;i++){var k=p[i];k.enumerable=k.enumerable||false;k.configurable=true;if("value"in k)k.writable=true;Object.defineProperty(t,k.key,k);}}function b(C,p,s){if(p)a(C.prototype,p);if(s)a(C,s);return C;}function c(i,C){if(!(i instanceof C)){throw new TypeError("Cannot call a class as a function");}}function d(o,k,v){if(k in o){Object.defineProperty(o,k,{value:v,enumerable:true,configurable:true,writable:true});}else{o[k]=v;}return o;}var M=function M(v,B){var i=this;c(this,M);d(this,"getProperty",jest.fn(function(k){return i.oValues[k];}));d(this,"getObject",jest.fn(function(k){return i.oValues[k];}));d(this,"getPath",jest.fn(function(){return i.oValues["$path"];}));d(this,"getBinding",jest.fn(function(){return i.oBinding;}));this.oValues=v;this.oBinding=B;};_.MockContext=M;var e=function e(){c(this,e);d(this,"getBindingInfo",jest.fn());d(this,"getBinding",jest.fn());};_.MockControl=e;var f=function(){function f(C){var i=this;c(this,f);d(this,"setAggregation",jest.fn());d(this,"filter",jest.fn());d(this,"sort",jest.fn());d(this,"requestContexts",jest.fn(function(){return Promise.resolve(i.aMockContexts);}));d(this,"getCurrentContexts",jest.fn(function(){return i.aMockContexts;}));C=C||[];this.aMockContexts=C.map(function(k){return new M(k,i);});}_.MockListBinding=f;b(f,[{key:"isA",value:function i(C){return C==="sap.ui.model.odata.v4.ODataListBinding";}}]);return f;}();_.MockListBinding=f;var g=function(){function g(C){var i=this;c(this,g);d(this,"getBoundContext",jest.fn(function(){return i.oMockContext;}));d(this,"attachEventOnce",jest.fn());this.oMockContext=new M(C||{},this);}_.MockContextBinding=g;b(g,[{key:"isA",value:function i(C){return C==="sap.ui.model.odata.v4.ODataContextBinding";}},{key:"getInternalMockContext",value:function i(){return this.oMockContext;}}]);return g;}();_.MockContextBinding=g;var h=function h(m){var i=this;c(this,h);d(this,"getMetaContext",jest.fn(function(p){return new M({$path:p});}));d(this,"getObject",jest.fn(function(p){return i.oMetaContext.getProperty(p);}));this.oMetaContext=new M(m||{});};_.MockMetaModel=h;var j=function(){function j(m,i){var k=this;c(this,j);d(this,"bindList",jest.fn(function(){return k.mockListBinding;}));d(this,"bindContext",jest.fn(function(){return k.mockContextBinding;}));d(this,"getMetaModel",jest.fn(function(){return k.oMetaModel;}));this.mockListBinding=m;this.mockContextBinding=i;}_.MockModel=j;b(j,[{key:"setMetaModel",value:function s(m){this.oMetaModel=m;}}],[{key:"modelFromListBinding",value:function i(m){return new j(m);}},{key:"modelFromContextBinding",value:function i(m){return new j(undefined,m);}}]);return j;}();_.MockModel=j;return _;},false);
5
+ sap.ui.define([],function(){"use strict";var _={};function a(t,p){for(var i=0;i<p.length;i++){var k=p[i];k.enumerable=k.enumerable||false;k.configurable=true;if("value"in k)k.writable=true;Object.defineProperty(t,k.key,k);}}function b(C,p,s){if(p)a(C.prototype,p);if(s)a(C,s);return C;}function c(i,C){if(!(i instanceof C)){throw new TypeError("Cannot call a class as a function");}}function d(o,k,v){if(k in o){Object.defineProperty(o,k,{value:v,enumerable:true,configurable:true,writable:true});}else{o[k]=v;}return o;}var M=function M(v,B){var i=this;c(this,M);d(this,"getProperty",jest.fn(function(k){return i.oValues[k];}));d(this,"setProperty",jest.fn(function(k,l){i.oValues[k]=l;return i.oValues[k];}));d(this,"getObject",jest.fn(function(k){return i.oValues[k];}));d(this,"getPath",jest.fn(function(){return i.oValues["$path"];}));d(this,"getBinding",jest.fn(function(){return i.oBinding;}));d(this,"getModel",jest.fn());this.oValues=v;this.oBinding=B;};_.MockContext=M;var e=function e(){c(this,e);d(this,"getBindingInfo",jest.fn());d(this,"getBinding",jest.fn());d(this,"data",jest.fn());d(this,"getModel",jest.fn());};_.MockControl=e;var f=function(){function f(C){var i=this;c(this,f);d(this,"setAggregation",jest.fn());d(this,"filter",jest.fn());d(this,"sort",jest.fn());d(this,"requestContexts",jest.fn(function(){return Promise.resolve(i.aMockContexts);}));d(this,"getCurrentContexts",jest.fn(function(){return i.aMockContexts;}));C=C||[];this.aMockContexts=C.map(function(k){return new M(k,i);});}_.MockListBinding=f;b(f,[{key:"isA",value:function i(C){return C==="sap.ui.model.odata.v4.ODataListBinding";}}]);return f;}();_.MockListBinding=f;var g=function(){function g(C){var i=this;c(this,g);d(this,"getBoundContext",jest.fn(function(){return i.oMockContext;}));d(this,"attachEventOnce",jest.fn());this.oMockContext=new M(C||{},this);}_.MockContextBinding=g;b(g,[{key:"isA",value:function i(C){return C==="sap.ui.model.odata.v4.ODataContextBinding";}},{key:"getInternalMockContext",value:function i(){return this.oMockContext;}}]);return g;}();_.MockContextBinding=g;var h=function h(m){var i=this;c(this,h);d(this,"getMetaContext",jest.fn(function(p){return new M({$path:p});}));d(this,"getObject",jest.fn(function(p){return i.oMetaContext.getProperty(p);}));d(this,"requestObject",jest.fn());d(this,"createBindingContext",jest.fn());d(this,"getMetaPath",jest.fn());this.oMetaContext=new M(m||{});};_.MockMetaModel=h;var j=function(){function j(m,i){var k=this;c(this,j);d(this,"bindList",jest.fn(function(){return k.mockListBinding;}));d(this,"bindContext",jest.fn(function(){return k.mockContextBinding;}));d(this,"getMetaModel",jest.fn(function(){return k.oMetaModel;}));d(this,"getProperty",jest.fn());d(this,"setProperty",jest.fn());this.mockListBinding=m;this.mockContextBinding=i;}_.MockModel=j;b(j,[{key:"setMetaModel",value:function s(m){this.oMetaModel=m;}}],[{key:"modelFromListBinding",value:function i(m){return new j(m);}},{key:"modelFromContextBinding",value:function i(m){return new j(undefined,m);}}]);return j;}();_.MockModel=j;return _;},false);
@@ -10,6 +10,11 @@ export class MockContext implements Partial<Context> {
10
10
  public getProperty = jest.fn((key: string) => {
11
11
  return this.oValues[key];
12
12
  });
13
+ public setProperty = jest.fn((key: string, value: any) => {
14
+ this.oValues[key] = value;
15
+ return this.oValues[key];
16
+ });
17
+
13
18
  public getObject = jest.fn((key: string) => {
14
19
  return this.oValues[key];
15
20
  });
@@ -20,11 +25,14 @@ export class MockContext implements Partial<Context> {
20
25
  public getBinding = jest.fn(() => {
21
26
  return this.oBinding;
22
27
  });
28
+ public getModel = jest.fn();
23
29
  }
24
30
 
25
31
  export class MockControl {
26
32
  public getBindingInfo = jest.fn();
27
33
  public getBinding = jest.fn();
34
+ public data = jest.fn();
35
+ public getModel = jest.fn();
28
36
  }
29
37
 
30
38
  /**
@@ -99,6 +107,9 @@ export class MockMetaModel implements Partial<ODataMetaModel> {
99
107
  public getObject = jest.fn((sPath: string) => {
100
108
  return this.oMetaContext.getProperty(sPath);
101
109
  });
110
+ public requestObject = jest.fn();
111
+ public createBindingContext = jest.fn();
112
+ public getMetaPath = jest.fn();
102
113
  }
103
114
 
104
115
  /**
@@ -134,4 +145,7 @@ export class MockModel implements Partial<ODataModel> {
134
145
  public getMetaModel = jest.fn(() => {
135
146
  return (this.oMetaModel as any) as ODataMetaModel;
136
147
  });
148
+
149
+ public getProperty = jest.fn();
150
+ public setProperty = jest.fn();
137
151
  }
@@ -79,6 +79,27 @@ sap.ui.define(
79
79
  * @public
80
80
  */
81
81
 
82
+ /**
83
+ * An dialog field identifier
84
+ *
85
+ * @typedef {object} DialogFieldIdentifier
86
+ * @property {string} property The name of the field
87
+ * In case of an action parameter dialog, this is the fieldname only
88
+ * <code><pre>
89
+ * {
90
+ * property: <fieldname>
91
+ * }
92
+ * </pre></code>
93
+ * In case of a create dialog, the concatenation of the entity and fieldname has to be provided
94
+ * <code><pre>
95
+ * {
96
+ * property: <entity>::<fieldname>
97
+ * }
98
+ * </pre></code>
99
+ * @name sap.fe.test.api.DialogFieldIdentifier
100
+ * @public
101
+ */
102
+
82
103
  function _findParentChainFunction(oResult, sChainKeyword) {
83
104
  var oAnd = oResult.and;
84
105
  if (sChainKeyword in oAnd) {
@@ -35,19 +35,23 @@ sap.ui.define(
35
35
  DialogAPI.prototype.constructor = DialogAPI;
36
36
 
37
37
  /**
38
- * Creates a matcher for fields within action dialogs.
38
+ * Creates a matcher for fields within create and action dialogs.
39
39
  *
40
40
  * @param {sap.fe.test.api.FieldIdentifier | string} vFieldIdentifier Identifier to be used for the matcher
41
+ * @param {object} oDialogIdentifier Identifier for the dialog (create/action)
41
42
  *
42
43
  * @returns {object} A matcher
43
44
  *
44
45
  * @private
45
46
  */
46
- DialogAPI.prototype._createFieldMatcher = function(vFieldIdentifier) {
47
+ DialogAPI.prototype._createFieldMatcher = function(vFieldIdentifier, oDialogIdentifier) {
47
48
  var vMatcher, sFieldId;
48
49
  if (!Utils.isOfType(vFieldIdentifier, String)) {
49
50
  if (typeof vFieldIdentifier.property === "string") {
50
- sFieldId = "APD_::" + vFieldIdentifier.property.replaceAll("/", "::");
51
+ sFieldId =
52
+ oDialogIdentifier && oDialogIdentifier.type === "Create"
53
+ ? "CreateDialog::" + vFieldIdentifier.property.replaceAll("/", "::")
54
+ : "APD_::" + vFieldIdentifier.property.replaceAll("/", "::");
51
55
  } else {
52
56
  throw new Error(
53
57
  "The 'property' parameter for creating a control ID for a field in an action dialog is not supported: " +
@@ -62,12 +66,12 @@ sap.ui.define(
62
66
  return vMatcher;
63
67
  };
64
68
 
65
- DialogAPI.prototype._createFieldBuilder = function(vFieldIdentifier) {
69
+ DialogAPI.prototype._createFieldBuilder = function(vFieldIdentifier, oDialogIdentifier) {
66
70
  var oMdcFieldBuilder = new MdcFieldBuilder(this.getOpaInstance());
67
71
  return oMdcFieldBuilder
68
72
  .isDialogElement()
69
73
  .hasType("sap.ui.mdc.Field")
70
- .has(this._createFieldMatcher(vFieldIdentifier));
74
+ .has(this._createFieldMatcher(vFieldIdentifier, oDialogIdentifier));
71
75
  };
72
76
 
73
77
  DialogAPI.prototype._getConfirmButtonMatcher = function() {
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["./BaseAPI","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MdcFieldBuilder","sap/fe/test/builder/DialogBuilder"],function(B,U,F,M,D){"use strict";var a=function(d,v,c){if(!U.isOfType(d,D)){throw new Error("oDialogBuilder parameter must be a DialogBuilder instance");}this._iConfirmButtonIndex=c||0;return B.call(this,d,v);};a.prototype=Object.create(B.prototype);a.prototype.constructor=a;a.prototype._createFieldMatcher=function(f){var m,s;if(!U.isOfType(f,String)){if(typeof f.property==="string"){s="APD_::"+f.property.replaceAll("/","::");}else{throw new Error("The 'property' parameter for creating a control ID for a field in an action dialog is not supported: "+f.property);}m=F.Matchers.id(new RegExp(U.formatMessage("{0}",s)));}else{}return m;};a.prototype._createFieldBuilder=function(f){var m=new M(this.getOpaInstance());return m.isDialogElement().hasType("sap.ui.mdc.Field").has(this._createFieldMatcher(f));};a.prototype._getConfirmButtonMatcher=function(){var c=this._iConfirmButtonIndex;return function(b){var d=b.getParent().getButtons();return d.indexOf(b)===Math.min(d.length-1,c);};};a.prototype._getCancelButtonMatcher=function(){var c=this._iConfirmButtonIndex;return function(b){var d=b.getParent().getButtons();return d.indexOf(b)===Math.min(d.length-1,c+1);};};return a;});
6
+ sap.ui.define(["./BaseAPI","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MdcFieldBuilder","sap/fe/test/builder/DialogBuilder"],function(B,U,F,M,D){"use strict";var a=function(d,v,c){if(!U.isOfType(d,D)){throw new Error("oDialogBuilder parameter must be a DialogBuilder instance");}this._iConfirmButtonIndex=c||0;return B.call(this,d,v);};a.prototype=Object.create(B.prototype);a.prototype.constructor=a;a.prototype._createFieldMatcher=function(f,d){var m,s;if(!U.isOfType(f,String)){if(typeof f.property==="string"){s=d&&d.type==="Create"?"CreateDialog::"+f.property.replaceAll("/","::"):"APD_::"+f.property.replaceAll("/","::");}else{throw new Error("The 'property' parameter for creating a control ID for a field in an action dialog is not supported: "+f.property);}m=F.Matchers.id(new RegExp(U.formatMessage("{0}",s)));}else{}return m;};a.prototype._createFieldBuilder=function(f,d){var m=new M(this.getOpaInstance());return m.isDialogElement().hasType("sap.ui.mdc.Field").has(this._createFieldMatcher(f,d));};a.prototype._getConfirmButtonMatcher=function(){var c=this._iConfirmButtonIndex;return function(b){var d=b.getParent().getButtons();return d.indexOf(b)===Math.min(d.length-1,c);};};a.prototype._getCancelButtonMatcher=function(){var c=this._iConfirmButtonIndex;return function(b){var d=b.getParent().getButtons();return d.indexOf(b)===Math.min(d.length-1,c+1);};};return a;});