@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
@@ -1,4 +1,8 @@
1
- sap.ui.define(["sap/fe/core/helpers/ModelHelper"], function(ModelHelper) {
1
+ sap.ui.define(["sap/fe/core/helpers/ModelHelper", "sap/ui/core/mvc/View", "sap/fe/test/UI5MockHelper"], function(
2
+ ModelHelper,
3
+ View,
4
+ UI5MockHelper
5
+ ) {
2
6
  "use strict";
3
7
 
4
8
  describe("ModelHelper", () => {
@@ -113,5 +117,118 @@ sap.ui.define(["sap/fe/core/helpers/ModelHelper"], function(ModelHelper) {
113
117
  expect(ModelHelper.getActionParameterItemsModelPath(oParameter)).toEqual(undefined);
114
118
  });
115
119
  });
120
+
121
+ describe("getAbsoluteMetaPathForListBinding", () => {
122
+ var vListBinding, oView, sViewContextPath, oRootBinding, sBindingPath, oMockGetMetaPath;
123
+ beforeAll(async function() {
124
+ oView = new View();
125
+
126
+ // metaModel mocks
127
+ var oMetaModel = new UI5MockHelper.MockMetaModel();
128
+ oMockGetMetaPath = jest.spyOn(oMetaModel, "getMetaPath");
129
+
130
+ // model mocks
131
+ var oModel = new UI5MockHelper.MockModel();
132
+ oModel.setMetaModel(oMetaModel);
133
+ var oMockGetModel = jest.spyOn(oView, "getModel");
134
+ oMockGetModel.mockReturnValue(oModel);
135
+
136
+ // context mocks
137
+ var oContext = new UI5MockHelper.MockContext();
138
+ var oMockGetContext = jest.spyOn(oView, "getBindingContext");
139
+ oMockGetContext.mockReturnValue(oContext);
140
+ var oMockGetPath = jest.spyOn(oContext, "getPath");
141
+ oMockGetPath.mockImplementation(() => sViewContextPath);
142
+ vListBinding = {
143
+ getRootBinding: () => oRootBinding,
144
+ getPath: () => sBindingPath
145
+ };
146
+ });
147
+
148
+ beforeEach(async function() {
149
+ // Clean JSON
150
+ oRootBinding = {};
151
+ sViewContextPath = "";
152
+ sBindingPath = "";
153
+ });
154
+
155
+ afterAll(async function() {
156
+ jest.restoreAllMocks();
157
+ });
158
+
159
+ it("With Absolute list binding", async () => {
160
+ // Cases to consider
161
+ oRootBinding = vListBinding;
162
+ sBindingPath = "/SO";
163
+ ModelHelper.getAbsoluteMetaPathForListBinding(oView, vListBinding);
164
+ expect(oMockGetMetaPath).lastCalledWith("/SO");
165
+ });
166
+
167
+ it("With Relative list binding", async () => {
168
+ // Cases to consider
169
+ oRootBinding = {
170
+ getPath: () => "/SO(a=1,b=2)"
171
+ };
172
+ sBindingPath = "_Item";
173
+ ModelHelper.getAbsoluteMetaPathForListBinding(oView, vListBinding);
174
+ expect(oMockGetMetaPath).lastCalledWith("/SO(a=1,b=2)/_Item");
175
+ });
176
+
177
+ it("With Absolute path", async () => {
178
+ // Cases to consider
179
+ ModelHelper.getAbsoluteMetaPathForListBinding(oView, "/SO");
180
+ expect(oMockGetMetaPath).lastCalledWith("/SO");
181
+ });
182
+
183
+ it("With String path", async () => {
184
+ // Cases to consider
185
+ sViewContextPath = "/SO(a=1,b=2)";
186
+ ModelHelper.getAbsoluteMetaPathForListBinding(oView, "_Item");
187
+ expect(oMockGetMetaPath).lastCalledWith("/SO(a=1,b=2)/_Item");
188
+ });
189
+ });
190
+
191
+ describe("getMetaPathForContext", () => {
192
+ var oContext, sContextPath, oMockGetMetaPath;
193
+ beforeAll(async function() {
194
+ // metaModel mocks
195
+ var oMetaModel = new UI5MockHelper.MockMetaModel();
196
+ oMockGetMetaPath = jest.spyOn(oMetaModel, "getMetaPath");
197
+
198
+ // model mocks
199
+ var oModel = new UI5MockHelper.MockModel();
200
+ oModel.setMetaModel(oMetaModel);
201
+
202
+ // context mocks
203
+ oContext = new UI5MockHelper.MockContext();
204
+ var oMockGetModel = jest.spyOn(oContext, "getModel");
205
+ oMockGetModel.mockReturnValue(oModel);
206
+ var oMockGetPath = jest.spyOn(oContext, "getPath");
207
+ oMockGetPath.mockImplementation(() => sContextPath);
208
+ });
209
+
210
+ beforeEach(async function() {
211
+ // Clean JSON
212
+ sContextPath = "";
213
+ });
214
+
215
+ afterAll(async function() {
216
+ jest.restoreAllMocks();
217
+ });
218
+
219
+ it("With context Path", async () => {
220
+ // Cases to consider
221
+ sContextPath = "/SO(a=1,b=2)";
222
+ ModelHelper.getMetaPathForContext(oContext);
223
+ expect(oMockGetMetaPath).lastCalledWith("/SO(a=1,b=2)");
224
+ });
225
+
226
+ it("With context Path and navigation", async () => {
227
+ // Cases to consider
228
+ sContextPath = "/SO(a=1,b=2)/_Item";
229
+ ModelHelper.getMetaPathForContext(oContext);
230
+ expect(oMockGetMetaPath).lastCalledWith("/SO(a=1,b=2)/_Item");
231
+ });
232
+ });
116
233
  });
117
234
  });
