@sap/open.fe 1.97.0 → 1.98.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 (873) 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 +275 -62
  5. package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
  6. package/packages/sap.fe.common/src/sap/fe/common/MessagePopover-dbg.js +1 -0
  7. package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.js +1 -1
  8. package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
  9. package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +3 -3
  10. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +51 -46
  11. package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
  12. package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
  13. package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
  14. package/packages/sap.fe.common/src/sap/fe/common/resources.json +16 -8
  15. package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
  16. package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
  17. package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
  18. package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.98.json +18 -0
  19. package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
  20. package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
  21. package/packages/sap.fe.core/src/sap/fe/core/AppComponent-dbg.js +3 -1
  22. package/packages/sap.fe.core/src/sap/fe/core/AppComponent.js +1 -1
  23. package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +1 -1
  24. package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +1 -1
  25. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +35 -15
  26. package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
  27. package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI-dbg.js +13 -5
  28. package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.js +1 -1
  29. package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +8 -2
  30. package/packages/sap.fe.core/src/sap/fe/core/PageController.js +1 -1
  31. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +26 -10
  32. package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
  33. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +13 -4
  34. package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +1 -1
  35. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +124 -39
  36. package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
  37. package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +49 -22
  38. package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +1 -1
  39. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +11 -8
  40. package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
  41. package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +12 -8
  42. package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
  43. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +196 -70
  44. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  45. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +9 -2
  46. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +1 -1
  47. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +19 -17
  48. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  49. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +39 -8
  50. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  51. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +114 -25
  52. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
  53. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +112 -24
  54. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +80 -0
  55. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.js +6 -0
  56. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +5 -1
  57. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
  58. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +1 -1
  59. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
  60. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator-dbg.js +34 -7
  61. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.js +1 -1
  62. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +5 -2
  63. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.js +1 -1
  64. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +16 -1
  65. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +1 -1
  66. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share-dbg.js +19 -6
  67. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.js +1 -1
  68. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +7 -7
  69. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  70. package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +6 -5
  71. package/packages/sap.fe.core/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -1
  72. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +6 -3
  73. package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
  74. package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +9 -3
  75. package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +1 -1
  76. package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper-dbg.js +0 -5
  77. package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  78. package/packages/sap.fe.core/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -1
  79. package/packages/{sap.fe.macros/src/sap/fe/macros/massedit → sap.fe.core/src/sap/fe/core/controls/massEdit}/MassEditDialog.fragment.xml +6 -6
  80. package/packages/{sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js → sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js} +2 -2
  81. package/packages/{sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js → sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers.js} +0 -0
  82. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +13 -1
  83. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +1 -1
  84. package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +10 -0
  85. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
  86. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +3 -0
  87. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +18 -7
  88. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  89. package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +15 -6
  90. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +62 -4
  91. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  92. package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +60 -4
  93. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +3 -3
  94. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  95. package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
  96. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +18 -10
  97. package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  98. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +10 -1
  99. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  100. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +6 -0
  101. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +17 -9
  102. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  103. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +9 -3
  104. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +69 -4
  105. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  106. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.ts +72 -0
  107. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +172 -284
  108. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  109. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +228 -348
  110. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +468 -0
  111. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +5 -0
  112. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +609 -0
  113. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +30 -13
  114. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  115. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +31 -12
  116. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +2 -2
  117. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
  118. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
  119. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +14 -6
  120. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
  121. package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +26 -5
  122. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +8 -1
  123. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  124. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.ts +9 -1
  125. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +4 -1
  126. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  127. package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.ts +3 -0
  128. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +8 -0
  129. package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  130. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
  131. package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +3 -3
  132. package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter-dbg.js +30 -5
  133. package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  134. package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.ts +25 -3
  135. package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
  136. package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +359 -0
  137. package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.js +5 -0
  138. package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.ts +388 -0
  139. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +199 -111
  140. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +1 -1
  141. package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +193 -102
  142. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +2 -2
  143. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
  144. package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +1 -1
  145. package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper-dbg.js +679 -0
  146. package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.js +6 -0
  147. package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +27 -1
  148. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +23 -14
  149. package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +2 -2
  150. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +477 -411
  151. package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
  152. package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +47 -3
  153. package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +3 -3
  154. package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
  155. package/packages/sap.fe.core/src/sap/fe/core/library.support.js +9 -3
  156. package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
  157. package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +62 -0
  158. package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -0
  159. package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +68 -0
  160. package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +40 -5
  161. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +24 -2
  162. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +24 -2
  163. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +24 -2
  164. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +25 -3
  165. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +24 -2
  166. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +24 -2
  167. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +24 -2
  168. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +24 -2
  169. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +23 -1
  170. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +23 -1
  171. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -1
  172. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +24 -2
  173. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +24 -2
  174. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +24 -2
  175. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +24 -2
  176. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +24 -2
  177. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +25 -3
  178. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +25 -3
  179. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +24 -2
  180. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +24 -2
  181. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +24 -2
  182. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +25 -3
  183. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +26 -4
  184. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +24 -2
  185. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +24 -2
  186. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +24 -2
  187. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +24 -2
  188. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +24 -2
  189. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +24 -2
  190. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +24 -2
  191. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +24 -2
  192. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +24 -2
  193. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +24 -2
  194. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +24 -2
  195. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +25 -3
  196. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +24 -2
  197. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +24 -2
  198. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +24 -2
  199. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +24 -2
  200. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +24 -2
  201. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +24 -2
  202. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +25 -3
  203. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +24 -2
  204. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +24 -2
  205. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +24 -2
  206. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +24 -2
  207. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +24 -2
  208. package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +24 -2
  209. package/packages/sap.fe.core/src/sap/fe/core/resources.json +483 -235
  210. package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
  211. package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -1
  212. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +4 -3
  213. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  214. package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -0
  215. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +93 -346
  216. package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  217. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +31 -2
  218. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  219. package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +30 -1
  220. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +8 -5
  221. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  222. package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +11 -6
  223. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +12 -3
  224. package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  225. package/packages/sap.fe.core/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
  226. package/packages/sap.fe.core/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
  227. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +10 -48
  228. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  229. package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.ts +14 -46
  230. package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +114 -0
  231. package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter.js +5 -0
  232. package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
  233. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +10 -7
  234. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +1 -1
  235. package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +8 -6
  236. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper-dbg.js +2 -2
  237. package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  238. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +15 -110
  239. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +1 -1
  240. package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +6 -73
  241. package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
  242. package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
  243. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jsmeta.json +1 -1
  244. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.json +1 -1
  245. package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
  246. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/ControllerExtensionNavigationModel.js +5 -0
  247. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/CustomElementNavigationModel.js +105 -7
  248. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +176 -0
  249. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.controller.js +2 -2
  250. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.controller.js +2 -2
  251. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +0 -1
  252. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.controller.js +2 -2
  253. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.controller.js +2 -2
  254. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.controller.js +3 -2
  255. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.controller.js +3 -2
  256. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.controller.js +3 -2
  257. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.controller.js +3 -2
  258. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/Component.js +36 -0
  259. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/FilterBarAnnotationDefaults.controller.js +35 -0
  260. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/FilterBarAnnotationDefaults.view.xml +58 -0
  261. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/RootEntity.json +102 -0
  262. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/ValueHelpEntity.js +11 -0
  263. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/service.cds +97 -0
  264. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/manifest.json +72 -0
  265. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/Component.js +36 -0
  266. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomFilter.js +36 -0
  267. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingFilter.fragment.xml +8 -0
  268. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingFilterOperator.fragment.xml +17 -0
  269. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingRangeFilter.fragment.xml +8 -0
  270. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/FilterBarCustoms.controller.js +42 -0
  271. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/FilterBarCustoms.view.xml +70 -0
  272. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/RootEntity.json +107 -0
  273. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/ValueHelpEntity.js +11 -0
  274. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/service.cds +152 -0
  275. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/manifest.json +72 -0
  276. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.controller.js +13 -6
  277. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.view.xml +1 -1
  278. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ChildEntity.json +15 -674
  279. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/MultiChildEntity.json +92 -0
  280. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/RootEntity.json +10 -5
  281. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/service.cds +72 -19
  282. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/Component.js +36 -0
  283. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.controller.js +35 -0
  284. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.view.xml +58 -0
  285. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/RootEntity.json +102 -0
  286. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/ValueHelpEntity.js +11 -0
  287. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/service.cds +115 -0
  288. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/manifest.json +72 -0
  289. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarAnnotationDefaults.html +37 -0
  290. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarCustoms.html +37 -0
  291. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarSVandAnnotationDefaults.html +37 -0
  292. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/Component.js +35 -0
  293. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/DetailPage.controller.js +5 -0
  294. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/DetailPage.view.xml +15 -0
  295. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.controller.js +43 -0
  296. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.view.xml +79 -0
  297. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ChildEntity.json +23 -0
  298. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/RootEntity.json +41 -0
  299. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ValueHelpCurrencyEntity.json +5 -0
  300. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ValueHelpEntity.js +11 -0
  301. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/service.cds +144 -0
  302. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/manifest.json +96 -0
  303. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/Component.js +9 -0
  304. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/EntryPage.controller.js +5 -0
  305. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/EntryPage.view.xml +14 -0
  306. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidanceFreestyle.html +69 -0
  307. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/i18n/i18n.properties +3 -0
  308. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.controller.js +2 -2
  309. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.controller.js +2 -2
  310. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.controller.js +2 -2
  311. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.controller.js +2 -2
  312. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +4 -3
  313. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +36 -30
  314. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.controller.js +2 -2
  315. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.controller.js +3 -2
  316. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.view.xml +30 -24
  317. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/Component.js +3 -0
  318. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/OPExtend.controller.js +17 -2
  319. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/ChildEntity.json +9 -0
  320. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/service.cds +46 -0
  321. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/manifest.json +24 -1
  322. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility.html +2 -2
  323. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +1 -1
  324. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnBuildingBlockField.fragment.xml +3 -0
  325. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +2 -2
  326. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +2 -2
  327. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +7 -0
  328. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.md +4 -0
  329. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/Component.js +35 -0
  330. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/CustomFormElement1.fragment.xml +3 -0
  331. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/CustomFormElement2.fragment.xml +3 -0
  332. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/localService/RootEntity.json +9 -0
  333. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/localService/service.cds +136 -0
  334. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/manifest.json +90 -0
  335. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElementContent.html +36 -0
  336. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/{CustomHeaderFacetFormElement.fragment.xml → CustomHeaderFacetBuildingBlockFormElement.fragment.xml} +0 -0
  337. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/{CustomHeaderFacetFormElementEdit.fragment.xml → CustomHeaderFacetBuildingBlockFormElementEdit.fragment.xml} +1 -1
  338. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetBuildingBlockMicroChart.fragment.xml +10 -0
  339. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetBuildingBlockMicroChartEdit.fragment.xml +5 -0
  340. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetDataPointEdit.fragment.xml +2 -2
  341. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetMicroChartEdit.fragment.xml +2 -2
  342. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/RootEntity.json +6 -1
  343. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/service.cds +30 -2
  344. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/manifest.json +13 -3
  345. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.view.xml +1 -2
  346. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSection.fragment.xml +1 -7
  347. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionFormElementAndTable.fragment.xml +0 -1
  348. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.fragment.xml +1 -7
  349. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSectionContent.html +60 -27
  350. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/Component.js +35 -0
  351. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection1.fragment.xml +3 -0
  352. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection2.fragment.xml +3 -0
  353. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection3.fragment.xml +11 -0
  354. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/ChildEntity.json +42 -0
  355. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/RootEntity.json +9 -0
  356. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/service.cds +139 -0
  357. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/manifest.json +104 -0
  358. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSectionContent.html +36 -0
  359. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/i18n/i18n.properties +3 -0
  360. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.js +20 -6
  361. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.ts +22 -6
  362. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.js +71 -23
  363. package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.ts +97 -24
  364. package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.js +624 -0
  365. package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +449 -140
  366. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.js +435 -0
  367. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.ts +385 -0
  368. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +229 -2
  369. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.ts +227 -0
  370. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +235 -63
  371. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +162 -40
  372. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.js +115 -0
  373. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.ts +95 -0
  374. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +1 -2
  375. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +0 -1
  376. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +2 -2
  377. package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +2 -2
  378. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +11 -1
  379. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +9 -0
  380. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.js +18 -1
  381. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.ts +25 -1
  382. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPI.spec.js +64 -1
  383. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPI.spec.ts +66 -0
  384. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +261 -20
  385. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +329 -19
  386. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +79 -8
  387. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +128 -8
  388. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.js +7 -7
  389. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.ts +6 -6
  390. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.js +22 -1
  391. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.ts +26 -1
  392. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +136 -244
  393. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +156 -376
  394. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.js +1267 -0
  395. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.ts +2150 -0
  396. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/KPI.spec.ts.snap +306 -0
  397. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +57 -0
  398. package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Table.spec.ts.snap +1 -1
  399. package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService.cds +137 -5
  400. package/packages/sap.fe.core/test/sap/fe/core/jest/data/BindingExpression-AnnotationExpression.xml +13 -0
  401. package/packages/sap.fe.core/test/sap/fe/core/jest/data/HeaderFacets.cds +28 -0
  402. package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPI.cds +191 -0
  403. package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverterContext.cds +20 -0
  404. package/packages/sap.fe.core/test/sap/fe/core/jest/data/ObjectPageConverter.cds +69 -1
  405. package/packages/sap.fe.core/test/sap/fe/core/jest/data/RoutingServiceFactory.cds +35 -0
  406. package/packages/sap.fe.core/test/sap/fe/core/jest/data/SideEffects.cds +26 -1
  407. package/packages/sap.fe.core/test/sap/fe/core/jest/data/Table.cds +98 -0
  408. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableSticky.cds +22 -0
  409. package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableTooltips.cds +43 -0
  410. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.js +10 -1
  411. package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.ts +20 -0
  412. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.js +912 -0
  413. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.ts +981 -0
  414. package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/AppStartupHelper.spec.ts.snap +358 -0
  415. package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.js +242 -0
  416. package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.ts +297 -0
  417. package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/__snapshots__/ChangePageConfiguration.spec.ts.snap +289 -0
  418. package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +292 -366
  419. package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.ts +247 -0
  420. package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +14 -1
  421. package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +19 -0
  422. package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +0 -12
  423. package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.98.json +363 -0
  424. package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
  425. package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
  426. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.fragment.xml +5 -5
  427. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +0 -2
  428. package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +1 -1
  429. package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI-dbg.js +1 -1
  430. package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.js +1 -1
  431. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +4 -4
  432. package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
  433. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +26 -24
  434. package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
  435. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +1 -1
  436. package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
  437. package/packages/sap.fe.macros/src/sap/fe/macros/FieldBaseDelegate-dbg.js +90 -0
  438. package/packages/sap.fe.macros/src/sap/fe/macros/FieldBaseDelegate.js +6 -0
  439. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +7 -6
  440. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +63 -8
  441. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +1 -1
  442. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +42 -4
  443. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.js +1 -1
  444. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +76 -1
  445. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +49 -6
  446. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
  447. package/packages/sap.fe.macros/src/sap/fe/macros/FilterField-dbg.designtime.js +1 -1
  448. package/packages/sap.fe.macros/src/sap/fe/macros/Form.fragment.xml +21 -17
  449. package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +8 -0
  450. package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +1 -1
  451. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +2 -2
  452. package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +1 -1
  453. package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata-dbg.js +2 -2
  454. package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata.js +1 -1
  455. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +8 -3
  456. package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
  457. package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata-dbg.js +2 -1
  458. package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata.js +1 -1
  459. package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata-dbg.js +11 -8
  460. package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata.js +1 -1
  461. package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper-dbg.js +168 -35
  462. package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper.js +1 -1
  463. package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +107 -109
  464. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +51 -65
  465. package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
  466. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +9 -4
  467. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
  468. package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +5 -2
  469. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +1 -1
  470. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +1 -1
  471. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils-dbg.js +2 -1
  472. package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils.js +1 -1
  473. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +101 -16
  474. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
  475. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +273 -71
  476. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
  477. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +128 -32
  478. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
  479. package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +110 -16
  480. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +11 -4
  481. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +65 -84
  482. package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
  483. package/packages/sap.fe.macros/src/sap/fe/macros/filter/CustomFilter.fragment.xml +5 -0
  484. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +2 -2
  485. package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +1 -1
  486. package/packages/sap.fe.macros/src/sap/fe/macros/form/DataFieldCollection.fragment.xml +2 -2
  487. package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFormElement.fragment.xml +5 -1
  488. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +72 -12
  489. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +1 -1
  490. package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +43 -14
  491. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +13 -2
  492. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +55 -8
  493. package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +1 -1
  494. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +1 -3
  495. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +38 -65
  496. package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +1 -1
  497. package/packages/sap.fe.macros/src/sap/fe/macros/{FilterField.fragment.xml → internal/FilterField.fragment.xml} +2 -2
  498. package/packages/sap.fe.macros/src/sap/fe/macros/{FilterField.metadata-dbg.js → internal/FilterField.metadata-dbg.js} +5 -5
  499. package/packages/sap.fe.macros/src/sap/fe/macros/internal/FilterField.metadata.js +6 -0
  500. package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator-dbg.js +96 -0
  501. package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.js +5 -0
  502. package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.ts +116 -0
  503. package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate-dbg.js +7 -15
  504. package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate.js +1 -1
  505. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +4 -5
  506. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/AmountWithCurrency.fragment.xml +5 -1
  507. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/DataPoint.fragment.xml +5 -1
  508. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ExpandableText.fragment.xml +1 -0
  509. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/File.fragment.xml +2 -2
  510. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LabelSemanticKey.fragment.xml +5 -3
  511. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Link.fragment.xml +11 -3
  512. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +1 -0
  513. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +5 -4
  514. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/MdcFieldWithValueHelp.fragment.xml +48 -0
  515. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +140 -18
  516. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectStatus.fragment.xml +1 -0
  517. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/SemanticKeyWithDraftIndicator.fragment.xml +1 -1
  518. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Text.fragment.xml +6 -3
  519. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/CheckBox.fragment.xml +1 -1
  520. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +1 -1
  521. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +1 -1
  522. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +14 -4
  523. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +1 -1
  524. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +3 -3
  525. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +2 -2
  526. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TextArea.fragment.xml +1 -1
  527. package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +1 -1
  528. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +25 -9
  529. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
  530. package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +30 -16
  531. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter-dbg.js +154 -0
  532. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.js +5 -0
  533. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.ts +146 -0
  534. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime-dbg.js +204 -0
  535. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.js +5 -0
  536. package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.ts +215 -0
  537. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +29 -8
  538. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +1 -1
  539. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelp-dbg.designtime.js +1 -1
  540. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +0 -10
  541. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +2 -2
  542. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +151 -131
  543. package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
  544. package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
  545. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +24 -23
  546. package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
  547. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +209 -188
  548. package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
  549. package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
  550. package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary-dbg.js +7 -4
  551. package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary.js +1 -1
  552. package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
  553. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +36 -10
  554. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +12 -0
  555. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +12 -0
  556. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +12 -0
  557. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +12 -0
  558. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +12 -0
  559. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +12 -0
  560. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +12 -0
  561. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +13 -1
  562. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +12 -0
  563. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +12 -0
  564. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +12 -0
  565. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +12 -0
  566. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +12 -0
  567. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +12 -0
  568. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +12 -0
  569. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +12 -0
  570. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +12 -0
  571. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +12 -0
  572. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -0
  573. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +12 -0
  574. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +12 -0
  575. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +12 -0
  576. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +14 -2
  577. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +12 -0
  578. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +12 -0
  579. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +12 -0
  580. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +12 -0
  581. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +12 -0
  582. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +12 -0
  583. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +12 -0
  584. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +12 -0
  585. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +12 -0
  586. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +12 -0
  587. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +12 -0
  588. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +13 -1
  589. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -0
  590. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +12 -0
  591. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +12 -0
  592. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +12 -0
  593. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +12 -0
  594. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +12 -0
  595. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +13 -1
  596. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +12 -0
  597. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +12 -0
  598. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +12 -0
  599. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +12 -0
  600. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +13 -1
  601. package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -0
  602. package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +496 -354
  603. package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +53 -57
  604. package/packages/sap.fe.macros/src/sap/fe/macros/table/Column.fragment.xml +1 -0
  605. package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +38 -32
  606. package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer-dbg.js +12 -3
  607. package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer.js +1 -1
  608. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +17 -91
  609. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
  610. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime-dbg.js +4 -1
  611. package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime.js +1 -1
  612. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +9 -4
  613. package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +1 -1
  614. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin-dbg.js +3 -3
  615. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin.js +1 -1
  616. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +198 -71
  617. package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
  618. package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.fragment.xml +4 -4
  619. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +58 -15
  620. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
  621. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jsmeta.json +1 -1
  622. package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
  623. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +1 -1
  624. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +1 -2
  625. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +1 -1
  626. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +0 -2
  627. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.js +1 -1
  628. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.ts +0 -2
  629. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +1 -1
  630. package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +0 -2
  631. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.js +21 -1
  632. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.ts +20 -0
  633. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +1 -1
  634. package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +1 -1
  635. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +19 -1
  636. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +12 -0
  637. package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +2 -2
  638. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldBaseDelegate.spec.js +111 -0
  639. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.js +67 -3
  640. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.ts +81 -1
  641. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarDelegate.spec.js +4 -6
  642. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.js +52 -6
  643. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.ts +64 -7
  644. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.js +34 -4
  645. package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.ts +46 -3
  646. package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.js +43 -4
  647. package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.ts +62 -3
  648. package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.js +31 -5
  649. package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.ts +25 -3
  650. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +11 -1
  651. package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +9 -0
  652. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.js +40 -0
  653. package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.ts +35 -0
  654. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartMacro.spec.ts.snap +42 -42
  655. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/CollectionField.spec.ts.snap +49 -7
  656. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +27 -11
  657. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +50 -44
  658. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithSemanticKey.spec.ts.snap +146 -56
  659. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithValueHelp.spec.ts.snap +16 -16
  660. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterBarMacro.spec.ts.snap +774 -11
  661. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +70 -2
  662. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/MicroChart.spec.ts.snap +1 -1
  663. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/PhantomUtil.spec.ts.snap +70 -165
  664. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +39 -0
  665. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +287 -170
  666. package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +369 -213
  667. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/CollectionField.cds +11 -3
  668. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +5 -0
  669. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithSemanticKey.cds +17 -12
  670. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacro.cds +18 -1
  671. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacroWithDefaultAnnotation.cds +155 -0
  672. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacroWithSVandAnnotation.cds +155 -0
  673. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterFieldMacro.cds +13 -1
  674. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/QuickViewForm.cds +36 -11
  675. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +22 -1
  676. package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/simpleFieldMacro.cds +8 -3
  677. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +252 -61
  678. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +277 -67
  679. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.cds +93 -1
  680. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +118 -16
  681. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +143 -16
  682. package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/__snapshots__/FieldTemplating.spec.ts.snap +31 -0
  683. package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragment.xml +3 -0
  684. package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestSubFragment.xml +10 -0
  685. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +14 -2
  686. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +13 -1
  687. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/__snapshots__/columnWidth.spec.ts.snap +131 -0
  688. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.js +264 -0
  689. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.ts +244 -0
  690. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/data/columnWidth.cds +238 -0
  691. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +33 -6
  692. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +40 -2
  693. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/ValueHelpTableDelegate.spec.js +61 -0
  694. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/ValueHelpTableDelegate.spec.ts +64 -0
  695. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1287 -32
  696. package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/data/tabledelegate.cds +1 -1
  697. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
  698. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/CommonHelper.qunit.js +284 -159
  699. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +9 -9
  700. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +2 -2
  701. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormContainerTemplating.qunit.js +1 -0
  702. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
  703. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplating.qunit.js +10 -5
  704. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +2 -2
  705. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MacroMetadata.qunit.js +5 -5
  706. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartContainer.qunit.js +29 -0
  707. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +6 -26
  708. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelperTemplate.qunit.js +3 -8
  709. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +402 -18
  710. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacro.fragment.xml +1 -1
  711. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacroMissingID.fragment.xml +1 -1
  712. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/TableMacro.fragment.xml +0 -2
  713. package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.98.json +210 -0
  714. package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
  715. package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
  716. package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler-dbg.js +70 -29
  717. package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler.js +1 -1
  718. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
  719. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
  720. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +6 -5
  721. package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +3 -3
  722. package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
  723. package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
  724. package/packages/sap.fe.navigation/src/sap/fe/navigation/resources.json +5 -5
  725. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
  726. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
  727. package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
  728. package/packages/sap.fe.navigation/test/sap/fe/navigation/qunit/navigation/NavigationHandlerTest.qunit.js +4 -12
  729. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
  730. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
  731. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
  732. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
  733. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +2 -2
  734. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
  735. package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
  736. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
  737. package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
  738. package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
  739. package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
  740. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate-dbg.js +2 -2
  741. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +1 -1
  742. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
  743. package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/resources.json +2 -2
  744. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
  745. package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
  746. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +1 -1
  747. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI.js +1 -1
  748. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -1
  749. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +85 -85
  750. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
  751. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
  752. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation-dbg.js +6 -2
  753. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
  754. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit-dbg.js +96 -0
  755. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit.js +6 -0
  756. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +36 -21
  757. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share.js +1 -1
  758. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +53 -31
  759. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
  760. package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +20 -11
  761. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +20 -0
  762. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
  763. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +16 -14
  764. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
  765. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +15 -0
  766. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +1 -1
  767. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +103 -88
  768. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +99 -72
  769. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
  770. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
  771. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Paginator-dbg.js +12 -0
  772. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
  773. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +47 -43
  774. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share.js +1 -1
  775. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +0 -20
  776. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
  777. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +24 -24
  778. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
  779. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +24 -5
  780. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +1 -4
  781. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +181 -0
  782. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
  783. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
  784. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +133 -123
  785. package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
  786. package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +1 -1
  787. package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
  788. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +8 -7
  789. package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
  790. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +34 -32
  791. package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
  792. package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
  793. package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
  794. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle.properties +24 -1
  795. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +1 -1
  796. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +1 -1
  797. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +1 -1
  798. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +8 -8
  799. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +1 -1
  800. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +1 -1
  801. package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +1 -1
  802. package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +126 -66
  803. package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
  804. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
  805. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
  806. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jsmeta.json +1 -1
  807. package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
  808. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.js +262 -0
  809. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +2 -1
  810. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +1 -0
  811. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Sections.spec.js +132 -0
  812. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Sections.spec.ts +131 -0
  813. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +1 -0
  814. package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/Sections.spec.ts.snap +52 -0
  815. package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.js +229 -0
  816. package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.ts +157 -0
  817. package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/__snapshots__/RootContainerBaseController.spec.ts.snap +218 -0
  818. package/packages/sap.fe.templates/test/sap/fe/templates/jest/data/RootContainerBaseController.cds +64 -0
  819. package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.98.json +201 -0
  820. package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
  821. package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
  822. package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner-dbg.js +8 -3
  823. package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner.js +1 -1
  824. package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +8 -3
  825. package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +1 -1
  826. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +19 -11
  827. package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
  828. package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils-dbg.js +1 -1
  829. package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils.js +1 -1
  830. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +211 -45
  831. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
  832. package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +103 -8
  833. package/packages/sap.fe.test/src/sap/fe/test/Utils-dbg.js +0 -12
  834. package/packages/sap.fe.test/src/sap/fe/test/Utils.js +1 -1
  835. package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +1 -7
  836. package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI.js +1 -1
  837. package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions-dbg.js +4 -4
  838. package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions.js +1 -1
  839. package/packages/sap.fe.test/src/sap/fe/test/api/KPICardActions-dbg.js +43 -0
  840. package/packages/sap.fe.test/src/sap/fe/test/api/KPICardActions.js +6 -0
  841. package/packages/sap.fe.test/src/sap/fe/test/api/KPICardAssertions-dbg.js +19 -15
  842. package/packages/sap.fe.test/src/sap/fe/test/api/KPICardAssertions.js +1 -1
  843. package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions-dbg.js +11 -0
  844. package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions.js +1 -1
  845. package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder-dbg.js +11 -2
  846. package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder.js +1 -1
  847. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder-dbg.js +22 -0
  848. package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder.js +1 -1
  849. package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
  850. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +5 -4
  851. package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +1 -1
  852. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +37 -23
  853. package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +4 -4
  854. package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
  855. package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
  856. package/packages/sap.fe.test/src/sap/fe/test/resources.json +59 -34
  857. package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
  858. package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
  859. package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
  860. package/packages/sap.fe.test/test/sap/fe/test/mockserver/MockServer.js +98965 -71474
  861. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +0 -8
  862. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +0 -5
  863. package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
  864. package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/CreditLimitDetails.json +0 -154
  865. package/packages/sap.fe.core/test/sap/fe/core/qunit/TransactionHelper.qunit.js +0 -77
  866. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper-dbg.js +0 -48
  867. package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper.js +0 -6
  868. package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata.js +0 -6
  869. package/packages/sap.fe.macros/src/sap/fe/macros/FormWrapper.fragment.xml +0 -26
  870. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler-dbg.js +0 -718
  871. package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler.js +0 -6
  872. package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarHelper.qunit.js +0 -223
  873. package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderImage.fragment.xml +0 -24
