@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
@@ -1,372 +1,298 @@
1
- /* global describe it beforeAll expect */
2
- sap.ui.define(["sap/fe/core/services/RoutingServiceFactory"], function(RoutingServiceFactory) {
3
- "use strict";
4
- describe("RoutingServiceFactory", function() {
5
- describe("_createFilter", () => {
6
- let oRoutingServicePromise,
7
- oDraftDetail,
8
- aKeys,
9
- oStartUpParameters,
10
- oMetaModelWithToLowerFilterFunction,
11
- oMetaModelWithoutToLowerFilterFunction,
12
- oMetaModelWithNoFilterFunction;
13
- beforeAll(() => {
14
- const oServiceContext = {
15
- scopeType: "",
16
- scopeObject: {},
17
- settings: {}
18
- };
19
- const oRoutingServiceFactory = new RoutingServiceFactory();
20
- oRoutingServicePromise = oRoutingServiceFactory.createInstance(oServiceContext);
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/fe/core/services/RoutingServiceFactory", "sap/fe/test/JestTemplatingHelper", "sap/fe/test/UI5MockHelper", "path"], function (RoutingServiceFactory, JestTemplatingHelper, UI5MockHelper, path) {
6
+ "use strict";
21
7
 
22
- oMetaModelWithToLowerFilterFunction = {
23
- getObject: function() {
24
- return ["contains", "endswith", "startswith", "length", "indexof", "substring", "tolower"];
25
- }
26
- };
27
- oMetaModelWithoutToLowerFilterFunction = {
28
- getObject: function() {
29
- return ["contains", "endswith", "startswith", "length", "indexof", "substring"];
30
- }
31
- };
32
- oMetaModelWithNoFilterFunction = {
33
- getObject: function() {
34
- return undefined;
35
- }
36
- };
37
- });
8
+ var MockListBinding = UI5MockHelper.MockListBinding;
9
+ var MockModel = UI5MockHelper.MockModel;
10
+ var getMetaModel = JestTemplatingHelper.getMetaModel;
11
+ var compileCDS = JestTemplatingHelper.compileCDS;
38
12
 
39
- describe("No startup parameters", () => {
40
- beforeAll(() => {
41
- aKeys = [];
42
- oStartUpParameters = {};
43
- oDraftDetail = undefined;
44
- });
45
- it(
46
- "No startup parameters without draft node",
47
- {
48
- "references": [
49
- {
50
- "type": "JIRA",
51
- "ID": "FIORITECHP1-19019"
52
- }
53
- ]
54
- },
55
- async () => {
56
- const that = { oMetaModel: oMetaModelWithToLowerFilterFunction };
57
- return oRoutingServicePromise.then(oRoutingService => {
58
- const actual = oRoutingService._createFilter.call(that, oDraftDetail, aKeys, oStartUpParameters);
59
- expect(actual.aFilters.length).toEqual(0);
60
- });
61
- }
62
- );
13
+ var oServiceContext = {
14
+ scopeType: "",
15
+ scopeObject: {},
16
+ settings: {}
17
+ };
18
+ describe("RoutingServiceFactory - getDefaultCreateHash", function () {
19
+ var that = {
20
+ getContextPath: function () {
21
+ return "/SalesOrderManage";
22
+ },
23
+ oRouter: {
24
+ getRouteInfoByHash: function (sHash) {
25
+ return true;
26
+ }
27
+ }
28
+ };
29
+ it("Undefined StartupParameter object", function () {
30
+ try {
31
+ return Promise.resolve(RoutingServiceFactory.prototype.createInstance(oServiceContext)).then(function (oRoutingService) {
32
+ var oStartupParameter = undefined;
33
+ var actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
34
+ expect(actual).toEqual("SalesOrderManage(...)?i-action=create");
35
+ });
36
+ } catch (e) {
37
+ return Promise.reject(e);
38
+ }
39
+ });
40
+ it("preferredMode=create StartupParameter", function () {
41
+ try {
42
+ return Promise.resolve(RoutingServiceFactory.prototype.createInstance(oServiceContext)).then(function (oRoutingService) {
43
+ var oStartupParameter = {
44
+ preferredMode: ["create"]
45
+ };
46
+ var actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
47
+ expect(actual).toEqual("SalesOrderManage(...)?i-action=create");
48
+ });
49
+ } catch (e) {
50
+ return Promise.reject(e);
51
+ }
52
+ });
53
+ it("preferredMode=createWith StartupParameter", function () {
54
+ try {
55
+ return Promise.resolve(RoutingServiceFactory.prototype.createInstance(oServiceContext)).then(function (oRoutingService) {
56
+ var oStartupParameter = {
57
+ preferredMode: ["createWith:com.c_salesordermanage_sd.CreateFromCustomer"]
58
+ };
59
+ var actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
60
+ expect(actual).toEqual("SalesOrderManage(...)?i-action=createWith");
61
+ });
62
+ } catch (e) {
63
+ return Promise.reject(e);
64
+ }
65
+ });
66
+ it("preferredMode=createWith with missing action", function () {
67
+ try {
68
+ return Promise.resolve(RoutingServiceFactory.prototype.createInstance(oServiceContext)).then(function (oRoutingService) {
69
+ var oStartupParameter = {
70
+ preferredMode: ["createWith"]
71
+ };
72
+ var actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
73
+ expect(actual).toEqual("SalesOrderManage(...)?i-action=create");
74
+ });
75
+ } catch (e) {
76
+ return Promise.reject(e);
77
+ }
78
+ });
79
+ it("preferredMode=createWith: with missing action", function () {
80
+ try {
81
+ return Promise.resolve(RoutingServiceFactory.prototype.createInstance(oServiceContext)).then(function (oRoutingService) {
82
+ var oStartupParameter = {
83
+ preferredMode: ["createWith:"]
84
+ };
85
+ var actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
86
+ expect(actual).toEqual("SalesOrderManage(...)?i-action=create");
87
+ });
88
+ } catch (e) {
89
+ return Promise.reject(e);
90
+ }
91
+ });
92
+ });
93
+ describe("RoutingServiceFactory - navigateToRoute", function () {
94
+ var sTargetURL = "sTargetURL";
95
+ var that = {
96
+ oRouter: {
97
+ getURL: jest.fn().mockReturnValue(sTargetURL)
98
+ },
99
+ oRouterProxy: {
100
+ navToHash: jest.fn().mockResolvedValue("navigation finalized!")
101
+ }
102
+ };
103
+ it("Check if navigateToRoute is called with the right parameters", function () {
104
+ try {
105
+ return Promise.resolve(RoutingServiceFactory.prototype.createInstance(oServiceContext)).then(function (oRoutingService) {
106
+ var sRoute = "route",
107
+ mParameters = {};
108
+ var oResult = oRoutingService.navigateToRoute.call(that, sRoute, mParameters);
109
+ expect(that.oRouter.getURL).toHaveBeenCalledWith(sRoute, mParameters);
110
+ expect(that.oRouterProxy.navToHash).toHaveBeenCalledWith(sTargetURL);
111
+ expect(oResult).resolves.toEqual("navigation finalized!");
112
+ });
113
+ } catch (e) {
114
+ return Promise.reject(e);
115
+ }
116
+ });
117
+ });
118
+ describe("RoutingServiceFactory - _manageDeepLinkStartup", function () {
119
+ var oManifest = {
120
+ "sap.ui5": {
121
+ routing: {
122
+ routes: [{
123
+ "pattern": ":?query:",
124
+ "name": "SalesOrderList",
125
+ "target": "SalesOrderList"
126
+ }, {
127
+ "pattern": "SalesOrder({key}):?query:",
128
+ "name": "SalesOrderOP",
129
+ "target": "SalesOrderOP"
130
+ }, {
131
+ "pattern": "SalesOrder({key})/_Item({key2}):?query:",
132
+ "name": "SalesOrderItemOP",
133
+ "target": "SalesOrderItemOP"
134
+ }],
135
+ targets: {
136
+ "SalesOrderList": {
137
+ "options": {
138
+ "settings": {
139
+ "entitySet": "SalesOrder"
140
+ }
141
+ }
142
+ },
143
+ "SalesOrderOP": {
144
+ "options": {
145
+ "settings": {
146
+ "entitySet": "SalesOrder"
147
+ }
148
+ }
149
+ },
150
+ "SalesOrderItemOP": {
151
+ "options": {
152
+ "settings": {
153
+ "entitySet": "Item",
154
+ allowDeepLinking: true
155
+ }
156
+ }
157
+ }
158
+ }
159
+ }
160
+ }
161
+ }; // Mock for appComponent
63
162
 
64
- it(
65
- "No startup parameters with draft node",
66
- {
67
- "references": [
68
- {
69
- "type": "JIRA",
70
- "ID": "FIORITECHP1-19019"
71
- }
72
- ]
73
- },
74
- async () => {
75
- oDraftDetail = true;
76
- const that = { oMetaModel: oMetaModelWithToLowerFilterFunction };
77
- return oRoutingServicePromise.then(oRoutingService => {
78
- const actual = oRoutingService._createFilter.call(that, oDraftDetail, aKeys, oStartUpParameters);
79
- expect(actual.aFilters.length).toEqual(1);
80
- expect(actual.aFilters[0].aFilters.length).toEqual(2);
163
+ var oMockAppComponent = {
164
+ getManifest: function () {
165
+ return oManifest;
166
+ }
167
+ }; // Mock for router
81
168
 
82
- expect(actual.aFilters[0].aFilters[0].sPath).toEqual("IsActiveEntity");
83
- expect(actual.aFilters[0].aFilters[0].sOperator).toEqual("EQ");
84
- expect(actual.aFilters[0].aFilters[0].oValue1).toEqual(false);
85
- expect(actual.aFilters[0].aFilters[0].bCaseSensitive).toEqual(undefined);
169
+ var oMockHashChanger = {
170
+ replaceHash: jest.fn()
171
+ };
172
+ var oMockRouter = {
173
+ getHashChanger: function () {
174
+ return oMockHashChanger;
175
+ }
176
+ };
177
+ var oRoutingService;
178
+ var mockModel = new MockModel();
179
+ var salesOrdersLB = new MockListBinding([{
180
+ $path: "/SalesOrder(ID=1,IsActiveEntity=true)",
181
+ SalesOrderName: "Name1"
182
+ }], mockModel);
183
+ var salesOrderItemsLB = new MockListBinding([{
184
+ $path: "/Item(ID=2,IsActiveEntity=true)"
185
+ }], mockModel);
186
+ beforeAll(function () {
187
+ try {
188
+ var sMetadataUrl = compileCDS(path.join(__dirname, "../data/RoutingServiceFactory.cds"));
189
+ return Promise.resolve(getMetaModel(sMetadataUrl)).then(function (metaModel) {
190
+ mockModel.setMetaModel(metaModel);
191
+ return Promise.resolve(RoutingServiceFactory.prototype.createInstance(oServiceContext)).then(function (_RoutingServiceFactor) {
192
+ oRoutingService = _RoutingServiceFactor;
193
+ oRoutingService.oAppComponent = oMockAppComponent;
194
+ oRoutingService.oModel = mockModel;
195
+ oRoutingService.oRouter = oMockRouter;
196
+ });
197
+ });
198
+ } catch (e) {
199
+ return Promise.reject(e);
200
+ }
201
+ });
202
+ beforeEach(function () {
203
+ oMockHashChanger.replaceHash.mockReset();
204
+ mockModel.bindList.mockReset();
205
+ mockModel.bindList.mockImplementationOnce(function () {
206
+ return salesOrdersLB;
207
+ }).mockImplementationOnce(function () {
208
+ return salesOrderItemsLB;
209
+ });
210
+ oRoutingService.setLastSemanticMapping(null);
211
+ });
212
+ var oTestData = [{
213
+ desc: "hash not replaced if no startup parameters",
214
+ startupParameters: {},
215
+ expectedHash: undefined
216
+ }, {
217
+ desc: "hash not replaced if startup parameters don't match with keys",
218
+ startupParameters: {
219
+ xx: ["-"]
220
+ },
221
+ expectedHash: undefined
222
+ }, {
223
+ desc: "hash not replaced if startup parameters don't contain all keys",
224
+ startupParameters: {
225
+ ID: ["unused"]
226
+ },
227
+ expectedHash: undefined
228
+ }, {
229
+ desc: "hash not replaced if startup parameters don't contain all keys for level 1",
230
+ startupParameters: {
231
+ ID: ["unused"],
232
+ ItemName: ["unused"],
233
+ OrderID: ["unused"]
234
+ },
235
+ expectedHash: undefined
236
+ }, {
237
+ desc: "hash replaced if startup parameters contain technical keys for level 1",
238
+ startupParameters: {
239
+ ID: ["unused"],
240
+ IsActiveEntity: ["unused"]
241
+ },
242
+ expectedHash: "SalesOrder('Name1')",
243
+ technicalHash: "SalesOrder(ID=1,IsActiveEntity=true)"
244
+ }, {
245
+ desc: "hash replaced if startup parameters contain semantic keys for level 1",
246
+ startupParameters: {
247
+ SalesOrderName: ["unused"]
248
+ },
249
+ expectedHash: "SalesOrder('Name1')",
250
+ technicalHash: "SalesOrder(ID=1,IsActiveEntity=true)"
251
+ }, {
252
+ desc: "hash replaced if startup parameters contain technical keys for level 1 and semantic keys for level 2",
253
+ startupParameters: {
254
+ ID: ["unused"],
255
+ IsActiveEntity: ["unused"],
256
+ ItemName: ["unused"],
257
+ OrderID: ["unused"]
258
+ },
259
+ expectedHash: "SalesOrder(ID=1,IsActiveEntity=true)/_Item(ID=2,IsActiveEntity=true)"
260
+ }, {
261
+ desc: "hash replaced if startup parameters contain semantic keys for level 1 and 2",
262
+ startupParameters: {
263
+ SalesOrderName: ["unused"],
264
+ ItemName: ["unused"],
265
+ OrderID: ["unused"]
266
+ },
267
+ expectedHash: "SalesOrder(ID=1,IsActiveEntity=true)/_Item(ID=2,IsActiveEntity=true)"
268
+ }];
269
+ it.each(oTestData)("$desc", function (_ref) {
270
+ var startupParameters = _ref.startupParameters,
271
+ expectedHash = _ref.expectedHash,
272
+ technicalHash = _ref.technicalHash;
86
273
 
87
- expect(actual.aFilters[0].aFilters[1].sPath).toEqual("SiblingEntity/IsActiveEntity");
88
- expect(actual.aFilters[0].aFilters[1].sOperator).toEqual("EQ");
89
- expect(actual.aFilters[0].aFilters[1].oValue1).toEqual(null);
90
- expect(actual.aFilters[0].aFilters[1].bCaseSensitive).toEqual(undefined);
91
- });
92
- }
93
- );
94
- });
274
+ try {
275
+ return Promise.resolve(oRoutingService._manageDeepLinkStartup(startupParameters)).then(function () {
276
+ if (expectedHash === undefined) {
277
+ expect(oMockHashChanger.replaceHash.mock.calls).toHaveLength(0);
278
+ } else {
279
+ expect(oMockHashChanger.replaceHash.mock.calls).toHaveLength(1);
280
+ expect(oMockHashChanger.replaceHash.mock.calls[0][0]).toEqual(expectedHash);
95
281
 
96
- describe("Single startup parameter", () => {
97
- beforeAll(() => {
98
- aKeys = [{ $PropertyPath: "SalesOrder" }];
99
- oStartUpParameters = { SalesOrder: ["1"] };
100
- oDraftDetail = undefined;
101
- });
102
- it(
103
- "Service supports 'tolower' filter function",
104
- {
105
- "references": [
106
- {
107
- "type": "JIRA",
108
- "ID": "FIORITECHP1-19019"
109
- }
110
- ]
111
- },
112
- async () => {
113
- const that = { oMetaModel: oMetaModelWithToLowerFilterFunction };
114
- return oRoutingServicePromise.then(oRoutingService => {
115
- const actual = oRoutingService._createFilter.call(that, oDraftDetail, aKeys, oStartUpParameters);
116
- expect(actual.aFilters.length).toEqual(1);
117
- expect(actual.aFilters[0].bCaseSensitive).toEqual(false);
118
- });
119
- }
120
- );
121
-
122
- it(
123
- "Service does not support 'tolower' filter function",
124
- {
125
- "references": [
126
- {
127
- "type": "JIRA",
128
- "ID": "FIORITECHP1-19019"
129
- }
130
- ]
131
- },
132
- async () => {
133
- const that = { oMetaModel: oMetaModelWithoutToLowerFilterFunction };
134
- return oRoutingServicePromise.then(oRoutingService => {
135
- const actual = oRoutingService._createFilter.call(that, oDraftDetail, aKeys, oStartUpParameters);
136
- expect(actual.aFilters.length).toEqual(1);
137
- expect(actual.aFilters[0].bCaseSensitive).toEqual(true);
138
- });
139
- }
140
- );
141
-
142
- it(
143
- "Service defines no filter function",
144
- {
145
- "references": [
146
- {
147
- "type": "JIRA",
148
- "ID": "FIORITECHP1-19019"
149
- }
150
- ]
151
- },
152
- async () => {
153
- const that = { oMetaModel: oMetaModelWithNoFilterFunction };
154
- return oRoutingServicePromise.then(oRoutingService => {
155
- const actual = oRoutingService._createFilter.call(that, oDraftDetail, aKeys, oStartUpParameters);
156
- expect(actual.aFilters.length).toEqual(1);
157
- expect(actual.aFilters[0].bCaseSensitive).toEqual(true);
158
- });
159
- }
160
- );
161
- });
162
-
163
- describe("Multiple startup parameters", () => {
164
- beforeAll(() => {
165
- aKeys = [{ $PropertyPath: "SalesOrder" }, { $PropertyPath: "ID" }];
166
- oStartUpParameters = { SalesOrder: ["1"], ID: ["11111144-aaaa-bbbb-cccc-ddddeeeeffff"] };
167
- oDraftDetail = undefined;
168
- });
169
- it(
170
- "Service supports 'tolower' filter function",
171
- {
172
- "references": [
173
- {
174
- "type": "JIRA",
175
- "ID": "FIORITECHP1-19019"
176
- }
177
- ]
178
- },
179
- async () => {
180
- const that = { oMetaModel: oMetaModelWithToLowerFilterFunction };
181
- return oRoutingServicePromise.then(oRoutingService => {
182
- const actual = oRoutingService._createFilter.call(that, oDraftDetail, aKeys, oStartUpParameters);
183
- expect(actual.aFilters.length).toEqual(2);
184
- expect(actual.aFilters[0].bCaseSensitive).toEqual(false);
185
- expect(actual.aFilters[1].bCaseSensitive).toEqual(false);
186
- });
187
- }
188
- );
189
-
190
- it(
191
- "Service does not support 'tolower' filter function",
192
- {
193
- "references": [
194
- {
195
- "type": "JIRA",
196
- "ID": "FIORITECHP1-19019"
197
- }
198
- ]
199
- },
200
- async () => {
201
- const that = { oMetaModel: oMetaModelWithoutToLowerFilterFunction };
202
- return oRoutingServicePromise.then(oRoutingService => {
203
- const actual = oRoutingService._createFilter.call(that, oDraftDetail, aKeys, oStartUpParameters);
204
- expect(actual.aFilters.length).toEqual(2);
205
- expect(actual.aFilters[0].bCaseSensitive).toEqual(true);
206
- expect(actual.aFilters[1].bCaseSensitive).toEqual(true);
207
- });
208
- }
209
- );
210
-
211
- it(
212
- "Service defines no filter function",
213
- {
214
- "references": [
215
- {
216
- "type": "JIRA",
217
- "ID": "FIORITECHP1-19019"
218
- }
219
- ]
220
- },
221
- async () => {
222
- const that = { oMetaModel: oMetaModelWithNoFilterFunction };
223
- return oRoutingServicePromise.then(oRoutingService => {
224
- const actual = oRoutingService._createFilter.call(that, oDraftDetail, aKeys, oStartUpParameters);
225
- expect(actual.aFilters.length).toEqual(2);
226
- expect(actual.aFilters[0].bCaseSensitive).toEqual(true);
227
- expect(actual.aFilters[1].bCaseSensitive).toEqual(true);
228
- });
229
- }
230
- );
231
- });
232
- });
233
-
234
- describe("_requestObjectsFromParameters", () => {
235
- let oRoutingServicePromise,
236
- oModel,
237
- oStartUpParameters = {
238
- ID: ["ID"],
239
- IsActiveEntity: ["true"],
240
- SemanticKey: ["key"]
241
- },
242
- aExternallyNavigablePages = [
243
- {
244
- isSemanticKeyNavigation: true,
245
- draft: {},
246
- semanticKeys: [
247
- {
248
- $PropertyPath: "SemanticKey"
249
- }
250
- ],
251
- technicalKeys: ["ID", "IsActiveEntity"]
252
- }
253
- ];
254
- beforeAll(() => {
255
- const oServiceContext = {
256
- scopeType: "",
257
- scopeObject: {},
258
- settings: {}
259
- };
260
- const oRoutingServiceFactory = new RoutingServiceFactory();
261
- oRoutingServicePromise = oRoutingServiceFactory.createInstance(oServiceContext);
262
- oModel = {
263
- bindList: function(sPath, oContext, vSorters, vFilters, mParameters) {
264
- return {
265
- requestContexts: function() {
266
- return Promise.resolve(mParameters);
267
- }
268
- };
269
- }
270
- };
271
- });
272
- it("Request for semantic keys without draft", async () => {
273
- return oRoutingServicePromise.then(async function(oRoutingService) {
274
- let that = {
275
- oModel: oModel,
276
- _createFilter: oRoutingService._createFilter
277
- },
278
- requestObjectsFromParametersResult = await oRoutingService._requestObjectsFromParameters.call(
279
- that,
280
- oStartUpParameters,
281
- aExternallyNavigablePages
282
- );
283
- expect(requestObjectsFromParametersResult).toEqual([{ "$select": ["SemanticKey"] }]);
284
- });
285
- });
286
- it("Request for technical keys with draft", async () => {
287
- aExternallyNavigablePages[0].isSemanticKeyNavigation = false;
288
- return oRoutingServicePromise.then(async function(oRoutingService) {
289
- let that = {
290
- oModel: oModel,
291
- _createFilter: oRoutingService._createFilter
292
- },
293
- requestObjectsFromParametersResult = await oRoutingService._requestObjectsFromParameters.call(
294
- that,
295
- oStartUpParameters,
296
- aExternallyNavigablePages
297
- );
298
- expect(requestObjectsFromParametersResult).toEqual([{ "$select": ["ID", "IsActiveEntity"] }]);
299
- });
300
- });
301
- });
302
-
303
- describe("getDefaultCreateHash", () => {
304
- let oRoutingServicePromise;
305
-
306
- const that = {
307
- getContextPath: function() {
308
- return "/SalesOrderManage";
309
- },
310
- oRouter: {
311
- getRouteInfoByHash: function(sHash) {
312
- return true;
313
- }
314
- }
315
- };
316
-
317
- beforeAll(() => {
318
- const oServiceContext = {
319
- scopeType: "",
320
- scopeObject: {},
321
- settings: {}
322
- };
323
- const oRoutingServiceFactory = new RoutingServiceFactory();
324
- oRoutingServicePromise = oRoutingServiceFactory.createInstance(oServiceContext);
325
- });
326
-
327
- it("Undefined StartupParameter object", () => {
328
- return oRoutingServicePromise.then(oRoutingService => {
329
- const oStartupParameter = undefined;
330
- const actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
331
- expect(actual).toEqual("SalesOrderManage(...)?i-action=create");
332
- });
333
- });
334
- it("preferredMode=create StartupParameter", () => {
335
- return oRoutingServicePromise.then(oRoutingService => {
336
- const oStartupParameter = {
337
- preferredMode: ["create"]
338
- };
339
- const actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
340
- expect(actual).toEqual("SalesOrderManage(...)?i-action=create");
341
- });
342
- });
343
- it("preferredMode=createWith StartupParameter", () => {
344
- return oRoutingServicePromise.then(oRoutingService => {
345
- const oStartupParameter = {
346
- preferredMode: ["createWith:com.c_salesordermanage_sd.CreateFromCustomer"]
347
- };
348
- const actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
349
- expect(actual).toEqual("SalesOrderManage(...)?i-action=createWith");
350
- });
351
- });
352
- it("preferredMode=createWith with missing action", () => {
353
- return oRoutingServicePromise.then(oRoutingService => {
354
- const oStartupParameter = {
355
- preferredMode: ["createWith"]
356
- };
357
- const actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
358
- expect(actual).toEqual("SalesOrderManage(...)?i-action=create");
359
- });
360
- });
361
- it("preferredMode=createWith: with missing action", () => {
362
- return oRoutingServicePromise.then(oRoutingService => {
363
- const oStartupParameter = {
364
- preferredMode: ["createWith:"]
365
- };
366
- const actual = oRoutingService.getDefaultCreateHash.call(that, oStartupParameter);
367
- expect(actual).toEqual("SalesOrderManage(...)?i-action=create");
368
- });
369
- });
370
- });
371
- });
372
- });
282
+ if (technicalHash !== undefined) {
283
+ expect(oRoutingService.getLastSemanticMapping()).toEqual({
284
+ technicalPath: "/" + technicalHash,
285
+ semanticPath: "/" + expectedHash
286
+ });
287
+ } else {
288
+ expect(oRoutingService.getLastSemanticMapping()).toBeNull();
289
+ }
290
+ }
291
+ });
292
+ } catch (e) {
293
+ return Promise.reject(e);
294
+ }
295
+ });
296
+ });
297
+ }, false);
298
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJvdXRpbmdTZXJ2aWNlRmFjdG9yeS5zcGVjLnRzIl0sIm5hbWVzIjpbIm9TZXJ2aWNlQ29udGV4dCIsInNjb3BlVHlwZSIsInNjb3BlT2JqZWN0Iiwic2V0dGluZ3MiLCJkZXNjcmliZSIsInRoYXQiLCJnZXRDb250ZXh0UGF0aCIsIm9Sb3V0ZXIiLCJnZXRSb3V0ZUluZm9CeUhhc2giLCJzSGFzaCIsIml0IiwiUm91dGluZ1NlcnZpY2VGYWN0b3J5IiwicHJvdG90eXBlIiwiY3JlYXRlSW5zdGFuY2UiLCJvUm91dGluZ1NlcnZpY2UiLCJvU3RhcnR1cFBhcmFtZXRlciIsInVuZGVmaW5lZCIsImFjdHVhbCIsImdldERlZmF1bHRDcmVhdGVIYXNoIiwiY2FsbCIsImV4cGVjdCIsInRvRXF1YWwiLCJwcmVmZXJyZWRNb2RlIiwic1RhcmdldFVSTCIsImdldFVSTCIsImplc3QiLCJmbiIsIm1vY2tSZXR1cm5WYWx1ZSIsIm9Sb3V0ZXJQcm94eSIsIm5hdlRvSGFzaCIsIm1vY2tSZXNvbHZlZFZhbHVlIiwic1JvdXRlIiwibVBhcmFtZXRlcnMiLCJvUmVzdWx0IiwibmF2aWdhdGVUb1JvdXRlIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJyZXNvbHZlcyIsIm9NYW5pZmVzdCIsInJvdXRpbmciLCJyb3V0ZXMiLCJ0YXJnZXRzIiwiYWxsb3dEZWVwTGlua2luZyIsIm9Nb2NrQXBwQ29tcG9uZW50IiwiZ2V0TWFuaWZlc3QiLCJvTW9ja0hhc2hDaGFuZ2VyIiwicmVwbGFjZUhhc2giLCJvTW9ja1JvdXRlciIsImdldEhhc2hDaGFuZ2VyIiwibW9ja01vZGVsIiwiTW9ja01vZGVsIiwic2FsZXNPcmRlcnNMQiIsIk1vY2tMaXN0QmluZGluZyIsIiRwYXRoIiwiU2FsZXNPcmRlck5hbWUiLCJzYWxlc09yZGVySXRlbXNMQiIsImJlZm9yZUFsbCIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsImdldE1ldGFNb2RlbCIsIm1ldGFNb2RlbCIsInNldE1ldGFNb2RlbCIsIm9BcHBDb21wb25lbnQiLCJvTW9kZWwiLCJiZWZvcmVFYWNoIiwibW9ja1Jlc2V0IiwiYmluZExpc3QiLCJtb2NrSW1wbGVtZW50YXRpb25PbmNlIiwic2V0TGFzdFNlbWFudGljTWFwcGluZyIsIm9UZXN0RGF0YSIsImRlc2MiLCJzdGFydHVwUGFyYW1ldGVycyIsImV4cGVjdGVkSGFzaCIsInh4IiwiSUQiLCJJdGVtTmFtZSIsIk9yZGVySUQiLCJJc0FjdGl2ZUVudGl0eSIsInRlY2huaWNhbEhhc2giLCJlYWNoIiwiX21hbmFnZURlZXBMaW5rU3RhcnR1cCIsIm1vY2siLCJjYWxscyIsInRvSGF2ZUxlbmd0aCIsImdldExhc3RTZW1hbnRpY01hcHBpbmciLCJ0ZWNobmljYWxQYXRoIiwic2VtYW50aWNQYXRoIiwidG9CZU51bGwiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQUtBLE1BQU1BLGVBQWUsR0FBRztBQUN2QkMsSUFBQUEsU0FBUyxFQUFFLEVBRFk7QUFFdkJDLElBQUFBLFdBQVcsRUFBRSxFQUZVO0FBR3ZCQyxJQUFBQSxRQUFRLEVBQUU7QUFIYSxHQUF4QjtBQUtBQyxFQUFBQSxRQUFRLENBQUMsOENBQUQsRUFBaUQsWUFBTTtBQUM5RCxRQUFNQyxJQUFJLEdBQUc7QUFDWkMsTUFBQUEsY0FBYyxFQUFFLFlBQVc7QUFDMUIsZUFBTyxtQkFBUDtBQUNBLE9BSFc7QUFJWkMsTUFBQUEsT0FBTyxFQUFFO0FBQ1JDLFFBQUFBLGtCQUFrQixFQUFFLFVBQVNDLEtBQVQsRUFBd0I7QUFDM0MsaUJBQU8sSUFBUDtBQUNBO0FBSE87QUFKRyxLQUFiO0FBV0FDLElBQUFBLEVBQUUsQ0FBQyxtQ0FBRDtBQUFBLFVBQWtEO0FBQUEsK0JBQ3JCQyxxQkFBcUIsQ0FBQ0MsU0FBdEIsQ0FBZ0NDLGNBQWhDLENBQStDYixlQUEvQyxDQURxQixpQkFDN0NjLGVBRDZDO0FBRW5ELGNBQU1DLGlCQUFpQixHQUFHQyxTQUExQjtB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QWtDQyxLQUFuQyxDQUFOLENBQWdEQyxZQUFoRCxDQUE2RCxDQUE3RDtBQUNBakUsWUFBQUEsTUFBTSxDQUFDd0IsZ0JBQWdCLENBQUNDLFdBQWpCLENBQTZCc0MsSUFBN0IsQ0FBa0NDLEtBQWxDLENBQXdDLENBQXhDLEVBQTJDLENBQTNDLENBQUQsQ0FBTixDQUFzRC9ELE9BQXRELENBQThEcUQsWUFBOUQ7O0FBTndGLGdCQU9wRk0sYUFBYSxLQUFLaEUsU0FQa0U7QUFRdkZJLGNBQUFBLE1BQU0sQ0FBQ04sZUFBZSxDQUFDd0Usc0JBQWhCLEVBQUQsQ0FBTixDQUFpRGpFLE9BQWpELENBQXlEO0FBQ3hEa0UsZ0JBQUFBLGFBQWEsRUFBRSxNQUFNUCxhQURtQztBQUV4RFEsZ0JBQUFBLFlBQVksRUFBRSxNQUFNZDtBQUZvQyxlQUF6RDtBQVJ1RjtBQWF2RnRELGNBQUFBLE1BQU0sQ0FBQ04sZUFBZSxDQUFDd0Usc0JBQWhCLEVBQUQsQ0FBTixDQUFpREcsUUFBakQ7QUFidUY7QUFBQTtBQUFBO0FBZ0J6RixPQWhCRDtBQUFBO0FBQUE7QUFBQTtBQWlCQSxHQTlKTyxDQUFSIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0aW5nU2VydmljZUZhY3RvcnkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXNcIjtcbmltcG9ydCB7IGNvbXBpbGVDRFMsIGdldE1ldGFNb2RlbCB9IGZyb20gXCJzYXAvZmUvdGVzdC9KZXN0VGVtcGxhdGluZ0hlbHBlclwiO1xuaW1wb3J0IHsgTW9ja01vZGVsLCBNb2NrTWV0YU1vZGVsLCBNb2NrTGlzdEJpbmRpbmcsIE1vY2tDb250ZXh0IH0gZnJvbSBcInNhcC9mZS90ZXN0L1VJNU1vY2tIZWxwZXJcIjtcbmltcG9ydCB7IENvbnRleHQsIE9EYXRhTGlzdEJpbmRpbmcsIE9EYXRhQ29udGV4dEJpbmRpbmcsIE9EYXRhTWV0YU1vZGVsLCBPRGF0YU1vZGVsIH0gZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NFwiO1xuXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5jb25zdCBvU2VydmljZUNvbnRleHQgPSB7XG5cdHNjb3BlVHlwZTogXCJcIixcblx0c2NvcGVPYmplY3Q6IHt9LFxuXHRzZXR0aW5nczoge31cbn07XG5kZXNjcmliZShcIlJvdXRpbmdTZXJ2aWNlRmFjdG9yeSAtIGdldERlZmF1bHRDcmVhdGVIYXNoXCIsICgpID0+IHtcblx0Y29uc3QgdGhhdCA9IHtcblx0XHRnZXRDb250ZXh0UGF0aDogZnVuY3Rpb24oKSB7XG5cdFx0XHRyZXR1cm4gXCIvU2FsZXNPcmRlck1hbmFnZVwiO1xuXHRcdH0sXG5cdFx0b1JvdXRlcjoge1xuXHRcdFx0Z2V0Um91dGVJbmZvQnlIYXNoOiBmdW5jdGlvbihzSGFzaDogc3RyaW5nKSB7XG5cdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblxuXHRpdChcIlVuZGVmaW5lZCBTdGFydHVwUGFyYW1ldGVyIG9iamVjdFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3Qgb1JvdXRpbmdTZXJ2aWNlID0gYXdhaXQgUm91dGluZ1NlcnZpY2VGYWN0b3J5LnByb3RvdHlwZS5jcmVhdGVJbnN0YW5jZShvU2VydmljZUNvbnRleHQpO1xuXHRcdGNvbnN0IG9TdGFydHVwUGFyYW1ldGVyID0gdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGFjdHVhbCA9IG9Sb3V0aW5nU2VydmljZS5nZXREZWZhdWx0Q3JlYXRlSGFzaC5jYWxsKHRoYXQsIG9TdGFydHVwUGFyYW1ldGVyKTtcblx0XHRleHBlY3QoYWN0dWFsKS50b0VxdWFsKFwiU2FsZXNPcmRlck1hbmFnZSguLi4pP2ktYWN0aW9uPWNyZWF0ZVwiKTtcblx0fSk7XG5cdGl0KFwicHJlZmVycmVkTW9kZT1jcmVhdGUgU3RhcnR1cFBhcmFtZXRlclwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3Qgb1JvdXRpbmdTZXJ2aWNlID0gYXdhaXQgUm91dGluZ1NlcnZpY2VGYWN0b3J5LnByb3RvdHlwZS5jcmVhdGVJbnN0YW5jZShvU2VydmljZUNvbnRleHQpO1xuXHRcdGNvbnN0IG9TdGFydHVwUGFyYW1ldGVyID0ge1xuXHRcdFx0cHJlZmVycmVkTW9kZTogW1wiY3JlYXRlXCJdXG5cdFx0fTtcblx0XHRjb25zdCBhY3R1YWwgPSBvUm91dGluZ1NlcnZpY2UuZ2V0RGVmYXVsdENyZWF0ZUhhc2guY2FsbCh0aGF0LCBvU3RhcnR1cFBhcmFtZXRlcik7XG5cdFx0ZXhwZWN0KGFjdHVhbCkudG9FcXVhbChcIlNhbGVzT3JkZXJNYW5hZ2UoLi4uKT9pLWFjdGlvbj1jcmVhdGVcIik7XG5cdH0pO1xuXHRpdChcInByZWZlcnJlZE1vZGU9Y3JlYXRlV2l0aCBTdGFydHVwUGFyYW1ldGVyXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBvUm91dGluZ1NlcnZpY2UgPSBhd2FpdCBSb3V0aW5nU2VydmljZUZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZUluc3RhbmNlKG9TZXJ2aWNlQ29udGV4dCk7XG5cdFx0Y29uc3Qgb1N0YXJ0dXBQYXJhbWV0ZXIgPSB7XG5cdFx0XHRwcmVmZXJyZWRNb2RlOiBbXCJjcmVhdGVXaXRoOmNvbS5jX3NhbGVzb3JkZXJtYW5hZ2Vfc2QuQ3JlYXRlRnJvbUN1c3RvbWVyXCJdXG5cdFx0fTtcblx0XHRjb25zdCBhY3R1YWwgPSBvUm91dGluZ1NlcnZpY2UuZ2V0RGVmYXVsdENyZWF0ZUhhc2guY2FsbCh0aGF0LCBvU3RhcnR1cFBhcmFtZXRlcik7XG5cdFx0ZXhwZWN0KGFjdHVhbCkudG9FcXVhbChcIlNhbGVzT3JkZXJNYW5hZ2UoLi4uKT9pLWFjdGlvbj1jcmVhdGVXaXRoXCIpO1xuXHR9KTtcblx0aXQoXCJwcmVmZXJyZWRNb2RlPWNyZWF0ZVdpdGggd2l0aCBtaXNzaW5nIGFjdGlvblwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3Qgb1JvdXRpbmdTZXJ2aWNlID0gYXdhaXQgUm91dGluZ1NlcnZpY2VGYWN0b3J5LnByb3RvdHlwZS5jcmVhdGVJbnN0YW5jZShvU2VydmljZUNvbnRleHQpO1xuXHRcdGNvbnN0IG9TdGFydHVwUGFyYW1ldGVyID0ge1xuXHRcdFx0cHJlZmVycmVkTW9kZTogW1wiY3JlYXRlV2l0aFwiXVxuXHRcdH07XG5cdFx0Y29uc3QgYWN0dWFsID0gb1JvdXRpbmdTZXJ2aWNlLmdldERlZmF1bHRDcmVhdGVIYXNoLmNhbGwodGhhdCwgb1N0YXJ0dXBQYXJhbWV0ZXIpO1xuXHRcdGV4cGVjdChhY3R1YWwpLnRvRXF1YWwoXCJTYWxlc09yZGVyTWFuYWdlKC4uLik/aS1hY3Rpb249Y3JlYXRlXCIpO1xuXHR9KTtcblx0aXQoXCJwcmVmZXJyZWRNb2RlPWNyZWF0ZVdpdGg6IHdpdGggbWlzc2luZyBhY3Rpb25cIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IG9Sb3V0aW5nU2VydmljZSA9IGF3YWl0IFJvdXRpbmdTZXJ2aWNlRmFjdG9yeS5wcm90b3R5cGUuY3JlYXRlSW5zdGFuY2Uob1NlcnZpY2VDb250ZXh0KTtcblx0XHRjb25zdCBvU3RhcnR1cFBhcmFtZXRlciA9IHtcblx0XHRcdHByZWZlcnJlZE1vZGU6IFtcImNyZWF0ZVdpdGg6XCJdXG5cdFx0fTtcblx0XHRjb25zdCBhY3R1YWwgPSBvUm91dGluZ1NlcnZpY2UuZ2V0RGVmYXVsdENyZWF0ZUhhc2guY2FsbCh0aGF0LCBvU3RhcnR1cFBhcmFtZXRlcik7XG5cdFx0ZXhwZWN0KGFjdHVhbCkudG9FcXVhbChcIlNhbGVzT3JkZXJNYW5hZ2UoLi4uKT9pLWFjdGlvbj1jcmVhdGVcIik7XG5cdH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiUm91dGluZ1NlcnZpY2VGYWN0b3J5IC0gbmF2aWdhdGVUb1JvdXRlXCIsICgpID0+IHtcblx0Y29uc3Qgc1RhcmdldFVSTCA9IFwic1RhcmdldFVSTFwiO1xuXG5cdGNvbnN0IHRoYXQgPSB7XG5cdFx0b1JvdXRlcjoge1xuXHRcdFx0Z2V0VVJMOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHNUYXJnZXRVUkwpXG5cdFx0fSxcblx0XHRvUm91dGVyUHJveHk6IHtcblx0XHRcdG5hdlRvSGFzaDogamVzdC5mbigpLm1vY2tSZXNvbHZlZFZhbHVlKFwibmF2aWdhdGlvbiBmaW5hbGl6ZWQhXCIpXG5cdFx0fVxuXHR9O1xuXG5cdGl0KFwiQ2hlY2sgaWYgbmF2aWdhdGVUb1JvdXRlIGlzIGNhbGxlZCB3aXRoIHRoZSByaWdodCBwYXJhbWV0ZXJzXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBvUm91dGluZ1NlcnZpY2UgPSBhd2FpdCBSb3V0aW5nU2VydmljZUZhY3RvcnkucHJvdG90eXBlLmNyZWF0ZUluc3RhbmNlKG9TZXJ2aWNlQ29udGV4dCk7XG5cdFx0dmFyIHNSb3V0ZSA9IFwicm91dGVcIixcblx0XHRcdG1QYXJhbWV0ZXJzID0ge307XG5cdFx0dmFyIG9SZXN1bHQgPSBvUm91dGluZ1NlcnZpY2UubmF2aWdhdGVUb1JvdXRlLmNhbGwodGhhdCwgc1JvdXRlLCBtUGFyYW1ldGVycyk7XG5cdFx0ZXhwZWN0KHRoYXQub1JvdXRlci5nZXRVUkwpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHNSb3V0ZSwgbVBhcmFtZXRlcnMpO1xuXHRcdGV4cGVjdCh0aGF0Lm9Sb3V0ZXJQcm94eS5uYXZUb0hhc2gpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHNUYXJnZXRVUkwpO1xuXG5cdFx0ZXhwZWN0KG9SZXN1bHQpLnJlc29sdmVzLnRvRXF1YWwoXCJuYXZpZ2F0aW9uIGZpbmFsaXplZCFcIik7XG5cdH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiUm91dGluZ1NlcnZpY2VGYWN0b3J5IC0gX21hbmFnZURlZXBMaW5rU3RhcnR1cFwiLCAoKSA9PiB7XG5cdGNvbnN0IG9NYW5pZmVzdDogYW55ID0ge1xuXHRcdFwic2FwLnVpNVwiOiB7XG5cdFx0XHRyb3V0aW5nOiB7XG5cdFx0XHRcdHJvdXRlczogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwicGF0dGVyblwiOiBcIjo/cXVlcnk6XCIsXG5cdFx0XHRcdFx0XHRcIm5hbWVcIjogXCJTYWxlc09yZGVyTGlzdFwiLFxuXHRcdFx0XHRcdFx0XCJ0YXJnZXRcIjogXCJTYWxlc09yZGVyTGlzdFwiXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcInBhdHRlcm5cIjogXCJTYWxlc09yZGVyKHtrZXl9KTo/cXVlcnk6XCIsXG5cdFx0XHRcdFx0XHRcIm5hbWVcIjogXCJTYWxlc09yZGVyT1BcIixcblx0XHRcdFx0XHRcdFwidGFyZ2V0XCI6IFwiU2FsZXNPcmRlck9QXCJcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwicGF0dGVyblwiOiBcIlNhbGVzT3JkZXIoe2tleX0pL19JdGVtKHtrZXkyfSk6P3F1ZXJ5OlwiLFxuXHRcdFx0XHRcdFx0XCJuYW1lXCI6IFwiU2FsZXNPcmRlckl0ZW1PUFwiLFxuXHRcdFx0XHRcdFx0XCJ0YXJnZXRcIjogXCJTYWxlc09yZGVySXRlbU9QXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdF0sXG5cdFx0XHRcdHRhcmdldHM6IHtcblx0XHRcdFx0XHRcIlNhbGVzT3JkZXJMaXN0XCI6IHtcblx0XHRcdFx0XHRcdFwib3B0aW9uc1wiOiB7XG5cdFx0XHRcdFx0XHRcdFwic2V0dGluZ3NcIjoge1xuXHRcdFx0XHRcdFx0XHRcdFwiZW50aXR5U2V0XCI6IFwiU2FsZXNPcmRlclwiXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFwiU2FsZXNPcmRlck9QXCI6IHtcblx0XHRcdFx0XHRcdFwib3B0aW9uc1wiOiB7XG5cdFx0XHRcdFx0XHRcdFwic2V0dGluZ3NcIjoge1xuXHRcdFx0XHRcdFx0XHRcdFwiZW50aXR5U2V0XCI6IFwiU2FsZXNPcmRlclwiXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFwiU2FsZXNPcmRlckl0ZW1PUFwiOiB7XG5cdFx0XHRcdFx0XHRcIm9wdGlvbnNcIjoge1xuXHRcdFx0XHRcdFx0XHRcInNldHRpbmdzXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcImVudGl0eVNldFwiOiBcIkl0ZW1cIixcblx0XHRcdFx0XHRcdFx0XHRhbGxvd0RlZXBMaW5raW5nOiB0cnVlXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH07XG5cblx0Ly8gTW9jayBmb3IgYXBwQ29tcG9uZW50XG5cdGNvbnN0IG9Nb2NrQXBwQ29tcG9uZW50ID0ge1xuXHRcdGdldE1hbmlmZXN0OiBmdW5jdGlvbigpIHtcblx0XHRcdHJldHVybiBvTWFuaWZlc3Q7XG5cdFx0fVxuXHR9O1xuXG5cdC8vIE1vY2sgZm9yIHJvdXRlclxuXHRjb25zdCBvTW9ja0hhc2hDaGFuZ2VyID0ge1xuXHRcdHJlcGxhY2VIYXNoOiBqZXN0LmZuKClcblx0fTtcblx0Y29uc3Qgb01vY2tSb3V0ZXIgPSB7XG5cdFx0Z2V0SGFzaENoYW5nZXI6IGZ1bmN0aW9uKCkge1xuXHRcdFx0cmV0dXJuIG9Nb2NrSGFzaENoYW5nZXI7XG5cdFx0fVxuXHR9O1xuXG5cdGxldCBvUm91dGluZ1NlcnZpY2U6IGFueTtcblx0Y29uc3QgbW9ja01vZGVsID0gbmV3IE1vY2tNb2RlbCgpO1xuXHRjb25zdCBzYWxlc09yZGVyc0xCID0gbmV3IE1vY2tMaXN0QmluZGluZyhbeyAkcGF0aDogXCIvU2FsZXNPcmRlcihJRD0xLElzQWN0aXZlRW50aXR5PXRydWUpXCIsIFNhbGVzT3JkZXJOYW1lOiBcIk5hbWUxXCIgfV0sIG1vY2tNb2RlbCk7XG5cdGNvbnN0IHNhbGVzT3JkZXJJdGVtc0xCID0gbmV3IE1vY2tMaXN0QmluZGluZyhbeyAkcGF0aDogXCIvSXRlbShJRD0yLElzQWN0aXZlRW50aXR5PXRydWUpXCIgfV0sIG1vY2tNb2RlbCk7XG5cblx0YmVmb3JlQWxsKGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBzTWV0YWRhdGFVcmwgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vZGF0YS9Sb3V0aW5nU2VydmljZUZhY3RvcnkuY2RzXCIpKTtcblx0XHRjb25zdCBtZXRhTW9kZWwgPSBhd2FpdCBnZXRNZXRhTW9kZWwoc01ldGFkYXRhVXJsKTtcblxuXHRcdG1vY2tNb2RlbC5zZXRNZXRhTW9kZWwobWV0YU1vZGVsKTtcblxuXHRcdG9Sb3V0aW5nU2VydmljZSA9IGF3YWl0IFJvdXRpbmdTZXJ2aWNlRmFjdG9yeS5wcm90b3R5cGUuY3JlYXRlSW5zdGFuY2Uob1NlcnZpY2VDb250ZXh0KTtcblx0XHRvUm91dGluZ1NlcnZpY2Uub0FwcENvbXBvbmVudCA9IG9Nb2NrQXBwQ29tcG9uZW50O1xuXHRcdG9Sb3V0aW5nU2VydmljZS5vTW9kZWwgPSBtb2NrTW9kZWw7XG5cdFx0b1JvdXRpbmdTZXJ2aWNlLm9Sb3V0ZXIgPSBvTW9ja1JvdXRlcjtcblx0fSk7XG5cblx0YmVmb3JlRWFjaCgoKSA9PiB7XG5cdFx0b01vY2tIYXNoQ2hhbmdlci5yZXBsYWNlSGFzaC5tb2NrUmVzZXQoKTtcblx0XHRtb2NrTW9kZWwuYmluZExpc3QubW9ja1Jlc2V0KCk7XG5cdFx0bW9ja01vZGVsLmJpbmRMaXN0XG5cdFx0XHQubW9ja0ltcGxlbWVudGF0aW9uT25jZSgoLi4uYXJncykgPT4ge1xuXHRcdFx0XHRyZXR1cm4gKHNhbGVzT3JkZXJzTEIgYXMgYW55KSBhcyBPRGF0YUxpc3RCaW5kaW5nO1xuXHRcdFx0fSlcblx0XHRcdC5tb2NrSW1wbGVtZW50YXRpb25PbmNlKCguLi5hcmdzKSA9PiB7XG5cdFx0XHRcdHJldHVybiAoc2FsZXNPcmRlckl0ZW1zTEIgYXMgYW55KSBhcyBPRGF0YUxpc3RCaW5kaW5nO1xuXHRcdFx0fSk7XG5cdFx0b1JvdXRpbmdTZXJ2aWNlLnNldExhc3RTZW1hbnRpY01hcHBpbmcobnVsbCk7XG5cdH0pO1xuXG5cdGNvbnN0IG9UZXN0RGF0YSA9IFtcblx0XHR7XG5cdFx0XHRkZXNjOiBcImhhc2ggbm90IHJlcGxhY2VkIGlmIG5vIHN0YXJ0dXAgcGFyYW1ldGVyc1wiLFxuXHRcdFx0c3RhcnR1cFBhcmFtZXRlcnM6IHt9LFxuXHRcdFx0ZXhwZWN0ZWRIYXNoOiB1bmRlZmluZWRcblx0XHR9LFxuXHRcdHtcblx0XHRcdGRlc2M6IFwiaGFzaCBub3QgcmVwbGFjZWQgaWYgc3RhcnR1cCBwYXJhbWV0ZXJzIGRvbid0IG1hdGNoIHdpdGgga2V5c1wiLFxuXHRcdFx0c3RhcnR1cFBhcmFtZXRlcnM6IHsgeHg6IFtcIi1cIl0gfSxcblx0XHRcdGV4cGVjdGVkSGFzaDogdW5kZWZpbmVkXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRkZXNjOiBcImhhc2ggbm90IHJlcGxhY2VkIGlmIHN0YXJ0dXAgcGFyYW1ldGVycyBkb24ndCBjb250YWluIGFsbCBrZXlzXCIsXG5cdFx0XHRzdGFydHVwUGFyYW1ldGVyczogeyBJRDogW1widW51c2VkXCJdIH0sXG5cdFx0XHRleHBlY3RlZEhhc2g6IHVuZGVmaW5lZFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0ZGVzYzogXCJoYXNoIG5vdCByZXBsYWNlZCBpZiBzdGFydHVwIHBhcmFtZXRlcnMgZG9uJ3QgY29udGFpbiBhbGwga2V5cyBmb3IgbGV2ZWwgMVwiLFxuXHRcdFx0c3RhcnR1cFBhcmFtZXRlcnM6IHsgSUQ6IFtcInVudXNlZFwiXSwgSXRlbU5hbWU6IFtcInVudXNlZFwiXSwgT3JkZXJJRDogW1widW51c2VkXCJdIH0sXG5cdFx0XHRleHBlY3RlZEhhc2g6IHVuZGVmaW5lZFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0ZGVzYzogXCJoYXNoIHJlcGxhY2VkIGlmIHN0YXJ0dXAgcGFyYW1ldGVycyBjb250YWluIHRlY2huaWNhbCBrZXlzIGZvciBsZXZlbCAxXCIsXG5cdFx0XHRzdGFydHVwUGFyYW1ldGVyczogeyBJRDogW1widW51c2VkXCJdLCBJc0FjdGl2ZUVudGl0eTogW1widW51c2VkXCJdIH0sXG5cdFx0XHRleHBlY3RlZEhhc2g6IFwiU2FsZXNPcmRlcignTmFtZTEnKVwiLFxuXHRcdFx0dGVjaG5pY2FsSGFzaDogXCJTYWxlc09yZGVyKElEPTEsSXNBY3RpdmVFbnRpdHk9dHJ1ZSlcIlxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0ZGVzYzogXCJoYXNoIHJlcGxhY2VkIGlmIHN0YXJ0dXAgcGFyYW1ldGVycyBjb250YWluIHNlbWFudGljIGtleXMgZm9yIGxldmVsIDFcIixcblx0XHRcdHN0YXJ0dXBQYXJhbWV0ZXJzOiB7IFNhbGVzT3JkZXJOYW1lOiBbXCJ1bnVzZWRcIl0gfSxcblx0XHRcdGV4cGVjdGVkSGFzaDogXCJTYWxlc09yZGVyKCdOYW1lMScpXCIsXG5cdFx0XHR0ZWNobmljYWxIYXNoOiBcIlNhbGVzT3JkZXIoSUQ9MSxJc0FjdGl2ZUVudGl0eT10cnVlKVwiXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRkZXNjOiBcImhhc2ggcmVwbGFjZWQgaWYgc3RhcnR1cCBwYXJhbWV0ZXJzIGNvbnRhaW4gdGVjaG5pY2FsIGtleXMgZm9yIGxldmVsIDEgYW5kIHNlbWFudGljIGtleXMgZm9yIGxldmVsIDJcIixcblx0XHRcdHN0YXJ0dXBQYXJhbWV0ZXJzOiB7IElEOiBbXCJ1bnVzZWRcIl0sIElzQWN0aXZlRW50aXR5OiBbXCJ1bnVzZWRcIl0sIEl0ZW1OYW1lOiBbXCJ1bnVzZWRcIl0sIE9yZGVySUQ6IFtcInVudXNlZFwiXSB9LFxuXHRcdFx0ZXhwZWN0ZWRIYXNoOiBcIlNhbGVzT3JkZXIoSUQ9MSxJc0FjdGl2ZUVudGl0eT10cnVlKS9fSXRlbShJRD0yLElzQWN0aXZlRW50aXR5PXRydWUpXCJcblx0XHR9LFxuXHRcdHtcblx0XHRcdGRlc2M6IFwiaGFzaCByZXBsYWNlZCBpZiBzdGFydHVwIHBhcmFtZXRlcnMgY29udGFpbiBzZW1hbnRpYyBrZXlzIGZvciBsZXZlbCAxIGFuZCAyXCIsXG5cdFx0XHRzdGFydHVwUGFyYW1ldGVyczogeyBTYWxlc09yZGVyTmFtZTogW1widW51c2VkXCJdLCBJdGVtTmFtZTogW1widW51c2VkXCJdLCBPcmRlcklEOiBbXCJ1bnVzZWRcIl0gfSxcblx0XHRcdGV4cGVjdGVkSGFzaDogXCJTYWxlc09yZGVyKElEPTEsSXNBY3RpdmVFbnRpdHk9dHJ1ZSkvX0l0ZW0oSUQ9MixJc0FjdGl2ZUVudGl0eT10cnVlKVwiXG5cdFx0fVxuXHRdO1xuXG5cdGl0LmVhY2gob1Rlc3REYXRhKShcIiRkZXNjXCIsIGFzeW5jICh7IHN0YXJ0dXBQYXJhbWV0ZXJzLCBleHBlY3RlZEhhc2gsIHRlY2huaWNhbEhhc2ggfSkgPT4ge1xuXHRcdGF3YWl0IG9Sb3V0aW5nU2VydmljZS5fbWFuYWdlRGVlcExpbmtTdGFydHVwKHN0YXJ0dXBQYXJhbWV0ZXJzKTtcblx0XHRpZiAoZXhwZWN0ZWRIYXNoID09PSB1bmRlZmluZWQpIHtcblx0XHRcdGV4cGVjdChvTW9ja0hhc2hDaGFuZ2VyLnJlcGxhY2VIYXNoLm1vY2suY2FsbHMpLnRvSGF2ZUxlbmd0aCgwKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZXhwZWN0KG9Nb2NrSGFzaENoYW5nZXIucmVwbGFjZUhhc2gubW9jay5jYWxscykudG9IYXZlTGVuZ3RoKDEpO1xuXHRcdFx0ZXhwZWN0KG9Nb2NrSGFzaENoYW5nZXIucmVwbGFjZUhhc2gubW9jay5jYWxsc1swXVswXSkudG9FcXVhbChleHBlY3RlZEhhc2gpO1xuXHRcdFx0aWYgKHRlY2huaWNhbEhhc2ggIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRleHBlY3Qob1JvdXRpbmdTZXJ2aWNlLmdldExhc3RTZW1hbnRpY01hcHBpbmcoKSkudG9FcXVhbCh7XG5cdFx0XHRcdFx0dGVjaG5pY2FsUGF0aDogXCIvXCIgKyB0ZWNobmljYWxIYXNoLFxuXHRcdFx0XHRcdHNlbWFudGljUGF0aDogXCIvXCIgKyBleHBlY3RlZEhhc2hcblx0XHRcdFx0fSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRleHBlY3Qob1JvdXRpbmdTZXJ2aWNlLmdldExhc3RTZW1hbnRpY01hcHBpbmcoKSkudG9CZU51bGwoKTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xufSk7XG4iXX0=