@@ -1,3 +1,4 @@
1
+ /* global describe it beforeAll expect */
1
2
  sap.ui.define(["sap/fe/core/services/RoutingServiceFactory"], function(RoutingServiceFactory) {
2
3
  "use strict";
3
4
  describe("RoutingServiceFactory", function() {
@@ -230,6 +231,75 @@ sap.ui.define(["sap/fe/core/services/RoutingServiceFactory"], function(RoutingSe
230
231
  });
231
232
  });
232
233
 
234
+ describe("_requestObjectsFromParameters", () => {
235
+ let oRoutingServicePromise,
236
+ oModel,
237
+ oStartUpParameters = {
238
+ ID: ["ID"],
239
+ IsActiveEntity: ["true"],
240
+ SemanticKey: ["key"]
241
+ },
242
+ aExternallyNavigablePages = [
243
+ {
244
+ isSemanticKeyNavigation: true,
245
+ draft: {},
246
+ semanticKeys: [
247
+ {
248
+ $PropertyPath: "SemanticKey"
249
+ }
250
+ ],
251
+ technicalKeys: ["ID", "IsActiveEntity"]
252
+ }
253
+ ];
254
+ beforeAll(() => {
255
+ const oServiceContext = {
256
+ scopeType: "",
257
+ scopeObject: {},
258
+ settings: {}
259
+ };
260
+ const oRoutingServiceFactory = new RoutingServiceFactory();
261
+ oRoutingServicePromise = oRoutingServiceFactory.createInstance(oServiceContext);
262
+ oModel = {
263
+ bindList: function(sPath, oContext, vSorters, vFilters, mParameters) {
264
+ return {
265
+ requestContexts: function() {
266
+ return Promise.resolve(mParameters);
267
+ }
268
+ };
269
+ }
270
+ };
271
+ });
272
+ it("Request for semantic keys without draft", async () => {
273
+ return oRoutingServicePromise.then(async function(oRoutingService) {
274
+ let that = {
275
+ oModel: oModel,
276
+ _createFilter: oRoutingService._createFilter
277
+ },
278
+ requestObjectsFromParametersResult = await oRoutingService._requestObjectsFromParameters.call(
279
+ that,
280
+ oStartUpParameters,
281
+ aExternallyNavigablePages
282
+ );
283
+ expect(requestObjectsFromParametersResult).toEqual([{ "$select": ["SemanticKey"] }]);
284
+ });
285
+ });
286
+ it("Request for technical keys with draft", async () => {
287
+ aExternallyNavigablePages[0].isSemanticKeyNavigation = false;
288
+ return oRoutingServicePromise.then(async function(oRoutingService) {
289
+ let that = {
290
+ oModel: oModel,
291
+ _createFilter: oRoutingService._createFilter
292
+ },
293
+ requestObjectsFromParametersResult = await oRoutingService._requestObjectsFromParameters.call(
294
+ that,
295
+ oStartUpParameters,
296
+ aExternallyNavigablePages
297
+ );
298
+ expect(requestObjectsFromParametersResult).toEqual([{ "$select": ["ID", "IsActiveEntity"] }]);
299
+ });
300
+ });
301
+ });
302
+
233
303
  describe("getDefaultCreateHash", () => {
234
304
  let oRoutingServicePromise;
235
305
 
@@ -0,0 +1,89 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["path", "sap/fe/core/converters/MetaModelConverter", "sap/fe/test/JestTemplatingHelper", "sap/fe/core/templating/EntitySetHelper"], function (path, MetaModelConverter, JestTemplatingHelper, EntitySetHelper) {
6
+ "use strict";
7
+
8
+ var getNonSortablePropertiesRestrictions = EntitySetHelper.getNonSortablePropertiesRestrictions;
9
+ var getMetaModel = JestTemplatingHelper.getMetaModel;
10
+ var compileCDS = JestTemplatingHelper.compileCDS;
11
+ var convertTypes = MetaModelConverter.convertTypes;
12
+
13
+ var convertedTypes;
14
+ var entitySet;
15
+ beforeAll(function () {
16
+ try {
17
+ var sMetadataUrl = compileCDS(path.join(__dirname, "../data/EntitySetHelper.cds"));
18
+ return Promise.resolve(getMetaModel(sMetadataUrl)).then(function (metaModel) {
19
+ convertedTypes = convertTypes(metaModel);
20
+ var maybeEntitySet = convertedTypes.entitySets.find(function (et) {
21
+ return et.name === "MainEntity";
22
+ });
23
+
24
+ if (maybeEntitySet) {
25
+ entitySet = maybeEntitySet;
26
+ } else {
27
+ throw new Error("Error in test setup");
28
+ }
29
+ });
30
+ } catch (e) {
31
+ return Promise.reject(e);
32
+ }
33
+ });
34
+ describe("PropertyHelper", function () {
35
+ it("#getNonSortablePropertiesRestrictions", {
36
+ "references": [{
37
+ "type": "JIRA",
38
+ "ID": "FIORITECHP1-21370"
39
+ }]
40
+ }, function () {
41
+ try {
42
+ var sMetadataUrl = compileCDS(path.join(__dirname, "../data/EntitySetHelper.cds"));
43
+ return Promise.resolve(getMetaModel(sMetadataUrl)).then(function (metaModel) {
44
+ convertedTypes = convertTypes(metaModel);
45
+ var maybeEntitySet = convertedTypes.entitySets.find(function (et) {
46
+ return et.name === "MainEntity";
47
+ });
48
+
49
+ if (maybeEntitySet) {
50
+ entitySet = maybeEntitySet;
51
+ } else {
52
+ throw new Error("Error in test setup");
53
+ }
54
+
55
+ expect(getNonSortablePropertiesRestrictions(entitySet)).toEqual(["stringProperty", "_navigationEntityA/stringProperty", "_navigationEntityB/keyProperty", "_navigationEntityB/stringProperty"]);
56
+ });
57
+ } catch (e) {
58
+ return Promise.reject(e);
59
+ }
60
+ });
61
+ it("#getNonSortablePropertiesRestrictions - main entity sortable=false", {
62
+ "references": [{
63
+ "type": "JIRA",
64
+ "ID": "FIORITECHP1-21370"
65
+ }]
66
+ }, function () {
67
+ try {
68
+ var sMetadataUrl = compileCDS(path.join(__dirname, "../data/EntitySetHelperMainEntitySortableFalse.cds"));
69
+ return Promise.resolve(getMetaModel(sMetadataUrl)).then(function (metaModel) {
70
+ convertedTypes = convertTypes(metaModel);
71
+ var maybeEntitySet = convertedTypes.entitySets.find(function (et) {
72
+ return et.name === "MainEntity";
73
+ });
74
+
75
+ if (maybeEntitySet) {
76
+ entitySet = maybeEntitySet;
77
+ } else {
78
+ throw new Error("Error in test setup");
79
+ }
80
+
81
+ expect(getNonSortablePropertiesRestrictions(entitySet)).toEqual(["keyProperty", "stringProperty"]);
82
+ });
83
+ } catch (e) {
84
+ return Promise.reject(e);
85
+ }
86
+ });
87
+ });
88
+ }, false);
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVudGl0eVNldEhlbHBlci5zcGVjLnRzIl0sIm5hbWVzIjpbImNvbnZlcnRlZFR5cGVzIiwiZW50aXR5U2V0IiwiYmVmb3JlQWxsIiwic01ldGFkYXRhVXJsIiwiY29tcGlsZUNEUyIsInBhdGgiLCJqb2luIiwiX19kaXJuYW1lIiwiZ2V0TWV0YU1vZGVsIiwibWV0YU1vZGVsIiwiY29udmVydFR5cGVzIiwibWF5YmVFbnRpdHlTZXQiLCJlbnRpdHlTZXRzIiwiZmluZCIsImV0IiwibmFtZSIsIkVycm9yIiwiZGVzY3JpYmUiLCJpdCIsImV4cGVjdCIsImdldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyIsInRvRXF1YWwiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQUlBLE1BQUlBLGNBQUo7QUFDQSxNQUFJQyxTQUFKO0FBQ0FDLEVBQUFBLFNBQVM7QUFBQSxRQUFrQjtBQUMxQixVQUFNQyxZQUFZLEdBQUdDLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsNkJBQXJCLENBQUQsQ0FBL0I7QUFEMEIsNkJBRUZDLFlBQVksQ0FBQ0wsWUFBRCxDQUZWLGlCQUVwQk0sU0FGb0I7QUFHMUJULFFBQUFBLGNBQWMsR0FBR1UsWUFBWSxDQUFDRCxTQUFELENBQTdCO0FBQ0EsWUFBTUUsY0FBYyxHQUFHWCxjQUFjLENBQUNZLFVBQWYsQ0FBMEJDLElBQTFCLENBQStCLFVBQUFDLEVBQUU7QUFBQSxpQkFBSUEsRUFBRSxDQUFDQyxJQUFILEtBQVksWUFBaEI7QUFBQSxTQUFqQyxDQUF2Qjs7QUFKMEIsWUFLdEJKLGNBTHNCO0FBTXpCVixVQUFBQSxTQUFTLEdBQUdVLGNBQVo7QUFOeUI7QUFRekIsZ0JBQU0sSUFBSUssS0FBSixDQUFVLHFCQUFWLENBQU47QUFSeUI7QUFBQTtBQVUxQixLQVZRO0FBQUE7QUFBQTtBQUFBLElBQVQ7QUFZQUMsRUFBQUEsUUFBUSxDQUFDLGdCQUFELEVBQW1CLFlBQVc7QUFDckNDLElBQUFBLEVBQUUsQ0FDRCx1Q0FEQyxFQUVEO0FBQ0Msb0JBQWMsQ0FDYjtBQUNDLGdCQUFRLE1BRFQ7QUFFQyxjQUFNO0FBRlAsT0FEYTtBQURmLEtBRkM7QUFBQSxVQVVnQjtBQUNoQixZQUFNZixZQUFZLEdBQUdDLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsNkJBQXJCLENBQUQsQ0FBL0I7QUFEZ0IsK0JBRVFDLFlBQVksQ0FBQ0wsWUFBRCxDQUZwQixpQkFFVk0sU0FGVTtBQUdoQlQsVUFBQUEsY0FBYyxHQUFHVSxZQUFZLENBQUNELFNBQUQsQ0FBN0I7QUFDQSxjQUFNRSxjQUFjLEdBQUdYLGNBQWMsQ0FBQ1ksVUFBZixDQUEwQkMsSUFBMUIsQ0FBK0IsVUFBQUMsRUFBRTtBQUFBLG1CQUFJQSxFQUFFLENBQUNDLElBQUgsS0FBWSxZQUFoQjtBQUFBLFdBQWpDLENBQXZCOztBQUNBLGNBQUlKLGNBQUosRUFBb0I7QUFDbkJWLFlBQUFBLFNBQVMsR0FBR1UsY0FBWjtBQUNBLFdBRkQsTUFFTztBQUNOLGtCQUFNLElBQUlLLEtBQUosQ0FBVSxxQkFBVixDQUFOO0FBQ0E7O0FBQ0RHLFVBQUFBLE1BQU0sQ0FBQ0Msb0NBQW9DLENBQUNuQixTQUFELENBQXJDLENBQU4sQ0FBd0RvQixPQUF4RCxDQUFnRSxDQUMvRCxnQkFEK0QsRUFFL0QsbUNBRitELEVBRy9ELGdDQUgrRCxFQUkvRCxtQ0FKK0QsQ0FBaEU7QUFWZ0I7QUFnQmhCLE9BMUJBO0FBQUE7QUFBQTtBQUFBLE1BQUY7QUE0QkFILElBQUFBLEVBQUUsQ0FDRCxvRUFEQyxFQUVEO0FBQ0Msb0JBQWMsQ0FDYjtBQUNDLGdCQUFRLE1BRFQ7QUFFQyxjQUFNO0FBRlAsT0FEYTtBQURmLEtBRkM7QUFBQSxVQVVnQjtBQUNoQixZQUFNZixZQUFZLEdBQUdDLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsb0RBQXJCLENBQUQsQ0FBL0I7QUFEZ0IsK0JBRVFDLFlBQVksQ0FBQ0wsWUFBRCxDQUZwQixpQkFFVk0sU0FGVTtBQUdoQlQsVUFBQUEsY0FBYyxHQUFHVSxZQUFZLENBQUNELFNBQUQsQ0FBN0I7QUFDQSxjQUFNRSxjQUFjLEdBQUdYLGNBQWMsQ0FBQ1ksVUFBZixDQUEwQkMsSUFBMUIsQ0FBK0IsVUFBQUMsRUFBRTtBQUFBLG1CQUFJQSxFQUFFLENBQUNDLElBQUgsS0FBWSxZQUFoQjtBQUFBLFdBQWpDLENBQXZCOztBQUNBLGNBQUlKLGNBQUosRUFBb0I7QUFDbkJWLFlBQUFBLFNBQVMsR0FBR1UsY0FBWjtBQUNBLFdBRkQsTUFFTztBQUNOLGtCQUFNLElBQUlLLEtBQUosQ0FBVSxxQkFBVixDQUFOO0FBQ0E7O0FBQ0RHLFVBQUFBLE1BQU0sQ0FBQ0Msb0NBQW9DLENBQUNuQixTQUFELENBQXJDLENBQU4sQ0FBd0RvQixPQUF4RCxDQUFnRSxDQUFDLGFBQUQsRUFBZ0IsZ0JBQWhCLENBQWhFO0FBVmdCO0FBV2hCLE9BckJBO0FBQUE7QUFBQTtBQUFBLE1BQUY7QUF1QkEsR0FwRE8sQ0FBUiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGNvbnZlcnRUeXBlcyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgY29tcGlsZUNEUywgZ2V0TWV0YU1vZGVsIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQgeyBFbnRpdHlTZXQgfSBmcm9tIFwiQHNhcC11eC9hbm5vdGF0aW9uLWNvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0Tm9uU29ydGFibGVQcm9wZXJ0aWVzUmVzdHJpY3Rpb25zIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRW50aXR5U2V0SGVscGVyXCI7XG5cbmxldCBjb252ZXJ0ZWRUeXBlcztcbmxldCBlbnRpdHlTZXQ6IEVudGl0eVNldDtcbmJlZm9yZUFsbChhc3luYyBmdW5jdGlvbigpIHtcblx0Y29uc3Qgc01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uL2RhdGEvRW50aXR5U2V0SGVscGVyLmNkc1wiKSk7XG5cdGNvbnN0IG1ldGFNb2RlbCA9IGF3YWl0IGdldE1ldGFNb2RlbChzTWV0YWRhdGFVcmwpO1xuXHRjb252ZXJ0ZWRUeXBlcyA9IGNvbnZlcnRUeXBlcyhtZXRhTW9kZWwpO1xuXHRjb25zdCBtYXliZUVudGl0eVNldCA9IGNvbnZlcnRlZFR5cGVzLmVudGl0eVNldHMuZmluZChldCA9PiBldC5uYW1lID09PSBcIk1haW5FbnRpdHlcIik7XG5cdGlmIChtYXliZUVudGl0eVNldCkge1xuXHRcdGVudGl0eVNldCA9IG1heWJlRW50aXR5U2V0O1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIkVycm9yIGluIHRlc3Qgc2V0dXBcIik7XG5cdH1cbn0pO1xuXG5kZXNjcmliZShcIlByb3BlcnR5SGVscGVyXCIsIGZ1bmN0aW9uKCkge1xuXHRpdChcblx0XHRcIiNnZXROb25Tb3J0YWJsZVByb3BlcnRpZXNSZXN0cmljdGlvbnNcIixcblx0XHR7XG5cdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0XCJ0eXBlXCI6IFwiSklSQVwiLFxuXHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTM3MFwiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdGFzeW5jIGZ1bmN0aW9uKCkge1xuXHRcdFx0Y29uc3Qgc01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uL2RhdGEvRW50aXR5U2V0SGVscGVyLmNkc1wiKSk7XG5cdFx0XHRjb25zdCBtZXRhTW9kZWwgPSBhd2FpdCBnZXRNZXRhTW9kZWwoc01ldGFkYXRhVXJsKTtcblx0XHRcdGNvbnZlcnRlZFR5cGVzID0gY29udmVydFR5cGVzKG1ldGFNb2RlbCk7XG5cdFx0XHRjb25zdCBtYXliZUVudGl0eVNldCA9IGNvbnZlcnRlZFR5cGVzLmVudGl0eVNldHMuZmluZChldCA9PiBldC5uYW1lID09PSBcIk1haW5FbnRpdHlcIik7XG5cdFx0XHRpZiAobWF5YmVFbnRpdHlTZXQpIHtcblx0XHRcdFx0ZW50aXR5U2V0ID0gbWF5YmVFbnRpdHlTZXQ7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJFcnJvciBpbiB0ZXN0IHNldHVwXCIpO1xuXHRcdFx0fVxuXHRcdFx0ZXhwZWN0KGdldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyhlbnRpdHlTZXQpKS50b0VxdWFsKFtcblx0XHRcdFx0XCJzdHJpbmdQcm9wZXJ0eVwiLFxuXHRcdFx0XHRcIl9uYXZpZ2F0aW9uRW50aXR5QS9zdHJpbmdQcm9wZXJ0eVwiLFxuXHRcdFx0XHRcIl9uYXZpZ2F0aW9uRW50aXR5Qi9rZXlQcm9wZXJ0eVwiLFxuXHRcdFx0XHRcIl9uYXZpZ2F0aW9uRW50aXR5Qi9zdHJpbmdQcm9wZXJ0eVwiXG5cdFx0XHRdKTtcblx0XHR9XG5cdCk7XG5cdGl0KFxuXHRcdFwiI2dldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyAtIG1haW4gZW50aXR5IHNvcnRhYmxlPWZhbHNlXCIsXG5cdFx0e1xuXHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiRklPUklURUNIUDEtMjEzNzBcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSxcblx0XHRhc3luYyBmdW5jdGlvbigpIHtcblx0XHRcdGNvbnN0IHNNZXRhZGF0YVVybCA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi9kYXRhL0VudGl0eVNldEhlbHBlck1haW5FbnRpdHlTb3J0YWJsZUZhbHNlLmNkc1wiKSk7XG5cdFx0XHRjb25zdCBtZXRhTW9kZWwgPSBhd2FpdCBnZXRNZXRhTW9kZWwoc01ldGFkYXRhVXJsKTtcblx0XHRcdGNvbnZlcnRlZFR5cGVzID0gY29udmVydFR5cGVzKG1ldGFNb2RlbCk7XG5cdFx0XHRjb25zdCBtYXliZUVudGl0eVNldCA9IGNvbnZlcnRlZFR5cGVzLmVudGl0eVNldHMuZmluZChldCA9PiBldC5uYW1lID09PSBcIk1haW5FbnRpdHlcIik7XG5cdFx0XHRpZiAobWF5YmVFbnRpdHlTZXQpIHtcblx0XHRcdFx0ZW50aXR5U2V0ID0gbWF5YmVFbnRpdHlTZXQ7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJFcnJvciBpbiB0ZXN0IHNldHVwXCIpO1xuXHRcdFx0fVxuXHRcdFx0ZXhwZWN0KGdldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyhlbnRpdHlTZXQpKS50b0VxdWFsKFtcImtleVByb3BlcnR5XCIsIFwic3RyaW5nUHJvcGVydHlcIl0pO1xuXHRcdH1cblx0KTtcbn0pO1xuIl19
@@ -0,0 +1,73 @@
1
+ import path from "path";
2
+ import { convertTypes } from "sap/fe/core/converters/MetaModelConverter";
3
+ import { compileCDS, getMetaModel } from "sap/fe/test/JestTemplatingHelper";
4
+ import { EntitySet } from "@sap-ux/annotation-converter";
5
+ import { getNonSortablePropertiesRestrictions } from "sap/fe/core/templating/EntitySetHelper";
6
+
7
+ let convertedTypes;
8
+ let entitySet: EntitySet;
9
+ beforeAll(async function() {
10
+ const sMetadataUrl = compileCDS(path.join(__dirname, "../data/EntitySetHelper.cds"));
11
+ const metaModel = await getMetaModel(sMetadataUrl);
12
+ convertedTypes = convertTypes(metaModel);
13
+ const maybeEntitySet = convertedTypes.entitySets.find(et => et.name === "MainEntity");
14
+ if (maybeEntitySet) {
15
+ entitySet = maybeEntitySet;
16
+ } else {
17
+ throw new Error("Error in test setup");
18
+ }
19
+ });
20
+
21
+ describe("PropertyHelper", function() {
22
+ it(
23
+ "#getNonSortablePropertiesRestrictions",
24
+ {
25
+ "references": [
26
+ {
27
+ "type": "JIRA",
28
+ "ID": "FIORITECHP1-21370"
29
+ }
30
+ ]
31
+ },
32
+ async function() {
33
+ const sMetadataUrl = compileCDS(path.join(__dirname, "../data/EntitySetHelper.cds"));
34
+ const metaModel = await getMetaModel(sMetadataUrl);
35
+ convertedTypes = convertTypes(metaModel);
36
+ const maybeEntitySet = convertedTypes.entitySets.find(et => et.name === "MainEntity");
37
+ if (maybeEntitySet) {
38
+ entitySet = maybeEntitySet;
39
+ } else {
40
+ throw new Error("Error in test setup");
41
+ }
42
+ expect(getNonSortablePropertiesRestrictions(entitySet)).toEqual([
43
+ "stringProperty",
44
+ "_navigationEntityA/stringProperty",
45
+ "_navigationEntityB/keyProperty",
46
+ "_navigationEntityB/stringProperty"
47
+ ]);
48
+ }
49
+ );
50
+ it(
51
+ "#getNonSortablePropertiesRestrictions - main entity sortable=false",
52
+ {
53
+ "references": [
54
+ {
55
+ "type": "JIRA",
56
+ "ID": "FIORITECHP1-21370"
57
+ }
58
+ ]
59
+ },
60
+ async function() {
61
+ const sMetadataUrl = compileCDS(path.join(__dirname, "../data/EntitySetHelperMainEntitySortableFalse.cds"));
62
+ const metaModel = await getMetaModel(sMetadataUrl);
63
+ convertedTypes = convertTypes(metaModel);
64
+ const maybeEntitySet = convertedTypes.entitySets.find(et => et.name === "MainEntity");
65
+ if (maybeEntitySet) {
66
+ entitySet = maybeEntitySet;
67
+ } else {
68
+ throw new Error("Error in test setup");
69
+ }
70
+ expect(getNonSortablePropertiesRestrictions(entitySet)).toEqual(["keyProperty", "stringProperty"]);
71
+ }
72
+ );
73
+ });
@@ -939,9 +939,11 @@ sap.ui.define(
939
939
  "converterHeaderFacet": "/header/facets/32"
940
940
  },
941
941
  oExpectedResultsPerTest: {
942
- "headerDataPointLinkTest": {
942
+ "headerDataPointLinkTitleTest": {
943
943
  "visible":
944
- "{= COMMON.getHeaderDataPointLinkVisibility(ID.generate(['fe', 'HeaderDPLink', ${converterHeaderFacet>targetAnnotationValue}]), true, ${dataPoint>@@FIELD.isNotAlwaysHidden}) }",
944
+ "{= COMMON.getHeaderDataPointLinkVisibility(ID.generate(['fe', 'HeaderDPLink', ${converterHeaderFacet>targetAnnotationValue}]), true, ${dataPoint>@@FIELD.isNotAlwaysHidden}) }"
945
+ },
946
+ "headerDataPointLinkInsideTitleTest": {
945
947
  "press": '.handlers.onDataPointTitlePressed($controller, ${$source>}, undefined,"FreestyleNav")'
946
948
  },
947
949
  "headerDataPointTitleTest": {
@@ -223,5 +223,11 @@
223
223
  "module": "test-resources/sap/fe/core/internal/qunit/VisualFilterUtils.qunit",
224
224
  "title": "VisualFilterUtils - Unit Tests",
225
225
  "group": []
226
+ },
227
+ {
228
+ "name": "FilterUtils",
229
+ "module": "test-resources/sap/fe/core/internal/qunit/FilterUtils.qunit",
230
+ "title": "FilterUtils - Unit Tests",
231
+ "group": []
226
232
  }
227
233
  ]
@@ -6,7 +6,7 @@
6
6
  <copyright>SAP UI development toolkit for HTML5 (SAPUI5)
7
7
  (c) Copyright 2009-2021 SAP SE. All rights reserved
8
8
  </copyright>
9
- <version>1.96.0</version>
9
+ <version>1.97.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.fe.macros</documentation>
12
12
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sEntity": "Library",
3
3
  "sId": "sap/fe/macros",
4
- "sVersion": "1.96.0",
4
+ "sVersion": "1.97.0",
5
5
  "bIgnore": true
6
6
  }
@@ -94,7 +94,14 @@ sap.ui.define(
94
94
  }
95
95
  }
96
96
 
97
- function handleProperty(oMDCChart, mEntitySetAnnotations, mKnownAggregatableProps, mCustomAggregates, aProperties, sCriticality) {
97
+ ChartDelegate._handleProperty = function(
98
+ oMDCChart,
99
+ mEntitySetAnnotations,
100
+ mKnownAggregatableProps,
101
+ mCustomAggregates,
102
+ aProperties,
103
+ sCriticality
104
+ ) {
98
105
  var oApplySupported = CommonHelper.parseCustomData(oMDCChart.data("applySupported"));
99
106
  var oSortRestrictions = mEntitySetAnnotations["@Org.OData.Capabilities.V1.SortRestrictions"] || {};
100
107
  var oSortRestrictionsInfo = ODataMetaModelUtil.getSortRestrictionsInfo(oSortRestrictions);
@@ -216,7 +223,7 @@ sap.ui.define(
216
223
  });
217
224
  }
218
225
  }
219
- }
226
+ };
220
227
 