@@ -0,0 +1,2150 @@
1
+ import {
2
+ getCreateTemplating,
3
+ getCreateVisibility,
4
+ getCreateEnablement,
5
+ getDeleteVisibility,
6
+ getDefaultTemplating,
7
+ isExternalCreateConfigured,
8
+ isDraftOrStickySupported,
9
+ getNewAction,
10
+ getDeleteEnablement,
11
+ getPasteVisibility,
12
+ getMassEditVisibility,
13
+ getMassEditEnablement,
14
+ getRestrictions,
15
+ isActionAnnotatedHidden,
16
+ getInsertUpdateActionsTemplating,
17
+ generateStandardActionsContext,
18
+ StandardActionsContext,
19
+ getStandardActionCreate,
20
+ getStandardActionDelete,
21
+ getStandardActionPaste,
22
+ getStandardActionMassEdit
23
+ } from "sap/fe/core/converters/controls/Common/table/StandardActions";
24
+
25
+ import path from "path";
26
+ import { convertTypes } from "sap/fe/core/converters/MetaModelConverter";
27
+ import { compileCDS, getConverterContextForTest, getMetaModel } from "sap/fe/test/JestTemplatingHelper";
28
+ import { CreationMode, SelectionMode, TemplateType } from "sap/fe/core/converters/ManifestSettings";
29
+ import { ConverterOutput } from "@sap-ux/vocabularies-types";
30
+ import { bindingExpression, compileBinding, constant, equal } from "sap/fe/core/helpers/BindingExpression";
31
+ import { UI } from "sap/fe/core/converters/helpers/BindingHelper";
32
+ import ConverterContext from "sap/fe/core/converters/ConverterContext";
33
+ import { Binding } from "sap/ui/model";
34
+
35
+ let convertedTypes: ConverterOutput;
36
+ let convertedTypesNoOa: ConverterOutput;
37
+ let convertedTypesOaTrue: ConverterOutput;
38
+ let convertedTypesOaFalse: ConverterOutput;
39
+ let convertedTypesOaOnSticky: ConverterOutput;
40
+
41
+ let BASIC_CONTEXT_LR: ConverterContext;
42
+ let BASIC_CONTEXT_LR_DYNAMIC_HIDDEN: ConverterContext;
43
+ let BASIC_CONTEXT_OP: ConverterContext;
44
+ let BASIC_CONTEXT_ALP: ConverterContext;
45
+
46
+ let NEW_ACTION_NO_OA: ConverterContext;
47
+ let NEW_ACTION_OA_TRUE: ConverterContext;
48
+ let NEW_ACTION_OA_FALSE: ConverterContext;
49
+ let NEW_ACTION_OA_ON_STICKY: ConverterContext;
50
+
51
+ let BASIC_ACTION_CONTEXT: StandardActionsContext;
52
+ let BASIC_MASS_EDIT_ACTION_CONTEXT: StandardActionsContext;
53
+
54
+ const CONSTANT_FALSE = constant(false);
55
+ const CONSTANT_TRUE = constant(true);
56
+ const DUMMY_DYNAMIC_BINDING = bindingExpression("dummyExpression");
57
+
58
+ const NOT_INSERTABLE = {
59
+ isInsertable: {
60
+ expression: CONSTANT_FALSE
61
+ }
62
+ };
63
+ const INSERTABLE = {
64
+ isInsertable: {
65
+ expression: CONSTANT_TRUE
66
+ }
67
+ };
68
+ const DYNAMIC_INSERTABLE = {
69
+ isInsertable: {
70
+ expression: bindingExpression("SomeDynamicInsertable"),
71
+ isOnlyCurrentEntityExpression: false
72
+ }
73
+ };
74
+ const DYNAMIC_INSERTABLE_ONLY_ON_CURRENT = {
75
+ isInsertable: {
76
+ expression: bindingExpression("SomeDynamicInsertable"),
77
+ isOnlyCurrentEntityExpression: true
78
+ }
79
+ };
80
+
81
+ const NOT_DELETABLE = {
82
+ isDeletable: {
83
+ expression: CONSTANT_FALSE
84
+ }
85
+ };
86
+ const DELETABLE = {
87
+ isDeletable: {
88
+ expression: CONSTANT_TRUE
89
+ }
90
+ };
91
+ const DYNAMIC_DELETABLE = {
92
+ isDeletable: {
93
+ expression: bindingExpression("SomeDynamicDeletable"),
94
+ isOnlyCurrentEntityExpression: false
95
+ }
96
+ };
97
+ const DYNAMIC_DELETABLE_ONLY_ON_CURRENT = {
98
+ isDeletable: {
99
+ expression: bindingExpression("SomeDynamicDeletable"),
100
+ isOnlyCurrentEntityExpression: true
101
+ }
102
+ };
103
+
104
+ const NOT_UPDATABLE = {
105
+ isUpdatable: {
106
+ expression: CONSTANT_FALSE
107
+ }
108
+ };
109
+ const UPDATABLE = {
110
+ isUpdatable: {
111
+ expression: CONSTANT_TRUE
112
+ }
113
+ };
114
+ const DYNAMIC_UPDATABLE = {
115
+ isUpdatable: {
116
+ expression: bindingExpression("SomeDynamicUpdatable"),
117
+ isOnlyCurrentEntityExpression: false
118
+ }
119
+ };
120
+ const DYNAMIC_UPDATABLE_ONLY_ON_CURRENT = {
121
+ isUpdatable: {
122
+ expression: bindingExpression("SomeDynamicUpdatable"),
123
+ isOnlyCurrentEntityExpression: true
124
+ }
125
+ };
126
+ const HIDDEN_CREATE = { create: CONSTANT_TRUE };
127
+ const NOT_HIDDEN_CREATE = { create: CONSTANT_FALSE };
128
+ const DYNAMIC_HIDDEN_CREATE = { create: bindingExpression("SomeDynamicHiddenCreate") };
129
+
130
+ const HIDDEN_DELETE = { "delete": CONSTANT_TRUE };
131
+ const NOT_HIDDEN_DELETE = { "delete": CONSTANT_FALSE };
132
+ const DYNAMIC_HIDDEN_DELETE = { "delete": bindingExpression("SomeDynamicHiddenDelete") };
133
+
134
+ const HIDDEN_UPDATE = { update: CONSTANT_TRUE };
135
+ const NOT_HIDDEN_UPDATE = { update: CONSTANT_FALSE };
136
+ const DYNAMIC_HIDDEN_UPDATE = { update: bindingExpression("SomeDynamicHiddenUpdate") };
137
+
138
+ const DYNAMIC_CREATE_VISIBILITY = bindingExpression("SomeDynamicCreateVisibility");
139
+ const AVAILABLE_NEW_ACTION = {
140
+ name: "availableNewAction",
141
+ available: constant(true)
142
+ };
143
+ const NOT_AVAILABLE_NEW_ACTION = {
144
+ name: "availableNewAction",
145
+ available: constant(false)
146
+ };
147
+ const DYNAMIC_NEW_ACTION = {
148
+ name: "availableNewAction",
149
+ available: bindingExpression("SomeDynamicNewAction")
150
+ };
151
+
152
+ beforeAll(async function() {
153
+ const sMetadataUrl = compileCDS(path.join(__dirname, "../data/Table.cds"));
154
+ const metaModel = await getMetaModel(sMetadataUrl);
155
+ convertedTypes = convertTypes(metaModel);
156
+
157
+ const sMetadataUrlOaTrue = compileCDS(path.join(__dirname, "../data/TableNewActionOperationAvailableTrue.cds"));
158
+ const metaModelOaTrue = await getMetaModel(sMetadataUrlOaTrue);
159
+ convertedTypesOaTrue = convertTypes(metaModelOaTrue);
160
+
161
+ BASIC_CONTEXT_LR = getConverterContextForTest(convertedTypes, {
162
+ entitySet: "TestEntity",
163
+ converterType: TemplateType.ListReport
164
+ });
165
+ BASIC_CONTEXT_LR_DYNAMIC_HIDDEN = getConverterContextForTest(convertedTypes, {
166
+ entitySet: "TestDynamicActionsHidden",
167
+ converterType: TemplateType.ListReport
168
+ });
169
+ BASIC_CONTEXT_OP = getConverterContextForTest(convertedTypes, {
170
+ entitySet: "TestEntityWithNavigation",
171
+ converterType: TemplateType.ObjectPage
172
+ });
173
+
174
+ BASIC_CONTEXT_ALP = getConverterContextForTest(convertedTypes, {
175
+ entitySet: "TestEntity",
176
+ converterType: TemplateType.AnalyticalListPage
177
+ });
178
+
179
+ NEW_ACTION_OA_TRUE = getConverterContextForTest(convertedTypesOaTrue, {
180
+ entitySet: "TestEntity",
181
+ converterType: TemplateType.ListReport
182
+ });
183
+
184
+ BASIC_ACTION_CONTEXT = generateStandardActionsContext(
185
+ BASIC_CONTEXT_OP,
186
+ {},
187
+ {
188
+ enablePaste: true,
189
+ creationMode: "Inline"
190
+ } as any,
191
+ {} as any
192
+ );
193
+
194
+ BASIC_MASS_EDIT_ACTION_CONTEXT = generateStandardActionsContext(
195
+ BASIC_CONTEXT_OP,
196
+ {},
197
+ {
198
+ creationMode: "Inline",
199
+ enableMassEdit: true,
200
+ selectionLimit: 3
201
+ } as any,
202
+ {} as any
203
+ );
204
+ });
205
+
206
+ describe("Table Converter - Standard actions - Get Context - Hidden via Annotation", function() {
207
+ it("Hidden property is collected for all actions", () => {
208
+ const ContextWithDynamicHidden = BASIC_CONTEXT_OP.getEntityTypeAnnotation("_actionsHidden/@com.sap.vocabularies.UI.v1.LineItem")
209
+ .converterContext;
210
+ const ContextWithoutHidden = BASIC_CONTEXT_OP.getEntityTypeAnnotation(
211
+ "_onlyCapabilitiesRestrictionsOnTarget/@com.sap.vocabularies.UI.v1.LineItem"
212
+ ).converterContext;
213
+ expect(isActionAnnotatedHidden(ContextWithDynamicHidden, "CreateHidden")).toEqual(bindingExpression("_actionsHidden/hiddenCreate"));
214
+ expect(isActionAnnotatedHidden(ContextWithDynamicHidden, "DeleteHidden")).toEqual(bindingExpression("_actionsHidden/hiddenDelete"));
215
+ expect(isActionAnnotatedHidden(ContextWithDynamicHidden, "UpdateHidden")).toEqual(bindingExpression("_actionsHidden/hiddenUpdate"));
216
+ expect(isActionAnnotatedHidden(BASIC_CONTEXT_LR, "CreateHidden")).toEqual(constant(false));
217
+ expect(isActionAnnotatedHidden(BASIC_CONTEXT_LR, "DeleteHidden")).toEqual(constant(false));
218
+ expect(isActionAnnotatedHidden(BASIC_CONTEXT_LR, "UpdateHidden")).toEqual(constant(false));
219
+ expect(isActionAnnotatedHidden(ContextWithoutHidden, "CreateHidden")).toEqual(constant(false));
220
+ expect(isActionAnnotatedHidden(ContextWithoutHidden, "DeleteHidden")).toEqual(constant(false));
221
+ expect(isActionAnnotatedHidden(ContextWithoutHidden, "UpdateHidden")).toEqual(constant(false));
222
+ expect(isActionAnnotatedHidden(BASIC_CONTEXT_LR_DYNAMIC_HIDDEN, "CreateHidden")).toEqual(bindingExpression("hiddenCreate"));
223
+ expect(isActionAnnotatedHidden(BASIC_CONTEXT_LR_DYNAMIC_HIDDEN, "DeleteHidden")).toEqual(bindingExpression("hiddenDelete"));
224
+ expect(isActionAnnotatedHidden(BASIC_CONTEXT_LR_DYNAMIC_HIDDEN, "UpdateHidden")).toEqual(bindingExpression("hiddenUpdate"));
225
+ });
226
+ });
227
+
228
+ describe("Table Converter - Standard actions - Get Context - Restrictions", function() {
229
+ it("Restrictions are collected", () => {
230
+ const ContextWithWithoutRestrictions = BASIC_CONTEXT_OP.getEntityTypeAnnotation(
231
+ "_actionsHidden/@com.sap.vocabularies.UI.v1.LineItem"
232
+ ).converterContext;
233
+ const ContextWithOnlyNavRestrictions = BASIC_CONTEXT_OP.getEntityTypeAnnotation(
234
+ "_restrictionsAndActionsHidden/@com.sap.vocabularies.UI.v1.LineItem"
235
+ ).converterContext;
236
+ const ContextWithOnlyCapabilitiesRestrictionOnTarget = BASIC_CONTEXT_OP.getEntityTypeAnnotation(
237
+ "_onlyCapabilitiesRestrictionsOnTarget/@com.sap.vocabularies.UI.v1.LineItem"
238
+ ).converterContext;
239
+ const ContextWithRestrictionOnTargetAndNavigation = BASIC_CONTEXT_OP.getEntityTypeAnnotation(
240
+ "_restrictionsOnTargetAndNavigation/@com.sap.vocabularies.UI.v1.LineItem"
241
+ ).converterContext;
242
+
243
+ expect(getRestrictions(ContextWithWithoutRestrictions)).toEqual({
244
+ "isDeletable": {
245
+ "expression": constant(true),
246
+ "isOnlyCurrentEntityExpression": false
247
+ },
248
+ "isInsertable": {
249
+ "expression": constant(true),
250
+ "isOnlyCurrentEntityExpression": false
251
+ },
252
+ "isUpdatable": {
253
+ "expression": constant(true),
254
+ "isOnlyCurrentEntityExpression": false
255
+ }
256
+ });
257
+
258
+ expect(getRestrictions(ContextWithOnlyNavRestrictions)).toEqual({
259
+ "isDeletable": {
260
+ "expression": equal(bindingExpression("restrictionOnDelete", undefined), true),
261
+ "isOnlyCurrentEntityExpression": false
262
+ },
263
+ "isInsertable": {
264
+ "expression": equal(bindingExpression("restrictionOnInsert", undefined), true),
265
+ "isOnlyCurrentEntityExpression": false
266
+ },
267
+ "isUpdatable": {
268
+ "expression": equal(bindingExpression("restrictionOnUpdate", undefined), true),
269
+ "isOnlyCurrentEntityExpression": false
270
+ }
271
+ });
272
+
273
+ expect(getRestrictions(ContextWithOnlyCapabilitiesRestrictionOnTarget)).toEqual({
274
+ "isDeletable": {
275
+ "expression": equal(bindingExpression("_onlyCapabilitiesRestrictionsOnTarget/localRestrictionOnDelete", undefined), true),
276
+ "isOnlyCurrentEntityExpression": true
277
+ },
278
+ "isInsertable": {
279
+ "expression": equal(bindingExpression("_onlyCapabilitiesRestrictionsOnTarget/localRestrictionOnInsert", undefined), true),
280
+ "isOnlyCurrentEntityExpression": true
281
+ },
282
+ "isUpdatable": {
283
+ "expression": equal(bindingExpression("_onlyCapabilitiesRestrictionsOnTarget/localRestrictionOnUpdate", undefined), true),
284
+ "isOnlyCurrentEntityExpression": true
285
+ }
286
+ });
287
+
288
+ expect(getRestrictions(ContextWithRestrictionOnTargetAndNavigation)).toEqual({
289
+ "isDeletable": {
290
+ "expression": equal(bindingExpression("restrictionOnDelete", undefined), true),
291
+ "isOnlyCurrentEntityExpression": false
292
+ },
293
+ "isInsertable": {
294
+ "expression": equal(bindingExpression("restrictionOnInsert", undefined), true),
295
+ "isOnlyCurrentEntityExpression": false
296
+ },
297
+ "isUpdatable": {
298
+ "expression": equal(bindingExpression("restrictionOnUpdate", undefined), true),
299
+ "isOnlyCurrentEntityExpression": false
300
+ }
301
+ });
302
+
303
+ expect(getRestrictions(BASIC_CONTEXT_LR)).toEqual({
304
+ "isDeletable": {
305
+ "expression": constant(true),
306
+ "isOnlyCurrentEntityExpression": false
307
+ },
308
+ "isInsertable": {
309
+ "expression": constant(true),
310
+ "isOnlyCurrentEntityExpression": false
311
+ },
312
+ "isUpdatable": {
313
+ "expression": constant(true),
314
+ "isOnlyCurrentEntityExpression": false
315
+ }
316
+ });
317
+ });
318
+ });
319
+
320
+ describe("Table Converter - Standard actions - Get Context - Is external action Configured", function() {
321
+ it("Completed configuration", () => {
322
+ expect(
323
+ isExternalCreateConfigured({
324
+ create: {
325
+ outbound: "outbound",
326
+ outboundDetail: {
327
+ semanticObject: "dummy",
328
+ action: "dummy"
329
+ }
330
+ }
331
+ })
332
+ ).toEqual(true);
333
+ });
334
+
335
+ it("Uncompleted configuration", () => {
336
+ expect(
337
+ isExternalCreateConfigured({
338
+ create: {
339
+ outbound: "outbound"
340
+ }
341
+ })
342
+ ).toEqual(false);
343
+ });
344
+
345
+ it("Not configured", () => {
346
+ expect(
347
+ isExternalCreateConfigured({
348
+ detail: {
349
+ route: "dummy"
350
+ }
351
+ })
352
+ ).toEqual(false);
353
+ });
354
+ });
355
+
356
+ describe("Table Converter - Standard actions - Get Context - Is draft or sticky supported", function() {
357
+ const generateMockConverterContext = function(mParams: any): ConverterContext {
358
+ return ({
359
+ getEntitySet: function() {
360
+ return mParams.isContainment
361
+ ? undefined
362
+ : {
363
+ annotations: {
364
+ Common: {
365
+ DraftNode: mParams.isDraftNode,
366
+ DraftRoot: mParams.isDraftRoot
367
+ }
368
+ }
369
+ };
370
+ },
371
+ getDataModelObjectPath: function() {
372
+ return {
373
+ startingEntitySet: {
374
+ annotations: {
375
+ Session: {
376
+ StickySessionSupported: mParams.isSticky
377
+ },
378
+ Common: {
379
+ DraftNode: mParams.isContainmentDraftNode,
380
+ DraftRoot: mParams.isContainmentDraftRoot
381
+ }
382
+ }
383
+ },
384
+ targetObject: {
385
+ containsTarget: mParams.isContainment
386
+ }
387
+ };
388
+ }
389
+ } as any) as ConverterContext;
390
+ };
391
+
392
+ it("test all configs", () => {
393
+ expect(isDraftOrStickySupported(generateMockConverterContext({}))).toEqual(false);
394
+
395
+ expect(
396
+ isDraftOrStickySupported(
397
+ generateMockConverterContext({
398
+ isDraftRoot: true
399
+ })
400
+ )
401
+ ).toEqual(true);
402
+
403
+ expect(
404
+ isDraftOrStickySupported(
405
+ generateMockConverterContext({
406
+ isDraftRoot: false
407
+ })
408
+ )
409
+ ).toEqual(false);
410
+
411
+ expect(
412
+ isDraftOrStickySupported(
413
+ generateMockConverterContext({
414
+ isDraftRoot: false,
415
+ isSticky: true
416
+ })
417
+ )
418
+ ).toEqual(true);
419
+
420
+ expect(
421
+ isDraftOrStickySupported(
422
+ generateMockConverterContext({
423
+ isDraftNode: true
424
+ })
425
+ )
426
+ ).toEqual(true);
427
+
428
+ expect(
429
+ isDraftOrStickySupported(
430
+ generateMockConverterContext({
431
+ isDraftNode: false
432
+ })
433
+ )
434
+ ).toEqual(false);
435
+
436
+ expect(
437
+ isDraftOrStickySupported(
438
+ generateMockConverterContext({
439
+ isDraftNode: false,
440
+ isSticky: true
441
+ })
442
+ )
443
+ ).toEqual(true);
444
+
445
+ expect(
446
+ isDraftOrStickySupported(
447
+ generateMockConverterContext({
448
+ isSticky: true
449
+ })
450
+ )
451
+ ).toEqual(true);
452
+
453
+ expect(
454
+ isDraftOrStickySupported(
455
+ generateMockConverterContext({
456
+ isSticky: false
457
+ })
458
+ )
459
+ ).toEqual(false);
460
+
461
+ expect(
462
+ isDraftOrStickySupported(
463
+ generateMockConverterContext({
464
+ isContainment: true
465
+ })
466
+ )
467
+ ).toEqual(false);
468
+
469
+ expect(
470
+ isDraftOrStickySupported(
471
+ generateMockConverterContext({
472
+ isContainment: true,
473
+ isContainmentDraftNode: true
474
+ })
475
+ )
476
+ ).toEqual(true);
477
+
478
+ expect(
479
+ isDraftOrStickySupported(
480
+ generateMockConverterContext({
481
+ isContainment: true,
482
+ isContainmentDraftNode: false
483
+ })
484
+ )
485
+ ).toEqual(false);
486
+
487
+ expect(
488
+ isDraftOrStickySupported(
489
+ generateMockConverterContext({
490
+ isContainment: true,
491
+ isContainmentDraftRoot: true
492
+ })
493
+ )
494
+ ).toEqual(true);
495
+
496
+ expect(
497
+ isDraftOrStickySupported(
498
+ generateMockConverterContext({
499
+ isContainment: true,
500
+ isContainmentDraftRoot: false
501
+ })
502
+ )
503
+ ).toEqual(false);
504
+ });
505
+ });
506
+
507
+ describe("Table Converter - Standard actions - Get Context - New Action", function() {
508
+ beforeAll(async function() {
509
+ const sMetadataUrlNoOa = compileCDS(path.join(__dirname, "../data/TableNewActionNoOperationAvailable.cds"));
510
+ const metaModelNoOa = await getMetaModel(sMetadataUrlNoOa);
511
+ convertedTypesNoOa = convertTypes(metaModelNoOa);
512
+
513
+ const sMetadataUrlOaFalse = compileCDS(path.join(__dirname, "../data/TableNewActionOperationAvailableFalse.cds"));
514
+ const metaModelOaFalse = await getMetaModel(sMetadataUrlOaFalse);
515
+ convertedTypesOaFalse = convertTypes(metaModelOaFalse);
516
+
517
+ const sMetadataUrlOaOnSticky = compileCDS(path.join(__dirname, "../data/TableNewActionOperationAvailableSticky.cds"));
518
+ const metaModelOaOnSticky = await getMetaModel(sMetadataUrlOaOnSticky);
519
+ convertedTypesOaOnSticky = convertTypes(metaModelOaOnSticky);
520
+
521
+ NEW_ACTION_NO_OA = getConverterContextForTest(convertedTypesNoOa, {
522
+ entitySet: "TestEntity",
523
+ converterType: TemplateType.ListReport
524
+ });
525
+ NEW_ACTION_OA_FALSE = getConverterContextForTest(convertedTypesOaFalse, {
526
+ entitySet: "TestEntity",
527
+ converterType: TemplateType.ListReport
528
+ });
529
+
530
+ NEW_ACTION_OA_ON_STICKY = getConverterContextForTest(convertedTypesOaOnSticky, {
531
+ entitySet: "TestEntity",
532
+ converterType: TemplateType.ListReport
533
+ });
534
+ });
535
+
536
+ it("No newAction is set", () => {
537
+ const action = getNewAction(BASIC_CONTEXT_LR);
538
+ expect(action).toEqual(undefined);
539
+ });
540
+
541
+ it("No OperationAvailable is set", () => {
542
+ const action = getNewAction(NEW_ACTION_NO_OA);
543
+ expect(action.name).toEqual("sap.fe.test.JestService.myNewAction");
544
+ expect(action.available).toEqual(constant(true));
545
+ });
546
+
547
+ it("OperationAvailable set to true", () => {
548
+ const action = getNewAction(NEW_ACTION_OA_TRUE);
549
+ expect(action.name).toEqual("sap.fe.test.JestService.myNewAction");
550
+ expect(action.available).toEqual(constant(true));
551
+ });
552
+
553
+ it("OperationAvailable set to false", () => {
554
+ const action = getNewAction(NEW_ACTION_OA_FALSE);
555
+ expect(action.name).toEqual("sap.fe.test.JestService.myNewAction");
556
+ expect(action.available).toEqual(constant(false));
557
+ });
558
+
559
+ it("OperationAvailable set on sticky entitySet", () => {
560
+ const action = getNewAction(NEW_ACTION_OA_ON_STICKY);
561
+ expect(action.name).toEqual("sap.fe.test.JestService.myNewAction");
562
+ expect(action.available).toEqual(constant(true));
563
+ });
564
+ });
565
+
566
+ describe("Table Converter - Standard actions - Do we need to template the insert/update actions", function() {
567
+ it("Depends only of create visibility, external create and draft/sticky mode", () => {
568
+ expect(
569
+ getInsertUpdateActionsTemplating(
570
+ {
571
+ isExternalCreateConfigured: true
572
+ } as any,
573
+ true,
574
+ true
575
+ )
576
+ ).toEqual(false);
577
+
578
+ expect(
579
+ getInsertUpdateActionsTemplating(
580
+ {
581
+ isExternalCreateConfigured: true
582
+ } as any,
583
+ true,
584
+ false
585
+ )
586
+ ).toEqual(true);
587
+
588
+ expect(
589
+ getInsertUpdateActionsTemplating(
590
+ {
591
+ isExternalCreateConfigured: false
592
+ } as any,
593
+ true,
594
+ false
595
+ )
596
+ ).toEqual(true);
597
+
598
+ expect(
599
+ getInsertUpdateActionsTemplating(
600
+ {
601
+ isExternalCreateConfigured: true
602
+ } as any,
603
+ false,
604
+ false
605
+ )
606
+ ).toEqual(true);
607
+
608
+ expect(
609
+ getInsertUpdateActionsTemplating(
610
+ {
611
+ isExternalCreateConfigured: false
612
+ } as any,
613
+ false,
614
+ false
615
+ )
616
+ ).toEqual(false);
617
+ });
618
+ });
619
+
620
+ describe("Table Converter - Standard actions - Create visibility ", function() {
621
+ it("If it's statically not insertable -> Create is not visible", () => {
622
+ expect(
623
+ compileBinding(
624
+ getCreateVisibility(BASIC_CONTEXT_LR, {
625
+ isExternalCreateConfigured: false,
626
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
627
+ restrictions: NOT_INSERTABLE
628
+ } as any)
629
+ )
630
+ ).toEqual("false");
631
+
632
+ expect(
633
+ compileBinding(
634
+ getCreateVisibility(BASIC_CONTEXT_LR, {
635
+ isExternalCreateConfigured: true,
636
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
637
+ restrictions: NOT_INSERTABLE
638
+ } as any)
639
+ )
640
+ ).toEqual("true");
641
+
642
+ expect(
643
+ compileBinding(
644
+ getCreateVisibility(BASIC_CONTEXT_OP, {
645
+ isExternalCreateConfigured: false,
646
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
647
+ restrictions: NOT_INSERTABLE
648
+ } as any)
649
+ )
650
+ ).toEqual("false");
651
+
652
+ expect(
653
+ compileBinding(
654
+ getCreateVisibility(BASIC_CONTEXT_OP, {
655
+ isExternalCreateConfigured: true,
656
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
657
+ restrictions: NOT_INSERTABLE
658
+ } as any)
659
+ )
660
+ ).toEqual("{ui>/isEditable}");
661
+ });
662
+
663
+ it("If Create is statically hidden -> Create is not visible", () => {
664
+ expect(
665
+ compileBinding(
666
+ getCreateVisibility(BASIC_CONTEXT_LR, {
667
+ isExternalCreateConfigured: false,
668
+ hiddenAnnotation: HIDDEN_CREATE,
669
+ restrictions: INSERTABLE
670
+ } as any)
671
+ )
672
+ ).toEqual("false");
673
+
674
+ expect(
675
+ compileBinding(
676
+ getCreateVisibility(BASIC_CONTEXT_LR, {
677
+ isExternalCreateConfigured: true,
678
+ hiddenAnnotation: HIDDEN_CREATE,
679
+ restrictions: INSERTABLE
680
+ } as any)
681
+ )
682
+ ).toEqual("false");
683
+
684
+ expect(
685
+ compileBinding(
686
+ getCreateVisibility(BASIC_CONTEXT_OP, {
687
+ isExternalCreateConfigured: false,
688
+ hiddenAnnotation: HIDDEN_CREATE,
689
+ restrictions: INSERTABLE
690
+ } as any)
691
+ )
692
+ ).toEqual("false");
693
+
694
+ expect(
695
+ compileBinding(
696
+ getCreateVisibility(BASIC_CONTEXT_OP, {
697
+ isExternalCreateConfigured: true,
698
+ hiddenAnnotation: HIDDEN_CREATE,
699
+ restrictions: INSERTABLE
700
+ } as any)
701
+ )
702
+ ).toEqual("false");
703
+ });
704
+
705
+ it("Otherwise if the Create mode is external -> Create is visible", () => {
706
+ expect(
707
+ compileBinding(
708
+ getCreateVisibility(BASIC_CONTEXT_LR, {
709
+ isExternalCreateConfigured: true,
710
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
711
+ restrictions: INSERTABLE
712
+ } as any)
713
+ )
714
+ ).toEqual("true");
715
+
716
+ expect(
717
+ compileBinding(
718
+ getCreateVisibility(BASIC_CONTEXT_OP, {
719
+ isExternalCreateConfigured: true,
720
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
721
+ restrictions: INSERTABLE
722
+ } as any)
723
+ )
724
+ ).toEqual("{ui>/isEditable}");
725
+
726
+ expect(
727
+ compileBinding(
728
+ getCreateVisibility(BASIC_CONTEXT_LR, {
729
+ isExternalCreateConfigured: true,
730
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
731
+ restrictions: DYNAMIC_INSERTABLE
732
+ } as any)
733
+ )
734
+ ).toEqual("true");
735
+
736
+ expect(
737
+ compileBinding(
738
+ getCreateVisibility(BASIC_CONTEXT_OP, {
739
+ isExternalCreateConfigured: true,
740
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
741
+ restrictions: DYNAMIC_INSERTABLE
742
+ } as any)
743
+ )
744
+ ).toEqual("{ui>/isEditable}");
745
+
746
+ expect(
747
+ compileBinding(
748
+ getCreateVisibility(BASIC_CONTEXT_LR, {
749
+ isExternalCreateConfigured: true,
750
+ hiddenAnnotation: DYNAMIC_HIDDEN_CREATE,
751
+ restrictions: INSERTABLE
752
+ } as any)
753
+ )
754
+ ).toEqual("{= !%{SomeDynamicHiddenCreate}}");
755
+
756
+ expect(
757
+ compileBinding(
758
+ getCreateVisibility(BASIC_CONTEXT_OP, {
759
+ isExternalCreateConfigured: true,
760
+ hiddenAnnotation: DYNAMIC_HIDDEN_CREATE,
761
+ restrictions: INSERTABLE
762
+ } as any)
763
+ )
764
+ ).toEqual("{= !%{SomeDynamicHiddenCreate} && %{ui>/isEditable}}");
765
+
766
+ expect(
767
+ compileBinding(
768
+ getCreateVisibility(BASIC_CONTEXT_LR, {
769
+ isExternalCreateConfigured: true,
770
+ hiddenAnnotation: DYNAMIC_HIDDEN_CREATE,
771
+ restrictions: DYNAMIC_INSERTABLE
772
+ } as any)
773
+ )
774
+ ).toEqual("{= !%{SomeDynamicHiddenCreate}}");
775
+
776
+ expect(
777
+ compileBinding(
778
+ getCreateVisibility(BASIC_CONTEXT_OP, {
779
+ isExternalCreateConfigured: true,
780
+ hiddenAnnotation: DYNAMIC_HIDDEN_CREATE,
781
+ restrictions: DYNAMIC_INSERTABLE
782
+ } as any)
783
+ )
784
+ ).toEqual("{= !%{SomeDynamicHiddenCreate} && %{ui>/isEditable}}");
785
+ });
786
+
787
+ it("If we're on the list report -> Create is visible", () => {
788
+ expect(
789
+ compileBinding(
790
+ getCreateVisibility(BASIC_CONTEXT_LR, {
791
+ isExternalCreateConfigured: false,
792
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
793
+ restrictions: INSERTABLE
794
+ } as any)
795
+ )
796
+ ).toEqual("true");
797
+
798
+ expect(
799
+ compileBinding(
800
+ getCreateVisibility(BASIC_CONTEXT_LR, {
801
+ isExternalCreateConfigured: false,
802
+ hiddenAnnotation: DYNAMIC_HIDDEN_CREATE,
803
+ restrictions: INSERTABLE
804
+ } as any)
805
+ )
806
+ ).toEqual("{= !%{SomeDynamicHiddenCreate}}");
807
+
808
+ expect(
809
+ compileBinding(
810
+ getCreateVisibility(BASIC_CONTEXT_LR, {
811
+ isExternalCreateConfigured: false,
812
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
813
+ restrictions: DYNAMIC_INSERTABLE
814
+ } as any)
815
+ )
816
+ ).toEqual("true");
817
+
818
+ expect(
819
+ compileBinding(
820
+ getCreateVisibility(BASIC_CONTEXT_LR, {
821
+ isExternalCreateConfigured: false,
822
+ hiddenAnnotation: DYNAMIC_HIDDEN_CREATE,
823
+ restrictions: DYNAMIC_INSERTABLE
824
+ } as any)
825
+ )
826
+ ).toEqual("{= !%{SomeDynamicHiddenCreate}}");
827
+ });
828
+
829
+ it("Otherwise this depends on the value of the the UI.IsEditable", () => {
830
+ expect(
831
+ compileBinding(
832
+ getCreateVisibility(BASIC_CONTEXT_OP, {
833
+ isExternalCreateConfigured: false,
834
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
835
+ restrictions: INSERTABLE
836
+ } as any)
837
+ )
838
+ ).toEqual(compileBinding(UI.IsEditable));
839
+
840
+ expect(
841
+ compileBinding(
842
+ getCreateVisibility(BASIC_CONTEXT_OP, {
843
+ isExternalCreateConfigured: false,
844
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
845
+ restrictions: DYNAMIC_INSERTABLE
846
+ } as any)
847
+ )
848
+ ).toEqual(compileBinding(UI.IsEditable));
849
+
850
+ expect(
851
+ compileBinding(
852
+ getCreateVisibility(BASIC_CONTEXT_OP, {
853
+ isExternalCreateConfigured: false,
854
+ hiddenAnnotation: DYNAMIC_HIDDEN_CREATE,
855
+ restrictions: INSERTABLE
856
+ } as any)
857
+ )
858
+ ).toEqual("{= !%{SomeDynamicHiddenCreate} && %{ui>/isEditable}}");
859
+
860
+ expect(
861
+ compileBinding(
862
+ getCreateVisibility(BASIC_CONTEXT_OP, {
863
+ isExternalCreateConfigured: false,
864
+ hiddenAnnotation: DYNAMIC_HIDDEN_CREATE,
865
+ restrictions: DYNAMIC_INSERTABLE
866
+ } as any)
867
+ )
868
+ ).toEqual("{= !%{SomeDynamicHiddenCreate} && %{ui>/isEditable}}");
869
+ });
870
+
871
+ it("If a New Action exists Create depends on the Core.OperationAvailable annotation", () => {
872
+ expect(
873
+ compileBinding(
874
+ getCreateVisibility(BASIC_CONTEXT_LR, {
875
+ isExternalCreateConfigured: false,
876
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
877
+ newAction: AVAILABLE_NEW_ACTION,
878
+ restrictions: INSERTABLE
879
+ } as any)
880
+ )
881
+ ).toEqual("true");
882
+
883
+ expect(
884
+ compileBinding(
885
+ getCreateVisibility(BASIC_CONTEXT_LR, {
886
+ isExternalCreateConfigured: false,
887
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
888
+ newAction: AVAILABLE_NEW_ACTION,
889
+ restrictions: NOT_INSERTABLE
890
+ } as any)
891
+ )
892
+ ).toEqual("true");
893
+
894
+ expect(
895
+ compileBinding(
896
+ getCreateVisibility(BASIC_CONTEXT_LR, {
897
+ isExternalCreateConfigured: false,
898
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
899
+ newAction: DYNAMIC_NEW_ACTION,
900
+ restrictions: INSERTABLE
901
+ } as any)
902
+ )
903
+ ).toEqual("true");
904
+
905
+ expect(
906
+ compileBinding(
907
+ getCreateVisibility(BASIC_CONTEXT_LR, {
908
+ isExternalCreateConfigured: false,
909
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
910
+ newAction: DYNAMIC_NEW_ACTION,
911
+ restrictions: NOT_INSERTABLE
912
+ } as any)
913
+ )
914
+ ).toEqual("true");
915
+
916
+ expect(
917
+ compileBinding(
918
+ getCreateVisibility(BASIC_CONTEXT_LR, {
919
+ isExternalCreateConfigured: false,
920
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
921
+ newAction: NOT_AVAILABLE_NEW_ACTION,
922
+ restrictions: INSERTABLE
923
+ } as any)
924
+ )
925
+ ).toEqual("false");
926
+
927
+ expect(
928
+ compileBinding(
929
+ getCreateVisibility(BASIC_CONTEXT_LR, {
930
+ isExternalCreateConfigured: false,
931
+ hiddenAnnotation: NOT_HIDDEN_CREATE,
932
+ newAction: NOT_AVAILABLE_NEW_ACTION,
933
+ restrictions: NOT_INSERTABLE
934
+ } as any)
935
+ )
936
+ ).toEqual("false");
937
+ });
938
+ });
939
+
940
+ describe("Table Converter - Standard actions - Create Templating ", function() {
941
+ it("Create is not visible", () => {
942
+ expect(
943
+ getCreateTemplating(
944
+ {
945
+ tableManifestConfiguration: {
946
+ creationMode: CreationMode.Inline
947
+ },
948
+ isExternalCreateConfigured: false,
949
+ restrictions: INSERTABLE
950
+ } as any,
951
+ constant(false)
952
+ )
953
+ ).toEqual(constant(false));
954
+
955
+ expect(
956
+ getCreateTemplating(
957
+ {
958
+ tableManifestConfiguration: {
959
+ creationMode: CreationMode.CreationRow
960
+ },
961
+ isExternalCreateConfigured: false,
962
+ restrictions: INSERTABLE
963
+ } as any,
964
+ constant(false)
965
+ )
966
+ ).toEqual(constant(false));
967
+ });
968
+
969
+ it("Create visibility is dynamic", () => {
970
+ expect(
971
+ getCreateTemplating(
972
+ {
973
+ tableManifestConfiguration: {
974
+ creationMode: CreationMode.CreationRow
975
+ },
976
+ isExternalCreateConfigured: false,
977
+ restrictions: INSERTABLE
978
+ } as any,
979
+ DYNAMIC_CREATE_VISIBILITY
980
+ )
981
+ ).toEqual(constant(false));
982
+
983
+ expect(
984
+ getCreateTemplating(
985
+ {
986
+ tableManifestConfiguration: {
987
+ creationMode: CreationMode.Inline
988
+ },
989
+ isExternalCreateConfigured: false,
990
+ newAction: NOT_AVAILABLE_NEW_ACTION,
991
+ restrictions: INSERTABLE
992
+ } as any,
993
+ DYNAMIC_CREATE_VISIBILITY
994
+ )
995
+ ).toEqual(constant(false));
996
+
997
+ expect(
998
+ getCreateTemplating(
999
+ {
1000
+ tableManifestConfiguration: {
1001
+ creationMode: CreationMode.NewPage
1002
+ },
1003
+ isExternalCreateConfigured: false,
1004
+ newAction: AVAILABLE_NEW_ACTION,
1005
+ restrictions: INSERTABLE
1006
+ } as any,
1007
+ DYNAMIC_CREATE_VISIBILITY
1008
+ )
1009
+ ).toEqual(constant(true));
1010
+
1011
+ expect(
1012
+ getCreateTemplating(
1013
+ {
1014
+ tableManifestConfiguration: {
1015
+ creationMode: CreationMode.NewPage
1016
+ },
1017
+ isExternalCreateConfigured: false,
1018
+ newAction: AVAILABLE_NEW_ACTION,
1019
+ restrictions: NOT_INSERTABLE
1020
+ } as any,
1021
+ DYNAMIC_CREATE_VISIBILITY
1022
+ )
1023
+ ).toEqual(constant(false));
1024
+ });
1025
+
1026
+ it("Create is visible", () => {
1027
+ expect(
1028
+ getCreateTemplating(
1029
+ {
1030
+ tableManifestConfiguration: {
1031
+ creationMode: CreationMode.CreationRow
1032
+ },
1033
+ isExternalCreateConfigured: false,
1034
+ restrictions: INSERTABLE
1035
+ } as any,
1036
+ DYNAMIC_CREATE_VISIBILITY
1037
+ )
1038
+ ).toEqual(constant(false));
1039
+
1040
+ expect(
1041
+ getCreateTemplating(
1042
+ {
1043
+ tableManifestConfiguration: {
1044
+ creationMode: CreationMode.Inline
1045
+ },
1046
+ isExternalCreateConfigured: false,
1047
+ newAction: NOT_AVAILABLE_NEW_ACTION,
1048
+ restrictions: INSERTABLE
1049
+ } as any,
1050
+ DYNAMIC_CREATE_VISIBILITY
1051
+ )
1052
+ ).toEqual(constant(false));
1053
+
1054
+ expect(
1055
+ getCreateTemplating(
1056
+ {
1057
+ tableManifestConfiguration: {
1058
+ creationMode: CreationMode.NewPage
1059
+ },
1060
+ isExternalCreateConfigured: false,
1061
+ newAction: AVAILABLE_NEW_ACTION,
1062
+ restrictions: INSERTABLE
1063
+ } as any,
1064
+ DYNAMIC_CREATE_VISIBILITY
1065
+ )
1066
+ ).toEqual(constant(true));
1067
+
1068
+ expect(
1069
+ getCreateTemplating(
1070
+ {
1071
+ tableManifestConfiguration: {
1072
+ creationMode: CreationMode.NewPage
1073
+ },
1074
+ isExternalCreateConfigured: false,
1075
+ newAction: AVAILABLE_NEW_ACTION,
1076
+ restrictions: NOT_INSERTABLE
1077
+ } as any,
1078
+ DYNAMIC_CREATE_VISIBILITY
1079
+ )
1080
+ ).toEqual(constant(false));
1081
+
1082
+ expect(
1083
+ getCreateTemplating(
1084
+ {
1085
+ tableManifestConfiguration: {
1086
+ creationMode: CreationMode.NewPage
1087
+ },
1088
+ isExternalCreateConfigured: false,
1089
+ newAction: AVAILABLE_NEW_ACTION,
1090
+ restrictions: DYNAMIC_INSERTABLE
1091
+ } as any,
1092
+ DYNAMIC_CREATE_VISIBILITY
1093
+ )
1094
+ ).toEqual(constant(true));
1095
+
1096
+ expect(
1097
+ getCreateTemplating(
1098
+ {
1099
+ tableManifestConfiguration: {
1100
+ creationMode: CreationMode.NewPage
1101
+ },
1102
+ isExternalCreateConfigured: true,
1103
+ restrictions: DYNAMIC_INSERTABLE
1104
+ } as any,
1105
+ DYNAMIC_CREATE_VISIBILITY
1106
+ )
1107
+ ).toEqual(constant(true));
1108
+
1109
+ expect(
1110
+ getCreateTemplating(
1111
+ {
1112
+ tableManifestConfiguration: {
1113
+ creationMode: CreationMode.NewPage
1114
+ },
1115
+ isExternalCreateConfigured: true,
1116
+ restrictions: DYNAMIC_INSERTABLE_ONLY_ON_CURRENT
1117
+ } as any,
1118
+ DYNAMIC_CREATE_VISIBILITY
1119
+ )
1120
+ ).toEqual(constant(true));
1121
+ });
1122
+ });
1123
+
1124
+ describe("Table Converter - Standard actions - Create enablement", function() {
1125
+ it("Create is not visible", () => {
1126
+ expect(
1127
+ compileBinding(
1128
+ getCreateEnablement(
1129
+ BASIC_CONTEXT_LR,
1130
+ {
1131
+ collectionPath: "/TestEntity",
1132
+ restrictions: INSERTABLE
1133
+ } as any,
1134
+ constant(false)
1135
+ )
1136
+ )
1137
+ ).toEqual("false");
1138
+ });
1139
+
1140
+ it("Create is visible", () => {
1141
+ expect(
1142
+ compileBinding(
1143
+ getCreateEnablement(
1144
+ BASIC_CONTEXT_LR,
1145
+ {
1146
+ collectionPath: "/TestEntity",
1147
+ restrictions: INSERTABLE
1148
+ } as any,
1149
+ constant(true)
1150
+ )
1151
+ )
1152
+ ).toEqual("true");
1153
+
1154
+ expect(
1155
+ compileBinding(
1156
+ getCreateEnablement(
1157
+ BASIC_CONTEXT_ALP,
1158
+ {
1159
+ collectionPath: "/TestEntity",
1160
+ restrictions: INSERTABLE
1161
+ } as any,
1162
+ constant(true)
1163
+ )
1164
+ )
1165
+ ).toEqual("true");
1166
+
1167
+ expect(
1168
+ compileBinding(
1169
+ getCreateEnablement(
1170
+ BASIC_CONTEXT_OP,
1171
+ {
1172
+ collectionPath: "/TestEntityWithNavigation/_navigation",
1173
+ restrictions: INSERTABLE
1174
+ } as any,
1175
+ constant(true)
1176
+ )
1177
+ )
1178
+ ).toEqual("{= %{ui>/editMode} === 'Editable'}");
1179
+
1180
+ expect(
1181
+ compileBinding(
1182
+ getCreateEnablement(
1183
+ BASIC_CONTEXT_OP,
1184
+ {
1185
+ collectionPath: "/TestEntityWithNavigation/_navigation",
1186
+ restrictions: NOT_INSERTABLE
1187
+ } as any,
1188
+ constant(true)
1189
+ )
1190
+ )
1191
+ ).toEqual("false");
1192
+ });
1193
+
1194
+ it("Create visibility is dynamic", () => {
1195
+ expect(
1196
+ compileBinding(
1197
+ getCreateEnablement(
1198
+ BASIC_CONTEXT_LR,
1199
+ {
1200
+ collectionPath: "/TestEntity",
1201
+ restrictions: INSERTABLE
1202
+ } as any,
1203
+ DUMMY_DYNAMIC_BINDING
1204
+ )
1205
+ )
1206
+ ).toEqual("{= %{dummyExpression} !== false}");
1207
+
1208
+ expect(
1209
+ compileBinding(
1210
+ getCreateEnablement(
1211
+ BASIC_CONTEXT_ALP,
1212
+ {
1213
+ collectionPath: "/TestEntity",
1214
+ restrictions: INSERTABLE
1215
+ } as any,
1216
+ DUMMY_DYNAMIC_BINDING
1217
+ )
1218
+ )
1219
+ ).toEqual("{= %{dummyExpression} !== false}");
1220
+
1221
+ expect(
1222
+ compileBinding(
1223
+ getCreateEnablement(
1224
+ BASIC_CONTEXT_OP,
1225
+ {
1226
+ collectionPath: "/TestEntityWithNavigation/_navigation",
1227
+ restrictions: INSERTABLE
1228
+ } as any,
1229
+ DUMMY_DYNAMIC_BINDING
1230
+ )
1231
+ )
1232
+ ).toEqual("{= %{dummyExpression} !== false && %{ui>/editMode} === 'Editable'}");
1233
+
1234
+ expect(
1235
+ compileBinding(
1236
+ getCreateEnablement(
1237
+ BASIC_CONTEXT_OP,
1238
+ {
1239
+ collectionPath: "/TestEntityWithNavigation/_navigation",
1240
+ restrictions: NOT_INSERTABLE
1241
+ } as any,
1242
+ DUMMY_DYNAMIC_BINDING
1243
+ )
1244
+ )
1245
+ ).toEqual("false");
1246
+ });
1247
+ });
1248
+
1249
+ describe("Table Converter - Standard actions - Delete visibility ", function() {
1250
+ it("Multi visualizations or ALP-> not visible (prerequisite)", () => {
1251
+ expect(
1252
+ compileBinding(
1253
+ getDeleteVisibility(BASIC_CONTEXT_LR, {
1254
+ isDraftOrStickySupported: true,
1255
+ isViewWithMultipleVisualizations: true,
1256
+ restrictions: DELETABLE,
1257
+ hiddenAnnotation: NOT_HIDDEN_DELETE
1258
+ } as any)
1259
+ )
1260
+ ).toEqual("false");
1261
+ expect(
1262
+ compileBinding(
1263
+ getDeleteVisibility(BASIC_CONTEXT_ALP, {
1264
+ isViewWithMultipleVisualizations: true,
1265
+ restrictions: DELETABLE,
1266
+ hiddenAnnotation: NOT_HIDDEN_DELETE
1267
+ } as any)
1268
+ )
1269
+ ).toEqual("false");
1270
+ expect(
1271
+ compileBinding(
1272
+ getDeleteVisibility(BASIC_CONTEXT_ALP, {
1273
+ isViewWithMultipleVisualizations: false,
1274
+ restrictions: DELETABLE,
1275
+ hiddenAnnotation: NOT_HIDDEN_DELETE
1276
+ } as any)
1277
+ )
1278
+ ).toEqual("false");
1279
+ });
1280
+
1281
+ it("on List Report", () => {
1282
+ expect(
1283
+ compileBinding(
1284
+ getDeleteVisibility(BASIC_CONTEXT_LR, {
1285
+ isDraftOrStickySupported: true,
1286
+ isViewWithMultipleVisualizations: false,
1287
+ restrictions: DELETABLE,
1288
+ hiddenAnnotation: NOT_HIDDEN_DELETE
1289
+ } as any)
1290
+ )
1291
+ ).toEqual("true");
1292
+
1293
+ expect(
1294
+ compileBinding(
1295
+ getDeleteVisibility(BASIC_CONTEXT_LR, {
1296
+ isDraftOrStickySupported: true,
1297
+ isViewWithMultipleVisualizations: false,
1298
+ restrictions: DELETABLE,
1299
+ hiddenAnnotation: HIDDEN_DELETE
1300
+ } as any)
1301
+ )
1302
+ ).toEqual("false");
1303
+
1304
+ expect(
1305
+ compileBinding(
1306
+ getDeleteVisibility(BASIC_CONTEXT_LR, {
1307
+ isDraftOrStickySupported: true,
1308
+ isViewWithMultipleVisualizations: false,
1309
+ restrictions: NOT_DELETABLE,
1310
+ hiddenAnnotation: NOT_HIDDEN_DELETE
1311
+ } as any)
1312
+ )
1313
+ ).toEqual("false");
1314
+
1315
+ expect(
1316
+ compileBinding(
1317
+ getDeleteVisibility(BASIC_CONTEXT_LR, {
1318
+ isDraftOrStickySupported: true,
1319
+ isViewWithMultipleVisualizations: false,
1320
+ restrictions: DELETABLE,
1321
+ hiddenAnnotation: DYNAMIC_HIDDEN_DELETE
1322
+ } as any)
1323
+ )
1324
+ ).toEqual("{= !%{SomeDynamicHiddenDelete}}");
1325
+
1326
+ expect(
1327
+ compileBinding(
1328
+ getDeleteVisibility(BASIC_CONTEXT_LR, {
1329
+ isDraftOrStickySupported: true,
1330
+ isViewWithMultipleVisualizations: false,
1331
+ restrictions: DYNAMIC_DELETABLE,
1332
+ hiddenAnnotation: NOT_HIDDEN_DELETE
1333
+ } as any)
1334
+ )
1335
+ ).toEqual("true");
1336
+
1337
+ expect(
1338
+ compileBinding(
1339
+ getDeleteVisibility(BASIC_CONTEXT_LR, {
1340
+ isDraftOrStickySupported: true,
1341
+ isViewWithMultipleVisualizations: false,
1342
+ restrictions: DYNAMIC_DELETABLE,
1343
+ hiddenAnnotation: DYNAMIC_HIDDEN_DELETE
1344
+ } as any)
1345
+ )
1346
+ ).toEqual("{= !%{SomeDynamicHiddenDelete}}");
1347
+ });
1348
+
1349
+ it("on ObjectPage", () => {
1350
+ expect(
1351
+ compileBinding(
1352
+ getDeleteVisibility(BASIC_CONTEXT_OP, {
1353
+ isDraftOrStickySupported: true,
1354
+ isViewWithMultipleVisualizations: false,
1355
+ restrictions: DELETABLE,
1356
+ hiddenAnnotation: NOT_HIDDEN_DELETE
1357
+ } as any)
1358
+ )
1359
+ ).toEqual("{= %{ui>/editMode} === 'Editable'}");
1360
+
1361
+ expect(
1362
+ compileBinding(
1363
+ getDeleteVisibility(BASIC_CONTEXT_OP, {
1364
+ isDraftOrStickySupported: true,
1365
+ isViewWithMultipleVisualizations: false,
1366
+ restrictions: DELETABLE,
1367
+ hiddenAnnotation: HIDDEN_DELETE
1368
+ } as any)
1369
+ )
1370
+ ).toEqual("false");
1371
+
1372
+ expect(
1373
+ compileBinding(
1374
+ getDeleteVisibility(BASIC_CONTEXT_OP, {
1375
+ isDraftOrStickySupported: true,
1376
+ isViewWithMultipleVisualizations: false,
1377
+ restrictions: NOT_DELETABLE,
1378
+ hiddenAnnotation: NOT_HIDDEN_DELETE
1379
+ } as any)
1380
+ )
1381
+ ).toEqual("false");
1382
+
1383
+ expect(
1384
+ compileBinding(
1385
+ getDeleteVisibility(BASIC_CONTEXT_OP, {
1386
+ isDraftOrStickySupported: true,
1387
+ isViewWithMultipleVisualizations: false,
1388
+ restrictions: DELETABLE,
1389
+ hiddenAnnotation: DYNAMIC_HIDDEN_DELETE
1390
+ } as any)
1391
+ )
1392
+ ).toEqual("{= !%{SomeDynamicHiddenDelete} && %{ui>/editMode} === 'Editable'}");
1393
+
1394
+ expect(
1395
+ compileBinding(
1396
+ getDeleteVisibility(BASIC_CONTEXT_OP, {
1397
+ isDraftOrStickySupported: true,
1398
+ isViewWithMultipleVisualizations: false,
1399
+ restrictions: DYNAMIC_DELETABLE,
1400
+ hiddenAnnotation: NOT_HIDDEN_DELETE
1401
+ } as any)
1402
+ )
1403
+ ).toEqual("{= %{ui>/editMode} === 'Editable'}");
1404
+
1405
+ expect(
1406
+ compileBinding(
1407
+ getDeleteVisibility(BASIC_CONTEXT_OP, {
1408
+ isDraftOrStickySupported: true,
1409
+ isViewWithMultipleVisualizations: false,
1410
+ restrictions: DYNAMIC_DELETABLE,
1411
+ hiddenAnnotation: DYNAMIC_HIDDEN_DELETE
1412
+ } as any)
1413
+ )
1414
+ ).toEqual("{= !%{SomeDynamicHiddenDelete} && %{ui>/editMode} === 'Editable'}");
1415
+ });
1416
+ });
1417
+
1418
+ describe("Table Converter - Standard actions - Delete enablement", function() {
1419
+ it("Delete is not visible", () => {
1420
+ expect(
1421
+ compileBinding(
1422
+ getDeleteEnablement(
1423
+ BASIC_CONTEXT_LR,
1424
+ {
1425
+ restrictions: DELETABLE
1426
+ } as any,
1427
+ constant(false)
1428
+ )
1429
+ )
1430
+ ).toEqual("false");
1431
+
1432
+ expect(
1433
+ compileBinding(
1434
+ getDeleteEnablement(
1435
+ BASIC_CONTEXT_OP,
1436
+ {
1437
+ restrictions: DELETABLE
1438
+ } as any,
1439
+ constant(false)
1440
+ )
1441
+ )
1442
+ ).toEqual("false");
1443
+ });
1444
+
1445
+ it("Delete is visible", () => {
1446
+ expect(
1447
+ compileBinding(
1448
+ getDeleteEnablement(
1449
+ BASIC_CONTEXT_LR,
1450
+ {
1451
+ restrictions: DYNAMIC_DELETABLE_ONLY_ON_CURRENT
1452
+ } as any,
1453
+ constant(true)
1454
+ )
1455
+ )
1456
+ ).toEqual(
1457
+ "{= ((%{internal>deletableContexts} !== undefined && (%{internal>deletableContexts}.length) > 0) || (%{internal>unSavedContexts} !== undefined && (%{internal>unSavedContexts}.length) > 0)) && %{internal>deleteEnabled}}"
1458
+ );
1459
+
1460
+ expect(
1461
+ compileBinding(
1462
+ getDeleteEnablement(
1463
+ BASIC_CONTEXT_LR,
1464
+ {
1465
+ restrictions: DELETABLE
1466
+ } as any,
1467
+ constant(true)
1468
+ )
1469
+ )
1470
+ ).toEqual(
1471
+ "{= ((%{internal>deletableContexts} !== undefined && (%{internal>deletableContexts}.length) > 0) || (%{internal>unSavedContexts} !== undefined && (%{internal>unSavedContexts}.length) > 0)) && %{internal>deleteEnabled}}"
1472
+ );
1473
+
1474
+ expect(
1475
+ compileBinding(
1476
+ getDeleteEnablement(
1477
+ BASIC_CONTEXT_OP,
1478
+ {
1479
+ restrictions: DYNAMIC_DELETABLE_ONLY_ON_CURRENT
1480
+ } as any,
1481
+ constant(true)
1482
+ )
1483
+ )
1484
+ ).toEqual(
1485
+ "{= ((%{internal>deletableContexts} !== undefined && (%{internal>deletableContexts}.length) > 0) || (%{internal>unSavedContexts} !== undefined && (%{internal>unSavedContexts}.length) > 0)) && %{internal>deleteEnabled}}"
1486
+ );
1487
+
1488
+ expect(
1489
+ compileBinding(
1490
+ getDeleteEnablement(
1491
+ BASIC_CONTEXT_OP,
1492
+ {
1493
+ restrictions: DYNAMIC_DELETABLE
1494
+ } as any,
1495
+ constant(true)
1496
+ )
1497
+ )
1498
+ ).toEqual("{= %{internal>numberOfSelectedContexts} !== 0 && %{SomeDynamicDeletable}}");
1499
+ });
1500
+
1501
+ it("Delete visibility is dynamic", () => {
1502
+ expect(
1503
+ compileBinding(
1504
+ getDeleteEnablement(
1505
+ BASIC_CONTEXT_LR,
1506
+ {
1507
+ restrictions: DYNAMIC_DELETABLE_ONLY_ON_CURRENT
1508
+ } as any,
1509
+ DUMMY_DYNAMIC_BINDING
1510
+ )
1511
+ )
1512
+ ).toEqual(
1513
+ "{= %{dummyExpression} !== false && ((%{internal>deletableContexts} !== undefined && (%{internal>deletableContexts}.length) > 0) || (%{internal>unSavedContexts} !== undefined && (%{internal>unSavedContexts}.length) > 0)) && %{internal>deleteEnabled}}"
1514
+ );
1515
+
1516
+ expect(
1517
+ compileBinding(
1518
+ getDeleteEnablement(
1519
+ BASIC_CONTEXT_LR,
1520
+ {
1521
+ restrictions: DELETABLE
1522
+ } as any,
1523
+ DUMMY_DYNAMIC_BINDING
1524
+ )
1525
+ )
1526
+ ).toEqual(
1527
+ "{= %{dummyExpression} !== false && ((%{internal>deletableContexts} !== undefined && (%{internal>deletableContexts}.length) > 0) || (%{internal>unSavedContexts} !== undefined && (%{internal>unSavedContexts}.length) > 0)) && %{internal>deleteEnabled}}"
1528
+ );
1529
+
1530
+ expect(
1531
+ compileBinding(
1532
+ getDeleteEnablement(
1533
+ BASIC_CONTEXT_OP,
1534
+ {
1535
+ restrictions: DYNAMIC_DELETABLE_ONLY_ON_CURRENT
1536
+ } as any,
1537
+ DUMMY_DYNAMIC_BINDING
1538
+ )
1539
+ )
1540
+ ).toEqual(
1541
+ "{= %{dummyExpression} !== false && ((%{internal>deletableContexts} !== undefined && (%{internal>deletableContexts}.length) > 0) || (%{internal>unSavedContexts} !== undefined && (%{internal>unSavedContexts}.length) > 0)) && %{internal>deleteEnabled}}"
1542
+ );
1543
+
1544
+ expect(
1545
+ compileBinding(
1546
+ getDeleteEnablement(
1547
+ BASIC_CONTEXT_OP,
1548
+ {
1549
+ restrictions: DYNAMIC_DELETABLE
1550
+ } as any,
1551
+ DUMMY_DYNAMIC_BINDING
1552
+ )
1553
+ )
1554
+ ).toEqual("{= %{dummyExpression} !== false && %{internal>numberOfSelectedContexts} !== 0 && %{SomeDynamicDeletable}}");
1555
+ });
1556
+ });
1557
+
1558
+ describe("Table Converter - Standard actions - Paste visibility ", function() {
1559
+ it("Paste disabled into the manifest", () => {
1560
+ expect(
1561
+ compileBinding(
1562
+ getPasteVisibility(
1563
+ BASIC_CONTEXT_OP,
1564
+ {
1565
+ tableManifestConfiguration: {
1566
+ enablePaste: false
1567
+ },
1568
+ restrictions: INSERTABLE
1569
+ } as any,
1570
+ constant(true)
1571
+ )
1572
+ )
1573
+ ).toEqual("false");
1574
+ });
1575
+
1576
+ it("Paste should be always disabled if we are not on Object Page", () => {
1577
+ expect(
1578
+ compileBinding(
1579
+ getPasteVisibility(
1580
+ BASIC_CONTEXT_LR,
1581
+ {
1582
+ tableManifestConfiguration: {
1583
+ enablePaste: true
1584
+ },
1585
+ restrictions: INSERTABLE
1586
+ } as any,
1587
+ constant(true)
1588
+ )
1589
+ )
1590
+ ).toEqual("false");
1591
+
1592
+ expect(
1593
+ compileBinding(
1594
+ getPasteVisibility(
1595
+ BASIC_CONTEXT_ALP,
1596
+ {
1597
+ tableManifestConfiguration: {
1598
+ enablePaste: true
1599
+ },
1600
+ restrictions: INSERTABLE
1601
+ } as any,
1602
+ constant(true)
1603
+ )
1604
+ )
1605
+ ).toEqual("false");
1606
+ });
1607
+
1608
+ it("Paste on Object Page depends of Create visibility and insertable restrictions", () => {
1609
+ expect(
1610
+ compileBinding(
1611
+ getPasteVisibility(
1612
+ BASIC_CONTEXT_OP,
1613
+ {
1614
+ tableManifestConfiguration: {
1615
+ enablePaste: true
1616
+ },
1617
+ restrictions: DYNAMIC_INSERTABLE
1618
+ } as any,
1619
+ DUMMY_DYNAMIC_BINDING
1620
+ )
1621
+ )
1622
+ ).toEqual("{= %{dummyExpression} === true && %{SomeDynamicInsertable}}");
1623
+
1624
+ expect(
1625
+ compileBinding(
1626
+ getPasteVisibility(
1627
+ BASIC_CONTEXT_OP,
1628
+ {
1629
+ tableManifestConfiguration: {
1630
+ enablePaste: true
1631
+ },
1632
+ restrictions: DYNAMIC_INSERTABLE
1633
+ } as any,
1634
+ constant(true)
1635
+ )
1636
+ )
1637
+ ).toEqual("{SomeDynamicInsertable}");
1638
+
1639
+ expect(
1640
+ compileBinding(
1641
+ getPasteVisibility(
1642
+ BASIC_CONTEXT_OP,
1643
+ {
1644
+ tableManifestConfiguration: {
1645
+ enablePaste: true
1646
+ },
1647
+ restrictions: INSERTABLE
1648
+ } as any,
1649
+ constant(true)
1650
+ )
1651
+ )
1652
+ ).toEqual("true");
1653
+
1654
+ expect(
1655
+ compileBinding(
1656
+ getPasteVisibility(
1657
+ BASIC_CONTEXT_OP,
1658
+ {
1659
+ tableManifestConfiguration: {
1660
+ enablePaste: true
1661
+ },
1662
+ restrictions: INSERTABLE
1663
+ } as any,
1664
+ constant(false)
1665
+ )
1666
+ )
1667
+ ).toEqual("false");
1668
+ });
1669
+ });
1670
+
1671
+ describe("Table Converter - Standard actions - Default Templating ", function() {
1672
+ it("it should be only depending of action visibility", () => {
1673
+ expect(getDefaultTemplating(constant(true))).toEqual(constant(true));
1674
+
1675
+ expect(getDefaultTemplating(constant(false))).toEqual(constant(false));
1676
+
1677
+ expect(getDefaultTemplating(bindingExpression("SomeDynamicExpression"))).toEqual(constant(true));
1678
+ });
1679
+ });
1680
+
1681
+ describe("Table Converter - Standard actions - MassEdit visibility ", function() {
1682
+ it("MassEdit disabled into the manifest or not provided", () => {
1683
+ expect(
1684
+ compileBinding(
1685
+ getMassEditVisibility(
1686
+ BASIC_CONTEXT_OP,
1687
+ {
1688
+ tableManifestConfiguration: {},
1689
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1690
+ restrictions: UPDATABLE
1691
+ } as any,
1692
+ SelectionMode.Multi
1693
+ )
1694
+ )
1695
+ ).toEqual("false");
1696
+
1697
+ expect(
1698
+ compileBinding(
1699
+ getMassEditVisibility(
1700
+ BASIC_CONTEXT_LR,
1701
+ {
1702
+ tableManifestConfiguration: {},
1703
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1704
+ restrictions: UPDATABLE
1705
+ } as any,
1706
+ SelectionMode.Multi
1707
+ )
1708
+ )
1709
+ ).toEqual("false");
1710
+
1711
+ expect(
1712
+ compileBinding(
1713
+ getMassEditVisibility(
1714
+ BASIC_CONTEXT_OP,
1715
+ {
1716
+ tableManifestConfiguration: {
1717
+ enableMassEdit: false
1718
+ },
1719
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1720
+ restrictions: UPDATABLE
1721
+ } as any,
1722
+ SelectionMode.Multi
1723
+ )
1724
+ )
1725
+ ).toEqual("false");
1726
+
1727
+ expect(
1728
+ compileBinding(
1729
+ getMassEditVisibility(
1730
+ BASIC_CONTEXT_LR,
1731
+ {
1732
+ tableManifestConfiguration: {
1733
+ enableMassEdit: false
1734
+ },
1735
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1736
+ restrictions: UPDATABLE
1737
+ } as any,
1738
+ SelectionMode.Multi
1739
+ )
1740
+ )
1741
+ ).toEqual("false");
1742
+ });
1743
+
1744
+ it("MassEdit should be always disabled if restriction is constant", () => {
1745
+ expect(
1746
+ compileBinding(
1747
+ getMassEditVisibility(
1748
+ BASIC_CONTEXT_OP,
1749
+ {
1750
+ tableManifestConfiguration: {
1751
+ enableMassEdit: true
1752
+ },
1753
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1754
+ restrictions: NOT_UPDATABLE
1755
+ } as any,
1756
+ SelectionMode.Multi
1757
+ )
1758
+ )
1759
+ ).toEqual("false");
1760
+
1761
+ expect(
1762
+ compileBinding(
1763
+ getMassEditVisibility(
1764
+ BASIC_CONTEXT_LR,
1765
+ {
1766
+ tableManifestConfiguration: {
1767
+ enableMassEdit: true
1768
+ },
1769
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1770
+ restrictions: NOT_UPDATABLE
1771
+ } as any,
1772
+ SelectionMode.Multi
1773
+ )
1774
+ )
1775
+ ).toEqual("false");
1776
+ });
1777
+
1778
+ it("MassEdit should be always disabled if selectionMode set to Single or selectionLimit < 2", () => {
1779
+ expect(
1780
+ compileBinding(
1781
+ getMassEditVisibility(
1782
+ BASIC_CONTEXT_OP,
1783
+ {
1784
+ tableManifestConfiguration: {
1785
+ enableMassEdit: true
1786
+ },
1787
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1788
+ restrictions: UPDATABLE
1789
+ } as any,
1790
+ SelectionMode.Single
1791
+ )
1792
+ )
1793
+ ).toEqual("false");
1794
+
1795
+ expect(
1796
+ compileBinding(
1797
+ getMassEditVisibility(
1798
+ BASIC_CONTEXT_OP,
1799
+ {
1800
+ tableManifestConfiguration: {
1801
+ enableMassEdit: true,
1802
+ selectionLimit: 1
1803
+ },
1804
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1805
+ restrictions: UPDATABLE
1806
+ } as any,
1807
+ SelectionMode.Multi
1808
+ )
1809
+ )
1810
+ ).toEqual("false");
1811
+
1812
+ expect(
1813
+ compileBinding(
1814
+ getMassEditVisibility(
1815
+ BASIC_CONTEXT_LR,
1816
+ {
1817
+ tableManifestConfiguration: {
1818
+ enableMassEdit: true,
1819
+ selectionLimit: 1
1820
+ },
1821
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1822
+ restrictions: UPDATABLE
1823
+ } as any,
1824
+ SelectionMode.Multi
1825
+ )
1826
+ )
1827
+ ).toEqual("false");
1828
+ });
1829
+
1830
+ it("MassEdit should be always disabled if we are not on Object Page/ListReport", () => {
1831
+ expect(
1832
+ compileBinding(
1833
+ getMassEditVisibility(
1834
+ BASIC_CONTEXT_ALP,
1835
+ {
1836
+ tableManifestConfiguration: {
1837
+ enablePaste: true
1838
+ },
1839
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1840
+ restrictions: UPDATABLE
1841
+ } as any,
1842
+ SelectionMode.Multi
1843
+ )
1844
+ )
1845
+ ).toEqual("false");
1846
+ });
1847
+
1848
+ it("Otherwise on Object Page, it should depends of hiddenAnnotation", () => {
1849
+ expect(
1850
+ compileBinding(
1851
+ getMassEditVisibility(
1852
+ BASIC_CONTEXT_OP,
1853
+ {
1854
+ tableManifestConfiguration: {
1855
+ enableMassEdit: true
1856
+ },
1857
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1858
+ restrictions: DYNAMIC_UPDATABLE
1859
+ } as any,
1860
+ SelectionMode.Multi
1861
+ )
1862
+ )
1863
+ ).toEqual("{= %{ui>/isEditable} === true}");
1864
+
1865
+ expect(
1866
+ compileBinding(
1867
+ getMassEditVisibility(
1868
+ BASIC_CONTEXT_OP,
1869
+ {
1870
+ tableManifestConfiguration: {
1871
+ enableMassEdit: true
1872
+ },
1873
+ hiddenAnnotation: HIDDEN_UPDATE,
1874
+ restrictions: DYNAMIC_UPDATABLE
1875
+ } as any,
1876
+ SelectionMode.Multi
1877
+ )
1878
+ )
1879
+ ).toEqual("false");
1880
+
1881
+ expect(
1882
+ compileBinding(
1883
+ getMassEditVisibility(
1884
+ BASIC_CONTEXT_OP,
1885
+ {
1886
+ tableManifestConfiguration: {
1887
+ enableMassEdit: true
1888
+ },
1889
+ hiddenAnnotation: DYNAMIC_HIDDEN_UPDATE,
1890
+ restrictions: DYNAMIC_UPDATABLE
1891
+ } as any,
1892
+ SelectionMode.Multi
1893
+ )
1894
+ )
1895
+ ).toEqual("{= %{ui>/isEditable} === true && !%{SomeDynamicHiddenUpdate}}");
1896
+ });
1897
+
1898
+ it("Otherwise in ListReport, it should be visible", () => {
1899
+ expect(
1900
+ compileBinding(
1901
+ getMassEditVisibility(
1902
+ BASIC_CONTEXT_LR,
1903
+ {
1904
+ tableManifestConfiguration: {
1905
+ enableMassEdit: true
1906
+ },
1907
+ hiddenAnnotation: NOT_HIDDEN_UPDATE,
1908
+ restrictions: DYNAMIC_UPDATABLE
1909
+ } as any,
1910
+ SelectionMode.Multi
1911
+ )
1912
+ )
1913
+ ).toEqual("true");
1914
+
1915
+ expect(
1916
+ compileBinding(
1917
+ getMassEditVisibility(
1918
+ BASIC_CONTEXT_LR,
1919
+ {
1920
+ tableManifestConfiguration: {
1921
+ enableMassEdit: true
1922
+ },
1923
+ hiddenAnnotation: HIDDEN_UPDATE,
1924
+ restrictions: DYNAMIC_UPDATABLE
1925
+ } as any,
1926
+ SelectionMode.Multi
1927
+ )
1928
+ )
1929
+ ).toEqual("true");
1930
+
1931
+ expect(
1932
+ compileBinding(
1933
+ getMassEditVisibility(
1934
+ BASIC_CONTEXT_LR,
1935
+ {
1936
+ tableManifestConfiguration: {
1937
+ enableMassEdit: true
1938
+ },
1939
+ hiddenAnnotation: DYNAMIC_HIDDEN_UPDATE,
1940
+ restrictions: DYNAMIC_UPDATABLE
1941
+ } as any,
1942
+ SelectionMode.Multi
1943
+ )
1944
+ )
1945
+ ).toEqual("true");
1946
+ });
1947
+ });
1948
+
1949
+ describe("Table Converter - Standard actions - MassEdit Enablement ", function() {
1950
+ it("MassEdit is not visible", () => {
1951
+ expect(
1952
+ compileBinding(
1953
+ getMassEditEnablement(
1954
+ {
1955
+ restrictions: UPDATABLE
1956
+ } as any,
1957
+ constant(false)
1958
+ )
1959
+ )
1960
+ ).toEqual("false");
1961
+ });
1962
+
1963
+ it("MassEdit is visible", () => {
1964
+ expect(
1965
+ compileBinding(
1966
+ getMassEditEnablement(
1967
+ {
1968
+ restrictions: UPDATABLE
1969
+ } as any,
1970
+ constant(true)
1971
+ )
1972
+ )
1973
+ ).toEqual("{= %{internal>numberOfSelectedContexts} >= 2}");
1974
+
1975
+ expect(
1976
+ compileBinding(
1977
+ getMassEditEnablement(
1978
+ {
1979
+ restrictions: NOT_UPDATABLE
1980
+ } as any,
1981
+ constant(true)
1982
+ )
1983
+ )
1984
+ ).toEqual("false");
1985
+
1986
+ expect(
1987
+ compileBinding(
1988
+ getMassEditEnablement(
1989
+ {
1990
+ restrictions: DYNAMIC_UPDATABLE
1991
+ } as any,
1992
+ constant(true)
1993
+ )
1994
+ )
1995
+ ).toEqual("{= %{internal>numberOfSelectedContexts} >= 2 && %{SomeDynamicUpdatable}}");
1996
+
1997
+ expect(
1998
+ compileBinding(
1999
+ getMassEditEnablement(
2000
+ {
2001
+ restrictions: DYNAMIC_UPDATABLE_ONLY_ON_CURRENT
2002
+ } as any,
2003
+ constant(true)
2004
+ )
2005
+ )
2006
+ ).toEqual("{= %{internal>numberOfSelectedContexts} >= 2 && (%{internal>updatableContexts}.length) >= 2}");
2007
+ });
2008
+
2009
+ it("MassEdit visibility is dynamic", () => {
2010
+ expect(
2011
+ compileBinding(
2012
+ getMassEditEnablement(
2013
+ {
2014
+ restrictions: UPDATABLE
2015
+ } as any,
2016
+ DUMMY_DYNAMIC_BINDING
2017
+ )
2018
+ )
2019
+ ).toEqual("{= %{dummyExpression} !== false && %{internal>numberOfSelectedContexts} >= 2}");
2020
+
2021
+ expect(
2022
+ compileBinding(
2023
+ getMassEditEnablement(
2024
+ {
2025
+ restrictions: NOT_UPDATABLE
2026
+ } as any,
2027
+ DUMMY_DYNAMIC_BINDING
2028
+ )
2029
+ )
2030
+ ).toEqual("false");
2031
+
2032
+ expect(
2033
+ compileBinding(
2034
+ getMassEditEnablement(
2035
+ {
2036
+ restrictions: DYNAMIC_UPDATABLE
2037
+ } as any,
2038
+ DUMMY_DYNAMIC_BINDING
2039
+ )
2040
+ )
2041
+ ).toEqual("{= %{dummyExpression} !== false && %{internal>numberOfSelectedContexts} >= 2 && %{SomeDynamicUpdatable}}");
2042
+
2043
+ expect(
2044
+ compileBinding(
2045
+ getMassEditEnablement(
2046
+ {
2047
+ restrictions: DYNAMIC_UPDATABLE_ONLY_ON_CURRENT
2048
+ } as any,
2049
+ DUMMY_DYNAMIC_BINDING
2050
+ )
2051
+ )
2052
+ ).toEqual(
2053
+ "{= %{dummyExpression} !== false && %{internal>numberOfSelectedContexts} >= 2 && (%{internal>updatableContexts}.length) >= 2}"
2054
+ );
2055
+ });
2056
+ });
2057
+
2058
+ describe("Table Converter - Standard actions - Gathering data from functions", function() {
2059
+ //embedded functions are tested into previous tests so here we just check that the following functions collect the data
2060
+
2061
+ it("Generate Context for the standard actions", () => {
2062
+ let context = generateStandardActionsContext(
2063
+ BASIC_CONTEXT_LR_DYNAMIC_HIDDEN,
2064
+ {
2065
+ create: {
2066
+ outbound: "outbound",
2067
+ outboundDetail: {
2068
+ semanticObject: "dummy",
2069
+ action: "dummy"
2070
+ }
2071
+ }
2072
+ },
2073
+ {
2074
+ dummyConfig: "dummy"
2075
+ } as any,
2076
+ {
2077
+ primary: "dummyViewConfigPrimary",
2078
+ secondary: "dummyViewConfigSecondary"
2079
+ } as any
2080
+ );
2081
+ expect(context.collectionPath).toEqual("/TestDynamicActionsHidden");
2082
+ expect(context.hiddenAnnotation).toEqual({
2083
+ "create": bindingExpression("hiddenCreate"),
2084
+ "delete": bindingExpression("hiddenDelete"),
2085
+ "update": bindingExpression("hiddenUpdate")
2086
+ });
2087
+ expect(context.isDraftOrStickySupported).toEqual(false);
2088
+ expect(context.isExternalCreateConfigured).toEqual(true);
2089
+ expect(context.isViewWithMultipleVisualizations).toEqual(true);
2090
+ expect(context.newAction).toEqual(undefined);
2091
+ expect(context.restrictions).toEqual({
2092
+ "isDeletable": { "expression": constant(true), "isOnlyCurrentEntityExpression": false },
2093
+ "isInsertable": { "expression": constant(true), "isOnlyCurrentEntityExpression": false },
2094
+ "isUpdatable": { "expression": constant(true), "isOnlyCurrentEntityExpression": false }
2095
+ });
2096
+ expect(context.tableManifestConfiguration).toEqual({ "dummyConfig": "dummy" });
2097
+
2098
+ context = generateStandardActionsContext(NEW_ACTION_OA_TRUE, {}, { dummyConfig: "dummy" } as any, {} as any);
2099
+
2100
+ expect(context.collectionPath).toEqual("/TestEntity");
2101
+ expect(context.hiddenAnnotation).toEqual({ "create": constant(false), "delete": constant(false), "update": constant(false) });
2102
+ expect(context.isDraftOrStickySupported).toEqual(true);
2103
+ expect(context.isExternalCreateConfigured).toEqual(false);
2104
+ expect(context.isViewWithMultipleVisualizations).toEqual(false);
2105
+ expect(context.newAction).toEqual({ "available": constant(true), "name": "sap.fe.test.JestService.myNewAction" });
2106
+ expect(context.restrictions).toEqual({
2107
+ "isDeletable": { "expression": constant(true), "isOnlyCurrentEntityExpression": false },
2108
+ "isInsertable": { "expression": constant(false), "isOnlyCurrentEntityExpression": true },
2109
+ "isUpdatable": { "expression": constant(true), "isOnlyCurrentEntityExpression": false }
2110
+ });
2111
+ expect(context.tableManifestConfiguration).toEqual({ "dummyConfig": "dummy" });
2112
+ });
2113
+
2114
+ it("Generate binding expression for Action Create", () => {
2115
+ const bindingExpressions = getStandardActionCreate(BASIC_CONTEXT_OP, BASIC_ACTION_CONTEXT);
2116
+ expect(bindingExpressions.isTemplated).toEqual("true");
2117
+ expect(bindingExpressions.enabled).toEqual("{= %{ui>/isEditable} !== false}");
2118
+ expect(bindingExpressions.visible).toEqual("{ui>/isEditable}");
2119
+ });
2120
+
2121
+ it("Generate binding expression for Action Delete", () => {
2122
+ const bindingExpressions = getStandardActionDelete(BASIC_CONTEXT_OP, BASIC_ACTION_CONTEXT);
2123
+ expect(bindingExpressions.isTemplated).toEqual("true");
2124
+ expect(bindingExpressions.enabled).toEqual(
2125
+ "{= (%{ui>/editMode} === 'Editable') !== false && %{internal>numberOfSelectedContexts} !== 0}"
2126
+ );
2127
+ expect(bindingExpressions.visible).toEqual("{= %{ui>/editMode} === 'Editable'}");
2128
+ });
2129
+
2130
+ it("Generate binding expression for Action Paste", () => {
2131
+ const bindingExpressions = getStandardActionPaste(BASIC_CONTEXT_OP, BASIC_ACTION_CONTEXT);
2132
+ expect(bindingExpressions.isTemplated).toEqual("true");
2133
+ expect(bindingExpressions.enabled).toEqual("{= %{ui>/isEditable} === true}");
2134
+ expect(bindingExpressions.visible).toEqual("{= %{ui>/isEditable} === true}");
2135
+ });
2136
+
2137
+ it("Generate binding expression for Mass Edit", () => {
2138
+ let bindingExpressions = getStandardActionMassEdit(BASIC_CONTEXT_OP, BASIC_ACTION_CONTEXT, "Multi");
2139
+ expect(bindingExpressions.isTemplated).toEqual("false");
2140
+ expect(bindingExpressions.enabled).toEqual("false");
2141
+ expect(bindingExpressions.visible).toEqual("false");
2142
+
2143
+ bindingExpressions = getStandardActionMassEdit(BASIC_CONTEXT_OP, BASIC_MASS_EDIT_ACTION_CONTEXT, "Multi");
2144
+ expect(bindingExpressions.isTemplated).toEqual("true");
2145
+ expect(bindingExpressions.enabled).toEqual(
2146
+ "{= (%{ui>/isEditable} === true) !== false && %{internal>numberOfSelectedContexts} >= 2}"
2147
+ );
2148
+ expect(bindingExpressions.visible).toEqual("{= %{ui>/isEditable} === true}");
2149
+ });
2150
+ });