221
228
  ChartDelegate.updateBindingInfo = function(oChart, oBindingInfo) {
222
229
  setChartNoDataText(oChart, oBindingInfo);
@@ -351,7 +358,7 @@ sap.ui.define(
351
358
  oMetaModel,
352
359
  oMetaModel.createBindingContext(sEntitySetPath + "/" + sKey)
353
360
  ).then(
354
- handleProperty.bind(
361
+ ChartDelegate._handleProperty.bind(
355
362
  oMetaModel.getMetaContext(sEntitySetPath + "/" + sKey),
356
363
  oMDCChart,
357
364
  mEntitySetAnnotations,
@@ -404,9 +411,12 @@ sap.ui.define(
404
411
  for (var sCustom in mCustomAggregates) {
405
412
  if (sCustom === sKey) {
406
413
  var oItem = merge({}, mCustomAggregates[sCustom], {
407
- kind: MDCLib.ChartItemType.Measure,
414
+ groupable: false,
415
+ aggregatable: true,
416
+ kind: "Aggregatable",
417
+ availableRoles: ChartDelegate._getLayoutOptionsForType("aggregatable"), //for p13n
408
418
  role: MDCLib.ChartItemRoleType.axis1,
409
- sortable: mCustomAggregates[sCustom].sortable
419
+ datapoint: null //To be implemented by FE
410
420
  });
411
421
  aAggregateProperties.push(oItem);
412
422
 
@@ -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/mdc/library","sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew","sap/fe/macros/ODataMetaModelUtil","sap/ui/mdc/odata/v4/ODataMetaModelUtil","sap/base/util/merge","sap/fe/macros/chart/ChartUtils","sap/ui/mdc/util/FilterUtil","sap/ui/mdc/odata/v4/util/DelegateUtil","sap/ui/base/SyncPromise","sap/base/Log","sap/fe/core/CommonUtils","sap/fe/macros/ResourceModel","sap/fe/macros/CommonHelper","sap/fe/macros/ChartAPI"],function(M,B,a,O,m,C,F,D,S,L,b,R,c,d){"use strict";var e=Object.assign({},B);function s(f,g){var n="",i=C.getAllFilterInfo(f),j=g.path.substr(1);if(f.getFilter()){if(i.search||(i.filters&&i.filters.length)){n="T_OP_TABLE_AND_CHART_NO_DATA_TEXT_WITH_FILTER";}else{n="T_OP_TABLE_AND_CHART_NO_DATA_TEXT";}}else{if(i.search||(i.filters&&i.filters.length)){n="T_OP_TABLE_AND_CHART_NO_DATA_TEXT_WITH_FILTER";}else{n="M_OP_TABLE_AND_CHART_OP_NO_FILTERS_NO_DATA_TEXT";}}if(n==="T_OP_TABLE_AND_CHART_NO_DATA_TEXT_WITH_FILTER"||n==="T_OP_TABLE_AND_CHART_NO_DATA_TEXT"){return f.getModel("sap.fe.i18n").getResourceBundle().then(function(r){f.setNoDataText(b.getTranslatedText(n,r,null,j));}).catch(function(k){L.error(k);});}else{if(R){f.setNoDataText(R.getText(n));}}}function h(f,E,k,g,p,l){var A=c.parseCustomData(f.data("applySupported"));var n=E["@Org.OData.Capabilities.V1.SortRestrictions"]||{};var q=O.getSortRestrictionsInfo(n);var r=E["@Org.OData.Capabilities.V1.FilterRestrictions"];var t=O.getFilterRestrictionsInfo(r);var u=this.getModel().getObject(this.getPath());var K=this.getModel().getObject(this.getPath()+"@sapui.name");var v=this.getModel();if(u&&u.$kind==="Property"){if(u.$isCollection){return;}var P=v.getObject(this.getPath()+"@");var w=v.getObject("@sapui.name",v.getMetaContext(this.getPath()));var G=A&&A.GroupableProperties;var x=A&&A.AggregatableProperties;var y=false,z=false;if(G&&G.length){for(var i=0;i<G.length;i++){if(G[i].$PropertyPath===w){y=true;break;}}}if(x&&x.length){for(var j=0;j<x.length;j++){if(x[j].Property.$PropertyPath===w){z=true;break;}}}if(!G||(G&&!G.length)){y=P["@Org.OData.Aggregation.V1.Groupable"];}if(!x||(x&&!x.length)){z=P["@Org.OData.Aggregation.V1.Aggregatable"];}if(!y&&!z){return;}if(z){var H=e._createPropertyInfosForAggregatable(K,P,t,q,k,g);H.forEach(function(J){p.push(J);});}if(y){var N=K||"",T=P["@com.sap.vocabularies.Common.v1.Text"]?P["@com.sap.vocabularies.Common.v1.Text"].$Path:null;var I=false;if(N&&N.indexOf("/")>-1){L.error("$expand is not yet supported. Property: "+N+" from an association cannot be used");return;}if(T&&T.indexOf("/")>-1){L.error("$expand is not yet supported. Text Property: "+T+" from an association cannot be used");I=true;}p.push({name:K,propertyPath:K,label:P["@com.sap.vocabularies.Common.v1.Label"]||K,sortable:q[K]?q[K].sortable:true,filterable:t[K]?t[K].filterable:true,groupable:true,aggregatable:false,maxConditions:O.isMultiValueFilterExpression(t.propertyInfo[K])?-1:1,sortKey:K,kind:"Groupable",availableRoles:e._getLayoutOptionsForType("groupable"),role:M.ChartItemRoleType.category,criticality:l,textProperty:!I&&P["@com.sap.vocabularies.Common.v1.Text"]?P["@com.sap.vocabularies.Common.v1.Text"].$Path:null,textFormatter:function(V,J){if(P["@com.sap.vocabularies.Common.v1.Text@com.sap.vocabularies.UI.v1.TextArrangement"]){var Q=P["@com.sap.vocabularies.Common.v1.Text@com.sap.vocabularies.UI.v1.TextArrangement"];if(Q.$EnumMember==="com.sap.vocabularies.UI.v1.TextArrangementType/TextFirst"){return J+" ("+V+")";}else if(Q.$EnumMember==="com.sap.vocabularies.UI.v1.TextArrangementType/TextLast"){return V+" ("+J+")";}else if(Q.$EnumMember==="com.sap.vocabularies.UI.v1.TextArrangementType/TextOnly"){return J;}}return J?J:V;}});}}}e.updateBindingInfo=function(f,g){s(f,g);var i=sap.ui.getCore().byId(f.getFilter());if(i){var j=i.getConditions();if(j){if(!g){g={};}var I=f.getControlDelegate()._getChart(f);var k;if(I){if(C.getChartSelectionsExist(f)){k=C.getAllFilterInfo(f);}}k=k?k:C.getFilterBarFilterInfo(f);if(k){g.filters=k.filters;}var p=D.getParametersInfo(i,j);if(p){g.path=p;}}}};e.fetchProperties=function(f){var g=this._getModel(f);var p;if(!g){p=new Promise(function(r){f.attachModelContextChange({resolver:r},o,this);}.bind(this)).then(function(g){return this._createPropertyInfos(f,g);}.bind(this));}else{p=this._createPropertyInfos(f,g);}return p.then(function(P){if(f.data){f.data("$mdcChartPropertyInfo",P);}return P;});};function o(E,f){var g=E.getSource();var i=this._getModel(g);if(i){g.detachModelContextChange(o);f.resolver(i);}}e._createPropertyInfos=function(f,g){var E="/"+f.data("entitySet");var i=g.getMetaModel();return Promise.all([i.requestObject(E+"/"),i.requestObject(E+"@")]).then(function(r){var p=[];var j=r[0],k=r[1];var l=c.parseCustomData(f.data("customAgg"));var A;var P=[];for(var n in k){if(n.startsWith("@Org.OData.Aggregation.V1.CustomAggregate")){A=n.replace("@Org.OData.Aggregation.V1.CustomAggregate#","");var q=A.split("@");if(q.length==2&&q[1]=="com.sap.vocabularies.Common.v1.Label"){l[q[0].label]=k[n];}}}var t=[],u=[];if(Object.keys(l).length>=1){var v=f.getItems();for(var w in v){if(v[w].isA("sap.ui.mdc.chart.DimensionItem")){t.push(v[w].getKey());}else if(v[w].isA("sap.ui.mdc.chart.MeasureItem")){u.push(v[w].getKey());}}if(u.filter(function(G){return t.indexOf(G)!=-1;}).length>=1){L.error("Dimension and Measure has the sameProperty Configured");}}var T=c.parseCustomData(f.data("transAgg"));var K={};for(var x in T){var y=T[x].propertyPath;K[y]=K[y]||{};K[y][T[x].aggregationMethod]={name:T[x].name,label:T[x].label};}for(var z in j){if(z.indexOf("$")!==0){P.push(a.fetchCriticality(i,i.createBindingContext(E+"/"+z)).then(h.bind(i.getMetaContext(E+"/"+z),f,k,K,l,p)));}}return Promise.all(P).then(function(){return p;});});};e._createPropertyInfosForAggregatable=function(k,p,f,g,K,i){var A=[];if(Object.keys(K).indexOf(k)>-1){for(var j in K[k]){A.push({name:K[k][j].name,propertyPath:k,label:K[k][j].label||p["@com.sap.vocabularies.Common.v1.Label"]+" ("+j+")"||k+" ("+j+")",sortable:g[k]?g[k].sortable:true,filterable:f[k]?f[k].filterable:true,groupable:false,aggregatable:true,aggregationMethod:j,maxConditions:O.isMultiValueFilterExpression(f.propertyInfo[k])?-1:1,kind:"Aggregatable",availableRoles:e._getLayoutOptionsForType("aggregatable"),role:M.ChartItemRoleType.axis1,datapoint:null});}}else if(Object.keys(i).indexOf(k)>-1){for(var l in i){if(l===k){var I=m({},i[l],{kind:M.ChartItemType.Measure,role:M.ChartItemRoleType.axis1,sortable:i[l].sortable});A.push(I);break;}}}return A;};e.rebindChart=function(f,g){B.rebindChart(f,g);};e._setChart=function(f,i){var g=f.getParent();i.setVizProperties(f.data("vizProperties"));i.detachSelectData(g.handleSelectionChange.bind(g));i.detachDeselectData(g.handleSelectionChange.bind(g));i.detachDrilledUp(g.handleSelectionChange.bind(g));i.attachSelectData(g.handleSelectionChange.bind(g));i.attachDeselectData(g.handleSelectionChange.bind(g));i.attachDrilledUp(g.handleSelectionChange.bind(g));i.setSelectionMode(f.getPayload().selectionMode.toUpperCase());B._setChart(f,i);};e._getBindingInfo=function(f){if(this._getBindingInfoFromState(f)){return this._getBindingInfoFromState(f);}var g=f.getDelegate().payload;var i=f.getModel()&&f.getModel().getMetaModel();var t=f.data("targetCollectionPath");var E=(i.getObject(t+"/$kind")==="EntitySet"?"/":"")+g.contextPath;var p=m({},g.parameters,{entitySet:f.data("entitySet"),useBatchRequests:true,provideGrandTotals:true,provideTotalResultSize:true,noPaging:true});var j={path:E,parameters:p};return j;};e.removeItemFromInnerChart=function(f,g){B.removeItemFromInnerChart.call(this,f,g);if(g.getType()==="groupable"){var i=this._getChart(f);i.fireDeselectData();}};return e;},false);
6
+ sap.ui.define(["sap/ui/mdc/library","sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew","sap/fe/macros/ODataMetaModelUtil","sap/ui/mdc/odata/v4/ODataMetaModelUtil","sap/base/util/merge","sap/fe/macros/chart/ChartUtils","sap/ui/mdc/util/FilterUtil","sap/ui/mdc/odata/v4/util/DelegateUtil","sap/ui/base/SyncPromise","sap/base/Log","sap/fe/core/CommonUtils","sap/fe/macros/ResourceModel","sap/fe/macros/CommonHelper","sap/fe/macros/ChartAPI"],function(M,B,a,O,m,C,F,D,S,L,b,R,c,d){"use strict";var e=Object.assign({},B);function s(f,g){var n="",h=C.getAllFilterInfo(f),i=g.path.substr(1);if(f.getFilter()){if(h.search||(h.filters&&h.filters.length)){n="T_OP_TABLE_AND_CHART_NO_DATA_TEXT_WITH_FILTER";}else{n="T_OP_TABLE_AND_CHART_NO_DATA_TEXT";}}else{if(h.search||(h.filters&&h.filters.length)){n="T_OP_TABLE_AND_CHART_NO_DATA_TEXT_WITH_FILTER";}else{n="M_OP_TABLE_AND_CHART_OP_NO_FILTERS_NO_DATA_TEXT";}}if(n==="T_OP_TABLE_AND_CHART_NO_DATA_TEXT_WITH_FILTER"||n==="T_OP_TABLE_AND_CHART_NO_DATA_TEXT"){return f.getModel("sap.fe.i18n").getResourceBundle().then(function(r){f.setNoDataText(b.getTranslatedText(n,r,null,i));}).catch(function(j){L.error(j);});}else{if(R){f.setNoDataText(R.getText(n));}}}e._handleProperty=function(f,E,k,g,p,h){var A=c.parseCustomData(f.data("applySupported"));var l=E["@Org.OData.Capabilities.V1.SortRestrictions"]||{};var n=O.getSortRestrictionsInfo(l);var q=E["@Org.OData.Capabilities.V1.FilterRestrictions"];var r=O.getFilterRestrictionsInfo(q);var t=this.getModel().getObject(this.getPath());var K=this.getModel().getObject(this.getPath()+"@sapui.name");var u=this.getModel();if(t&&t.$kind==="Property"){if(t.$isCollection){return;}var P=u.getObject(this.getPath()+"@");var v=u.getObject("@sapui.name",u.getMetaContext(this.getPath()));var G=A&&A.GroupableProperties;var w=A&&A.AggregatableProperties;var x=false,y=false;if(G&&G.length){for(var i=0;i<G.length;i++){if(G[i].$PropertyPath===v){x=true;break;}}}if(w&&w.length){for(var j=0;j<w.length;j++){if(w[j].Property.$PropertyPath===v){y=true;break;}}}if(!G||(G&&!G.length)){x=P["@Org.OData.Aggregation.V1.Groupable"];}if(!w||(w&&!w.length)){y=P["@Org.OData.Aggregation.V1.Aggregatable"];}if(!x&&!y){return;}if(y){var z=e._createPropertyInfosForAggregatable(K,P,r,n,k,g);z.forEach(function(H){p.push(H);});}if(x){var N=K||"",T=P["@com.sap.vocabularies.Common.v1.Text"]?P["@com.sap.vocabularies.Common.v1.Text"].$Path:null;var I=false;if(N&&N.indexOf("/")>-1){L.error("$expand is not yet supported. Property: "+N+" from an association cannot be used");return;}if(T&&T.indexOf("/")>-1){L.error("$expand is not yet supported. Text Property: "+T+" from an association cannot be used");I=true;}p.push({name:K,propertyPath:K,label:P["@com.sap.vocabularies.Common.v1.Label"]||K,sortable:n[K]?n[K].sortable:true,filterable:r[K]?r[K].filterable:true,groupable:true,aggregatable:false,maxConditions:O.isMultiValueFilterExpression(r.propertyInfo[K])?-1:1,sortKey:K,kind:"Groupable",availableRoles:e._getLayoutOptionsForType("groupable"),role:M.ChartItemRoleType.category,criticality:h,textProperty:!I&&P["@com.sap.vocabularies.Common.v1.Text"]?P["@com.sap.vocabularies.Common.v1.Text"].$Path:null,textFormatter:function(V,H){if(P["@com.sap.vocabularies.Common.v1.Text@com.sap.vocabularies.UI.v1.TextArrangement"]){var J=P["@com.sap.vocabularies.Common.v1.Text@com.sap.vocabularies.UI.v1.TextArrangement"];if(J.$EnumMember==="com.sap.vocabularies.UI.v1.TextArrangementType/TextFirst"){return H+" ("+V+")";}else if(J.$EnumMember==="com.sap.vocabularies.UI.v1.TextArrangementType/TextLast"){return V+" ("+H+")";}else if(J.$EnumMember==="com.sap.vocabularies.UI.v1.TextArrangementType/TextOnly"){return H;}}return H?H:V;}});}}};e.updateBindingInfo=function(f,g){s(f,g);var h=sap.ui.getCore().byId(f.getFilter());if(h){var i=h.getConditions();if(i){if(!g){g={};}var I=f.getControlDelegate()._getChart(f);var j;if(I){if(C.getChartSelectionsExist(f)){j=C.getAllFilterInfo(f);}}j=j?j:C.getFilterBarFilterInfo(f);if(j){g.filters=j.filters;}var p=D.getParametersInfo(h,i);if(p){g.path=p;}}}};e.fetchProperties=function(f){var g=this._getModel(f);var p;if(!g){p=new Promise(function(r){f.attachModelContextChange({resolver:r},o,this);}.bind(this)).then(function(g){return this._createPropertyInfos(f,g);}.bind(this));}else{p=this._createPropertyInfos(f,g);}return p.then(function(P){if(f.data){f.data("$mdcChartPropertyInfo",P);}return P;});};function o(E,f){var g=E.getSource();var h=this._getModel(g);if(h){g.detachModelContextChange(o);f.resolver(h);}}e._createPropertyInfos=function(f,g){var E="/"+f.data("entitySet");var h=g.getMetaModel();return Promise.all([h.requestObject(E+"/"),h.requestObject(E+"@")]).then(function(r){var p=[];var i=r[0],j=r[1];var k=c.parseCustomData(f.data("customAgg"));var A;var P=[];for(var l in j){if(l.startsWith("@Org.OData.Aggregation.V1.CustomAggregate")){A=l.replace("@Org.OData.Aggregation.V1.CustomAggregate#","");var n=A.split("@");if(n.length==2&&n[1]=="com.sap.vocabularies.Common.v1.Label"){k[n[0].label]=j[l];}}}var q=[],t=[];if(Object.keys(k).length>=1){var u=f.getItems();for(var v in u){if(u[v].isA("sap.ui.mdc.chart.DimensionItem")){q.push(u[v].getKey());}else if(u[v].isA("sap.ui.mdc.chart.MeasureItem")){t.push(u[v].getKey());}}if(t.filter(function(z){return q.indexOf(z)!=-1;}).length>=1){L.error("Dimension and Measure has the sameProperty Configured");}}var T=c.parseCustomData(f.data("transAgg"));var K={};for(var w in T){var x=T[w].propertyPath;K[x]=K[x]||{};K[x][T[w].aggregationMethod]={name:T[w].name,label:T[w].label};}for(var y in i){if(y.indexOf("$")!==0){P.push(a.fetchCriticality(h,h.createBindingContext(E+"/"+y)).then(e._handleProperty.bind(h.getMetaContext(E+"/"+y),f,j,K,k,p)));}}return Promise.all(P).then(function(){return p;});});};e._createPropertyInfosForAggregatable=function(k,p,f,g,K,h){var A=[];if(Object.keys(K).indexOf(k)>-1){for(var i in K[k]){A.push({name:K[k][i].name,propertyPath:k,label:K[k][i].label||p["@com.sap.vocabularies.Common.v1.Label"]+" ("+i+")"||k+" ("+i+")",sortable:g[k]?g[k].sortable:true,filterable:f[k]?f[k].filterable:true,groupable:false,aggregatable:true,aggregationMethod:i,maxConditions:O.isMultiValueFilterExpression(f.propertyInfo[k])?-1:1,kind:"Aggregatable",availableRoles:e._getLayoutOptionsForType("aggregatable"),role:M.ChartItemRoleType.axis1,datapoint:null});}}else if(Object.keys(h).indexOf(k)>-1){for(var j in h){if(j===k){var I=m({},h[j],{groupable:false,aggregatable:true,kind:"Aggregatable",availableRoles:e._getLayoutOptionsForType("aggregatable"),role:M.ChartItemRoleType.axis1,datapoint:null});A.push(I);break;}}}return A;};e.rebindChart=function(f,g){B.rebindChart(f,g);};e._setChart=function(f,i){var g=f.getParent();i.setVizProperties(f.data("vizProperties"));i.detachSelectData(g.handleSelectionChange.bind(g));i.detachDeselectData(g.handleSelectionChange.bind(g));i.detachDrilledUp(g.handleSelectionChange.bind(g));i.attachSelectData(g.handleSelectionChange.bind(g));i.attachDeselectData(g.handleSelectionChange.bind(g));i.attachDrilledUp(g.handleSelectionChange.bind(g));i.setSelectionMode(f.getPayload().selectionMode.toUpperCase());B._setChart(f,i);};e._getBindingInfo=function(f){if(this._getBindingInfoFromState(f)){return this._getBindingInfoFromState(f);}var g=f.getDelegate().payload;var h=f.getModel()&&f.getModel().getMetaModel();var t=f.data("targetCollectionPath");var E=(h.getObject(t+"/$kind")==="EntitySet"?"/":"")+g.contextPath;var p=m({},g.parameters,{entitySet:f.data("entitySet"),useBatchRequests:true,provideGrandTotals:true,provideTotalResultSize:true,noPaging:true});var i={path:E,parameters:p};return i;};e.removeItemFromInnerChart=function(f,g){B.removeItemFromInnerChart.call(this,f,g);if(g.getType()==="groupable"){var i=this._getChart(f);i.fireDeselectData();}};return e;},false);
@@ -560,20 +560,24 @@ sap.ui.define(
560
560
  * @function
561
561
  * @memberof sap.fe.macros.CommonHelper
562
562
  * @param {string} sValue Some string that needs to be converted into single quotes
563
+ * @param {boolean} bEscape Should the string be escaped beforehand
563
564
  * @returns {string} - String with single quotes
564
565
  **/
565
- addSingleQuotes: function(sValue) {
566
+ addSingleQuotes: function(sValue, bEscape) {
567
+ if (bEscape && sValue) {
568
+ sValue = sValue.replace(/[']/g, "\\'");
569
+ }
566
570
  return "'" + sValue + "'";
567
571
  },
568
572
 
569
573
  /**
570
- * Returns function string,
571
- * First argument of generateFunction is name of the generated function string.
572
- * Remaining arguments of generateFunction are args to generated function string.
574
+ * Returns the function string
575
+ * The first argument of generateFunction is name of the generated function string.
576
+ * Remaining arguments of generateFunction are arguments of the newly generated function string.
573
577
  * @function
574
578
  * @memberof sap.fe.macros.CommonHelper
575
579
  * @param {string} sFuncName Some string for the function name
576
- * @returns {string} - Function string depends on args passed
580
+ * @returns {string} - Function string depends on arguments passed
577
581
  **/
578
582
  generateFunction: function(sFuncName) {
579
583
  var sParams = "";