@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
@@ -18,7 +18,9 @@ sap.ui.define(
18
18
  "sap/fe/core/helpers/ModelHelper",
19
19
  "sap/fe/core/helpers/EditState",
20
20
  "sap/fe/core/actions/messageHandling",
21
- "sap/fe/core/controllerextensions/Placeholder"
21
+ "sap/fe/core/controllerextensions/Placeholder",
22
+ "sap/fe/core/helpers/AppStartupHelper",
23
+ "sap/ui/model/odata/v4/ODataUtils"
22
24
  ],
23
25
  function(
24
26
  Service,
@@ -34,7 +36,9 @@ sap.ui.define(
34
36
  ModelHelper,
35
37
  EditState,
36
38
  MessageHandling,
37
- Placeholder
39
+ Placeholder,
40
+ AppStartupHelper,
41
+ ODataUtils
38
42
  ) {
39
43
  "use strict";
40
44
 
@@ -72,10 +76,11 @@ sap.ui.define(
72
76
 
73
77
  this.initPromise = Promise.resolve(that);
74
78
  },
75
-
76
- exit: function() {
79
+ beforeExit: function() {
77
80
  this.oRouter.detachRouteMatched(this._fnOnRouteMatched);
78
81
  this.eventProvider.fireEvent("routeMatched", {});
82
+ },
83
+ exit: function() {
79
84
  this.eventProvider.destroy();
80
85
  },
81
86
 
@@ -114,7 +119,7 @@ sap.ui.define(
114
119
 
115
120
  // Check route pattern: all patterns need to end with ':?query:', that we use for parameters
116
121
  if (sRoutePattern.length < 8 || sRoutePattern.indexOf(":?query:") !== sRoutePattern.length - 8) {
117
- Log.error("Pattern for route " + sRouteName + " doesn't end with ':?query:' : " + sRoutePattern);
122
+ Log.warning("Pattern for route " + sRouteName + " doesn't end with ':?query:' : " + sRoutePattern);
118
123
  }
119
124
  var iRouteLevel = that._getViewLevelFromPattern(sRoutePattern, 0);
120
125
  that._mRoutes[sRouteName] = {
@@ -212,13 +217,13 @@ sap.ui.define(
212
217
  that.sContextPath = oSettings.contextPath || "/" + oSettings.entitySet;
213
218
  }
214
219
  if (!that.sContextPath) {
215
- Log.error(
220
+ Log.warning(
216
221
  "Cannot determine default contextPath: contextPath or entitySet missing in default target: " +
217
222
  sDefaultTargetName
218
223
  );
219
224
  }
220
225
  } else {
221
- Log.error("Cannot determine default contextPath: no default route found.");
226
+ Log.warning("Cannot determine default contextPath: no default route found.");
222
227
  }
223
228
 
224
229
  // We need to establish the correct path to the different pages, including the navigation properties
@@ -235,11 +240,7 @@ sap.ui.define(
235
240
  var settings = target.options.settings;
236
241
  var sContextPath = settings.contextPath || (settings.entitySet ? "/" + settings.entitySet : "");
237
242
  if (!settings.fullContextPath && sContextPath) {
238
- if (target.viewLevel === 0 || target.viewLevel === undefined) {
239
- settings.fullContextPath = "/";
240
- } else {
241
- settings.fullContextPath = sContextPath + "/";
242
- }
243
+ settings.fullContextPath = sContextPath + "/";
243
244
  }
244
245
  Object.keys(settings.navigation || {}).forEach(function(sNavName) {
245
246
  // Check if it's a navigation property
@@ -251,13 +252,12 @@ sap.ui.define(
251
252
  that._mTargets[sTargetName].options.settings &&
252
253
  !that._mTargets[sTargetName].options.settings.fullContextPath
253
254
  ) {
254
- var targetNav;
255
- if (sNavName.startsWith("/")) {
256
- targetNav = sNavName;
255
+ if (target.viewLevel === 0) {
256
+ that._mTargets[sTargetName].options.settings.fullContextPath = "/" + sNavName + "/";
257
257
  } else {
258
- targetNav = settings.fullContextPath + sNavName;
258
+ that._mTargets[sTargetName].options.settings.fullContextPath =
259
+ settings.fullContextPath + sNavName + "/";
259
260
  }
260
- that._mTargets[sTargetName].options.settings.fullContextPath = targetNav + "/";
261
261
  }
262
262
  });
263
263
  }
@@ -366,6 +366,7 @@ sap.ui.define(
366
366
  var oParametersPromise;
367
367
  try {
368
368
  var sContextPath = oContext.getPath();
369
+ var oMetaModel = oContext.getModel().getMetaModel();
369
370
  var aContextPathParts = sContextPath.split("/");
370
371
  var aAllResolvedParameterPromises = Object.keys(mParameters).map(
371
372
  function(sParameterKey) {
@@ -378,7 +379,14 @@ sap.ui.define(
378
379
  // We go up the current context path as many times as necessary
379
380
  var aLocalParts = aContextPathParts.slice(0, aContextPathParts.length - aRelativeParts.length + 1);
380
381
  aLocalParts.push(aRelativeParts[aRelativeParts.length - 1]);
381
- return oContext.requestProperty(aLocalParts.join("/"));
382
+
383
+ var sPropertyPath = aLocalParts.join("/");
384
+ var oMetaContext = oMetaModel.getMetaContext(sPropertyPath);
385
+ return oContext.requestProperty(sPropertyPath).then(function(oValue) {
386
+ var oPropertyInfo = oMetaContext.getObject();
387
+ var sEdmType = oPropertyInfo.$Type;
388
+ return ODataUtils.formatLiteral(oValue, sEdmType);
389
+ });
382
390
  });
383
391
 
384
392
  return Promise.all(aResolvedParameterPromises).then(
@@ -530,7 +538,35 @@ sap.ui.define(
530
538
  }.bind(this)
531
539
  );
532
540
  }
533
- return this.oRouterProxy.navToHash(sTargetPath, false, mParameters.noPreservationCache, mParameters.bForceFocus);
541
+
542
+ var that = this;
543
+ return this.oRouterProxy
544
+ .navToHash(sTargetPath, false, mParameters.noPreservationCache, mParameters.bForceFocus)
545
+ .then(function(bNavigated) {
546
+ if (!bNavigated) {
547
+ // The navigation did not happen --> remove the navigation parameters from the queue as they shouldn't be used
548
+ that.navigationInfoQueue.pop();
549
+ }
550
+ });
551
+ },
552
+
553
+ /**
554
+ * Navigates to a route.
555
+ *
556
+ * @function
557
+ * @name sap.fe.core.controllerextensions.Routing#navigateToRoute
558
+ * @memberof sap.fe.core.controllerextensions.Routing
559
+ * @static
560
+ * @param {string} [sTargetRouteName] Name of the target route
561
+ * @param {object} [oRouteParameters] Parameters to be used with route to create the target hash
562
+ * @returns {Promise} Promise that is resolved when the navigation is finalized
563
+ *
564
+ * @ui5-restricted
565
+ * @final
566
+ */
567
+ navigateToRoute: function(sTargetRouteName, oRouteParameters) {
568
+ var sTargetURL = this.oRouter.getURL(sTargetRouteName, oRouteParameters);
569
+ return this.oRouterProxy.navToHash(sTargetURL);
534
570
  },
535
571
 
536
572
  /**
@@ -772,18 +808,15 @@ sap.ui.define(
772
808
  .getStartupParameters()
773
809
  .then(function(oStartupParameters) {
774
810
  var bHasStartUpParameters = oStartupParameters !== undefined && Object.keys(oStartupParameters).length !== 0;
811
+ var sHash = that.oRouter.getHashChanger().getHash();
775
812
  // Manage startup parameters (in case of no iapp-state)
776
- if (!bIsIappState && bHasStartUpParameters) {
777
- var sHash = that.oRouter.getHashChanger().getHash();
778
- if (
779
- oStartupParameters.preferredMode &&
780
- oStartupParameters.preferredMode[0].indexOf("create") !== -1 &&
781
- !sHash
782
- ) {
783
- // Logic for create mode
784
- return that._managePreferredModeCreateStartup(oStartupParameters);
813
+ if (!bIsIappState && bHasStartUpParameters && !sHash) {
814
+ if (oStartupParameters.preferredMode && oStartupParameters.preferredMode[0].indexOf("create") !== -1) {
815
+ // Create mode
816
+ return that._manageCreateStartup(oStartupParameters);
785
817
  } else {
786
- return that._manageDeeplinkStartup(oStartupParameters);
818
+ // Deep link
819
+ return that._manageDeepLinkStartup(oStartupParameters);
787
820
  }
788
821
  }
789
822
  })
@@ -795,337 +828,51 @@ sap.ui.define(
795
828
  },
796
829
 
797
830
  getDefaultCreateHash: function(oStartupParameters) {
798
- var sContextPath = this.getContextPath(),
799
- sDefaultCreateHash =
800
- oStartupParameters && oStartupParameters.preferredMode ? oStartupParameters.preferredMode[0] : "create",
801
- sHash;
802
-
803
- sDefaultCreateHash =
804
- sDefaultCreateHash.indexOf(":") !== -1 && sDefaultCreateHash.length > sDefaultCreateHash.indexOf(":") + 1
805
- ? sDefaultCreateHash.substr(0, sDefaultCreateHash.indexOf(":"))
806
- : "create";
807
- sHash = sContextPath.substring(1) + "(...)?i-action=" + sDefaultCreateHash;
808
- if (this.oRouter.getRouteInfoByHash(sHash)) {
809
- return sHash;
810
- } else {
811
- throw new Error("No route match for creating a new " + sContextPath.substring(1));
812
- }
813
- },
814
-
815
- _managePreferredModeCreateStartup: function(oStartupParameters) {
816
- var that = this;
817
- return this.oMetaModel
818
- .requestObject(this.getContextPath() + "@")
819
- .then(function(oEntitySetAnnotations) {
820
- var sMetaPath,
821
- bCreatable = true;
822
- if (
823
- oEntitySetAnnotations["@com.sap.vocabularies.Common.v1.DraftRoot"] &&
824
- oEntitySetAnnotations["@com.sap.vocabularies.Common.v1.DraftRoot"]["NewAction"]
825
- ) {
826
- sMetaPath =
827
- that.getContextPath() +
828
- "@com.sap.vocabularies.Common.v1.DraftRoot/NewAction@Org.OData.Core.V1.OperationAvailable";
829
- } else if (
830
- oEntitySetAnnotations["@com.sap.vocabularies.Session.v1.StickySessionSupported"] &&
831
- oEntitySetAnnotations["@com.sap.vocabularies.Session.v1.StickySessionSupported"]["NewAction"]
832
- ) {
833
- sMetaPath =
834
- that.getContextPath() +
835
- "@com.sap.vocabularies.Session.v1.StickySessionSupported/NewAction@Org.OData.Core.V1.OperationAvailable";
836
- }
837
- if (sMetaPath) {
838
- var bNewActionOperationAvailable = that.oMetaModel.getObject(sMetaPath);
839
- if (bNewActionOperationAvailable === false) {
840
- bCreatable = false;
841
- }
842
- } else {
843
- var oInsertRestrictions = oEntitySetAnnotations["@Org.OData.Capabilities.V1.InsertRestrictions"];
844
- if (oInsertRestrictions && oInsertRestrictions.Insertable === false) {
845
- bCreatable = false;
846
- }
847
- }
848
- if (bCreatable) {
849
- var sPath = that.getDefaultCreateHash(oStartupParameters);
850
- that.oRouter.getHashChanger().replaceHash(sPath);
851
- that.bExitOnNavigateBackToRoot = true;
852
- }
853
- })
854
- .catch(function() {
855
- Log.error("Cannot fetch the Annotations");
856
- });
831
+ return AppStartupHelper.getDefaultCreateHash(oStartupParameters, this.getContextPath(), this.oRouter);
857
832
  },
858
833
 
859
- _requestObjectsFromParameters: function(oStartUpParameters, aExternallyNavigablePages) {
834
+ _manageCreateStartup: function(oStartupParameters) {
860
835
  var that = this;
861
836
 
862
- // Load the respective objects for all object pages found in aExternallyNavigablePages
863
- var aContextPromises = aExternallyNavigablePages.map(function(oPage) {
864
- var oCompleteFilter, oListBind;
865
- if (oPage.isSemanticKeyNavigation) {
866
- oCompleteFilter = that._createFilter(oPage.draft, oPage.semanticKeys, oStartUpParameters);
867
- } else {
868
- oCompleteFilter = that._createFilter(oPage.draft, oPage.technicalKeys, oStartUpParameters);
869
- }
870
- // only request a minimum of fields to boost backend performance since this is only used to check if an object exists
871
- oListBind = that.oModel.bindList(oPage.contextPath, undefined, undefined, oCompleteFilter, {
872
- "$select": oPage.isSemanticKeyNavigation
873
- ? oPage.semanticKeys.map(function(key) {
874
- return key.$PropertyPath;
875
- })
876
- : oPage.technicalKeys
877
- });
878
- return oListBind.requestContexts(0, 2);
879
- });
880
-
881
- return Promise.all(aContextPromises);
882
- },
883
-
884
- _manageDeeplinkStartup: function(oStartUpParameters) {
885
- var that = this,
886
- aExternallyNavigablePages;
887
-
888
- // Need to preload the entity set informations in the metamodel
889
- return this.oMetaModel
890
- .requestObject("/$EntityContainer/")
891
- .then(function() {
892
- // Check if semantic keys are present in url parameters for every object page at each level
893
- var oLevelOfObjectPages = that._getNavigablePages(that.oAppComponent.getManifest()["sap.ui5"].routing);
894
-
895
- aExternallyNavigablePages = that._findTargetPagesFromStartupParams(oLevelOfObjectPages, oStartUpParameters);
896
-
897
- return that._requestObjectsFromParameters(oStartUpParameters, aExternallyNavigablePages);
898
- })
899
- .then(function(aValues) {
900
- if (aValues.length) {
901
- // Make sure we only get 1 context per promise, and flatten the array
902
- var aContexts = [];
903
- aValues.forEach(function(aFoundContexts) {
904
- if (aFoundContexts.length === 1) {
905
- aContexts.push(aFoundContexts[0]);
906
- }
907
- });
908
-
909
- // Keep hash if navigation has been done, navigation takes precedence over Startup parameters
910
- if (aContexts.length === aValues.length && !that.oRouter.getHashChanger().getHash()) {
911
- var sHash = that._buildStartupHash(aExternallyNavigablePages, aContexts);
912
- if (sHash) {
913
- //Replace the hash with newly created hash
914
- that.oRouter.getHashChanger().replaceHash(sHash);
915
- }
916
- }
837
+ return AppStartupHelper.getCreateStartupHash(oStartupParameters, that.getContextPath(), that.oRouter, that.oMetaModel).then(
838
+ function(sNewHash) {
839
+ if (sNewHash) {
840
+ that.oRouter.getHashChanger().replaceHash(sNewHash);
841
+ that.bExitOnNavigateBackToRoot = true;
917
842
  }
918
- })
919
- .catch(function(error) {
920
- Log.info("Could not find results for list bind: " + error);
921
- });
922
- },
923
-
924
- _getNavigablePages: function(oRouting) {
925
- var aRoutes = oRouting.routes,
926
- oTargets = oRouting.targets,
927
- mPageMap = {};
928
- for (var i = 0; i < aRoutes.length; i++) {
929
- var oPage = {},
930
- sPattern = aRoutes[i].pattern,
931
- sTarget = aRoutes[i].target,
932
- iLevel = sPattern.split("/").length - 1;
933
- oPage["pattern"] = sPattern;
934
- if (sPattern === ":?query:" || sPattern === "") {
935
- continue;
936
- }
937
- if (iLevel === 1 && sPattern.split("/")[iLevel] === ":?query:") {
938
- iLevel = 0;
939
- }
940
- oPage["level"] = iLevel;
941
- if (Array.isArray(sTarget)) {
942
- //target is Array in case of FCL
943
- oPage["target"] = sTarget[sTarget.length - 1];
944
- } else {
945
- oPage["target"] = sTarget;
946
- }
947
- if (oTargets[oPage.target].options && oTargets[oPage.target].options.settings) {
948
- oPage["allowDeepLinking"] = oTargets[oPage.target].options.settings.allowDeepLinking;
949
- var sContextPath =
950
- oTargets[oPage.target].options.settings.contextPath ||
951
- (oTargets[oPage.target].options.settings.entitySet && "/" + oTargets[oPage.target].options.settings.entitySet);
952
- oPage["contextPath"] = sContextPath;
953
- }
954
- if (!oPage["allowDeepLinking"] && oPage["level"] !== 0) {
955
- continue;
956
- } else if (!mPageMap[oPage.level]) {
957
- mPageMap[oPage.level] = [];
958
843
  }
959
- mPageMap[oPage.level].push(oPage);
960
- }
961
- return mPageMap;
844
+ );
962
845
  },
963
846
 
964
- /**
965
- * For each level (starting at 0), find the first object page corresponding to an object
966
- * that can be determined with the keys passed as startup parameters.
967
- * Stop when no OP that can be can be found for a given level.
968
- *
969
- * @param {object} mPagesByLevel A map (level --> array of pages at that level)
970
- * @param {object} oStartupParameters The startup parameters of the application
971
- * @returns {Array} Array of all pages that can be reached with the provided parameters
972
- */
973
- _findTargetPagesFromStartupParams: function(mPagesByLevel, oStartupParameters) {
974
- var iLevel = 0,
975
- aReachablePages = [],
976
- bFound = true;
977
-
978
- while (bFound && iLevel in mPagesByLevel) {
979
- var aObjectPages = mPagesByLevel[iLevel];
980
-
981
- // loop through pages at each level
982
- // use for-loop to break early
983
- bFound = false;
984
- for (var i = 0; i < aObjectPages.length; ++i) {
985
- var oObjectPage = aObjectPages[i];
986
- if (!oObjectPage.contextPath && oObjectPage.level === 0) {
987
- oObjectPage.contextPath = this.getContextPath();
988
- }
989
- if (!oObjectPage.contextPath) {
990
- continue;
991
- }
992
-
993
- oObjectPage.entityType = this.oMetaModel.getObject("/$EntityContainer" + oObjectPage.contextPath + "/");
994
- oObjectPage.draft =
995
- this.oMetaModel.getObject(
996
- "/$EntityContainer" + oObjectPage.contextPath + "@com.sap.vocabularies.Common.v1.DraftRoot"
997
- ) ||
998
- this.oMetaModel.getObject(
999
- "/$EntityContainer" + oObjectPage.contextPath + "@com.sap.vocabularies.Common.v1.DraftNode"
1000
- );
1001
- oObjectPage.technicalKeys = oObjectPage.entityType["$Key"];
1002
- oObjectPage.semanticKeys = this.oMetaModel.getObject(
1003
- "/$EntityContainer" + oObjectPage.contextPath + "/@com.sap.vocabularies.Common.v1.SemanticKey"
1004
- );
1005
-
1006
- if (this._checkForKeys(oObjectPage.semanticKeys, oStartupParameters)) {
1007
- // make record if semantic keys are available in URL params
1008
- oObjectPage.isSemanticKeyNavigation = true;
1009
- aReachablePages.push(oObjectPage);
1010
- bFound = true;
1011
- break;
1012
- } else if (oObjectPage.level === 0 && this._checkForKeys(oObjectPage.technicalKeys, oStartupParameters)) {
1013
- // Support for Technical Keys for root level object page
1014
- oObjectPage.isSemanticKeyNavigation = false;
1015
- aReachablePages.push(oObjectPage);
1016
- bFound = true;
1017
- break;
1018
- }
1019
- }
1020
-
1021
- ++iLevel;
1022
- }
1023
-
1024
- return aReachablePages;
1025
- },
847
+ _manageDeepLinkStartup: function(oStartupParameters) {
848
+ var that = this;
1026
849
 
1027
- /**
1028
- * Creates the filter for the entity set.
1029
- *
1030
- * @param {object} oDraftDetail The details of draft node
1031
- * @param {Array} aKeys Array of semantic keys or technical keys of the page
1032
- * @param {object} oStartUpParameters URL parameters
1033
- * @returns {object} Filters for the entity set
1034
- */
1035
- _createFilter: function(oDraftDetail, aKeys, oStartUpParameters) {
1036
- var aFilters = [],
1037
- bFilteringCaseSensitive = ModelHelper.isFilteringCaseSensitive(this.oMetaModel);
1038
-
1039
- for (var j = 0; j < aKeys.length; j++) {
1040
- var sProperty = aKeys[j].$PropertyPath;
1041
- if (!sProperty) {
1042
- // Technical Keys Scenario
1043
- sProperty = aKeys[j];
1044
- if (sProperty === "IsActiveEntity") {
1045
- oDraftDetail = false;
850
+ return AppStartupHelper.getDeepLinkStartupHash(
851
+ this.oAppComponent.getManifest()["sap.ui5"].routing,
852
+ oStartupParameters,
853
+ this.oModel
854
+ ).then(function(oDeepLink) {
855
+ var sHash;
856
+ if (oDeepLink.context) {
857
+ var sTechnicalPath = oDeepLink.context.getPath(),
858
+ sSemanticPath = SemanticKeyHelper.getSemanticPath(oDeepLink.context);
859
+
860
+ if (sSemanticPath !== sTechnicalPath) {
861
+ // Store the mapping technical <-> semantic path to avoid recalculating it later
862
+ // and use the semantic path instead of the technical one
863
+ that.setLastSemanticMapping({ technicalPath: sTechnicalPath, semanticPath: sSemanticPath });
1046
864
  }
1047
- }
1048
- var sValue = oStartUpParameters[sProperty][0];
1049
- if (sValue) {
1050
- aFilters.push(
1051
- new Filter({
1052
- path: sProperty,
1053
- operator: FilterOperator.EQ,
1054
- value1: sValue,
1055
- caseSensitive: bFilteringCaseSensitive
1056
- })
1057
- );
1058
- } else {
1059
- return undefined;
1060
- }
1061
- }
1062
- if (oDraftDetail) {
1063
- var oDraftFilter = new Filter({
1064
- filters: [new Filter("IsActiveEntity", "EQ", false), new Filter("SiblingEntity/IsActiveEntity", "EQ", null)],
1065
- and: false
1066
- });
1067
- aFilters.push(oDraftFilter);
1068
- }
1069
- var oCompleteFilter = new Filter(aFilters, true);
1070
- return oCompleteFilter;
1071
- },
1072
865
 
1073
- /**
1074
- * Check for Semantic Keys/ Technical Keys in the URL.
1075
- *
1076
- * @param {Array} aKeys Array of semantic keys or technical keys of the page
1077
- * @param {object} oParameters URL parameters
1078
- * @returns {boolean} True if Semantic Keys are available in URL
1079
- */
1080
- _checkForKeys: function(aKeys, oParameters) {
1081
- if (aKeys && aKeys.length) {
1082
- for (var j = 0; j < aKeys.length; j++) {
1083
- var sPropertyPath = aKeys[j].$PropertyPath;
1084
- if (!sPropertyPath) {
1085
- // Technical Keys do not require $ProperyPath
1086
- sPropertyPath = aKeys[j];
1087
- }
1088
- var aPropertyValue = oParameters[sPropertyPath];
1089
- if (!aPropertyValue || (aPropertyValue && aPropertyValue.length > 1)) {
1090
- return false;
1091
- }
866
+ sHash = sSemanticPath.substring(1); // To remove the leading '/'
867
+ } else if (oDeepLink.hash) {
868
+ sHash = oDeepLink.hash;
1092
869
  }
1093
- return true;
1094
- }
1095
- return false;
1096
- },
1097
-
1098
- _buildStartupHash: function(aReachablePages, aContexts) {
1099
- var sHash;
1100
870
 
1101
- if (aContexts.length === 1) {
1102
- // Navigation to first-level object page
1103
- // We check if we have to use a semantic path
1104
- var sTechnicalPath = aContexts[0].getPath(),
1105
- sSemanticPath = SemanticKeyHelper.getSemanticPath(aContexts[0]);
1106
-
1107
- if (sSemanticPath !== sTechnicalPath) {
1108
- // Store the mapping technical <-> semantic path to avoid recalculating it later
1109
- // and use the semantic path instead of the technical one
1110
- this.setLastSemanticMapping({ technicalPath: sTechnicalPath, semanticPath: sSemanticPath });
871
+ if (sHash) {
872
+ //Replace the hash with newly created hash
873
+ that.oRouter.getHashChanger().replaceHash(sHash);
1111
874
  }
1112
-
1113
- sHash = sSemanticPath.substring(1); // To remove the leading '/'
1114
- } else if (aContexts.length > 1) {
1115
- // Navigation to a deeper level --> use the pattern of the deepest object page
1116
- // and replace the parameters by the ID from the contexts
1117
- var aParts = aReachablePages[aReachablePages.length - 1].pattern.split("/");
1118
-
1119
- sHash = aParts
1120
- .map(function(sPart, iIndex) {
1121
- var sKey = sPart.split("(")[0];
1122
- var sValue = aContexts[iIndex].getPath().split("(")[1];
1123
- return sKey + "(" + sValue; // sValue contains the closing ')'
1124
- })
1125
- .join("/");
1126
- }
1127
-
1128
- return sHash;
875
+ });
1129
876
  },
1130
877
 
1131
878
  getOutbounds: function() {
@@ -3,4 +3,4 @@
3
3
  (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
 
5
5
  */
6
- sap.ui.define(["sap/ui/core/service/Service","sap/ui/core/service/ServiceFactory","sap/ui/core/Component","sap/ui/base/BindingParser","sap/fe/core/helpers/SemanticKeyHelper","sap/ui/model/Filter","sap/ui/model/FilterOperator","sap/base/Log","sap/ui/base/EventProvider","sap/fe/core/BusyLocker","sap/fe/core/helpers/ModelHelper","sap/fe/core/helpers/EditState","sap/fe/core/actions/messageHandling","sap/fe/core/controllerextensions/Placeholder"],function(S,c,C,B,d,F,e,L,E,f,M,g,h,P){"use strict";var R=E.extend("sap.fe.core.services.RoutingServiceEventing",{metadata:{events:{"routeMatched":{},"afterRouteMatched":{}}}});var k=S.extend("sap.fe.core.services.RoutingService",{init:function(){var t=this;var o=this.getContext();if(o.scopeType==="component"){this.oAppComponent=o.scopeObject;this.oModel=this.oAppComponent.getModel();this.oMetaModel=this.oModel.getMetaModel();this.oRouter=this.oAppComponent.getRouter();this.oRouterProxy=this.oAppComponent.getRouterProxy();this.eventProvider=new R();var r=this.oAppComponent.getManifestEntry("/sap.ui5/routing");var a=this.oAppComponent.getManifestEntry("/sap.ui5/rootView");this._parseRoutingConfiguration(r,a);var A=this.oAppComponent.getManifestEntry("/sap.app");this.outbounds=A&&A.crossNavigation&&A.crossNavigation.outbounds;}this.initPromise=Promise.resolve(t);},exit:function(){this.oRouter.detachRouteMatched(this._fnOnRouteMatched);this.eventProvider.fireEvent("routeMatched",{});this.eventProvider.destroy();},_parseRoutingConfiguration:function(r,o){var t=this,j=o&&o.viewName==="sap.fe.templates.RootContainer.view.Fcl";this._mTargets={};Object.keys(r.targets).forEach(function(T){t._mTargets[T]=Object.assign({targetName:T},r.targets[T]);if(t._mTargets[T].contextPattern!==undefined){t._mTargets[T].viewLevel=t._getViewLevelFromPattern(t._mTargets[T].contextPattern,0);}});this._mRoutes={};for(var s in r.routes){var l=r.routes[s],m=Array.isArray(l.target)?l.target:[l.target],n=Array.isArray(r.routes)?l.name:s,p=l.pattern;if(p.length<8||p.indexOf(":?query:")!==p.length-8){L.error("Pattern for route "+n+" doesn't end with ':?query:' : "+p);}var q=t._getViewLevelFromPattern(p,0);t._mRoutes[n]={name:n,pattern:p,targets:m,routeLevel:q};for(var i=0;i<m.length;i++){var u=t._mTargets[m[i]].parent;if(u){m.push(u);}}if(!j){if(t._mTargets[m[0]].viewLevel===undefined||t._mTargets[m[0]].viewLevel<q){t._mTargets[m[0]].viewLevel=q;}t._mTargets[m[0]].FCLLevel=-1;}else if(m.length===1&&t._mTargets[m[0]].controlAggregation!=="beginColumnPages"){t._mTargets[m[0]].FCLLevel=3;}else{m.forEach(function(T){switch(t._mTargets[T].controlAggregation){case"beginColumnPages":t._mTargets[T].FCLLevel=0;break;case"midColumnPages":t._mTargets[T].FCLLevel=1;break;default:t._mTargets[T].FCLLevel=2;}});}}Object.keys(t._mTargets).forEach(function(T){while(t._mTargets[T].parent){var u=t._mTargets[T].parent;t._mTargets[u].viewLevel=t._mTargets[u].viewLevel||t._mTargets[T].viewLevel;t._mTargets[u].contextPattern=t._mTargets[u].contextPattern||t._mTargets[T].contextPattern;t._mTargets[u].FCLLevel=t._mTargets[u].FCLLevel||t._mTargets[T].FCLLevel;t._mTargets[u].controlAggregation=t._mTargets[u].controlAggregation||t._mTargets[T].controlAggregation;T=u;}});var v=[],w=[],D;for(var N in t._mRoutes){var x=t._mRoutes[N].routeLevel;if(x===0){v.push(N);}else if(x===1){w.push(N);}}if(v.length===1){D=v[0];}else if(w.length===1){D=w[0];}if(D){var y=t._mRoutes[D].targets.slice(-1)[0];t.sContextPath="";if(t._mTargets[y].options&&t._mTargets[y].options.settings){var z=t._mTargets[y].options.settings;t.sContextPath=z.contextPath||"/"+z.entitySet;}if(!t.sContextPath){L.error("Cannot determine default contextPath: contextPath or entitySet missing in default target: "+y);}}else{L.error("Cannot determine default contextPath: no default route found.");}Object.keys(t._mTargets).map(function(T){return t._mTargets[T];}).sort(function(a,b){return a.viewLevel<b.viewLevel?-1:1;}).forEach(function(a){if(a.options){var b=a.options.settings;var A=b.contextPath||(b.entitySet?"/"+b.entitySet:"");if(!b.fullContextPath&&A){if(a.viewLevel===0||a.viewLevel===undefined){b.fullContextPath="/";}else{b.fullContextPath=A+"/";}}Object.keys(b.navigation||{}).forEach(function(G){var H=t._mRoutes[b.navigation[G].detail.route];if(H&&H.targets){H.targets.forEach(function(T){if(t._mTargets[T].options&&t._mTargets[T].options.settings&&!t._mTargets[T].options.settings.fullContextPath){var I;if(G.startsWith("/")){I=G;}else{I=b.fullContextPath+G;}t._mTargets[T].options.settings.fullContextPath=I+"/";}});}});}});},_getViewLevelFromPattern:function(p,v){p=p.replace(":?query:","");var r=new RegExp("/[^/]*$");if(p&&p[0]!=="/"&&p[0]!=="?"){p="/"+p;}if(p.length){p=p.replace(r,"");if(this.oRouter.match(p)||p===""){return this._getViewLevelFromPattern(p,++v);}else{return this._getViewLevelFromPattern(p,v);}}else{return v;}},_getRouteInformation:function(r){return this._mRoutes[r];},_getTargetInformation:function(t){return this._mTargets[t];},_getComponentId:function(o,s){if(s.indexOf(o+"---")===0){return s.substr(o.length+3);}return s;},getTargetInformationFor:function(o){var t=this._getComponentId(o._sOwnerId,o.getId());var a=this;var s=null;Object.keys(this._mTargets).forEach(function(T){if(a._mTargets[T].id===t||a._mTargets[T].viewId===t){s=T;}});return this._getTargetInformation(s);},getLastSemanticMapping:function(){return this.oLastSemanticMapping;},setLastSemanticMapping:function(m){this.oLastSemanticMapping=m;},navigateTo:function(o,r,p,b){var t;if(!p){t=Promise.resolve(d.getSemanticPath(o));}else{t=this.prepareParameters(p,r,o).then(function(m){return this.oRouter.getURL(r,m);}.bind(this));}return t.then(function(T){this.oRouterProxy.navToHash(T,b);}.bind(this));},prepareParameters:function(p,t,o){var a;try{var s=o.getPath();var b=s.split("/");var A=Object.keys(p).map(function(j){var l=p[j];var m=B.complexParser(l);var n=m.parts||[m];var r=n.map(function(q){var u=q.path.split("../");var v=b.slice(0,b.length-u.length+1);v.push(u[u.length-1]);return o.requestProperty(v.join("/"));});return Promise.all(r).then(function(q){var v=m.formatter?m.formatter.apply(this,q):q.join("");return{key:j,value:v};}.bind(this));}.bind(this));a=Promise.all(A).then(function(j){var l={};j.forEach(function(r){l[r.key]=r.value;});return l;});}catch(i){L.error("Could not parse the parameters for the navigation to route "+t);a=Promise.resolve(undefined);}return a;},_fireRouteMatchEvents:function(p){this.eventProvider.fireEvent("routeMatched",p);this.eventProvider.fireEvent("afterRouteMatched",p);g.cleanProcessedEditState();},navigateToContext:function(o,p,v,a){var t,r;if(p.targetPath&&v&&v.navigation){var b=v.navigation[p.targetPath].detail;t=b.route;if(b.parameters){r=this.prepareParameters(b.parameters,t,o);}}var T=this._getPathFromContext(o,p);if(T.length===0&&this.bExitOnNavigateBackToRoot){return this.oRouterProxy.exitFromApp();}if(p.asyncContext||p.bDeferredContext){T+="(...)";}var l=this._calculateLayout(T,p);if(l){T+="?layout="+l;}var n={oAsyncContext:p.asyncContext,bDeferredContext:p.bDeferredContext,bTargetEditable:p.editable,bPersistOPScroll:p.bPersistOPScroll,useContext:p.updateFCLLevel===-1||p.bRecreateContext?undefined:o,bDraftNavigation:p.bDraftNavigation,bShowPlaceholder:p.showPlaceholder!==undefined?p.showPlaceholder:true};if(p.checkNoHashChange){var s=this.oRouterProxy.getHash().replace(/[&?]{1}sap-iapp-state=[A-Z0-9]+/,"");if(T===s){var m=this.oRouter.getRouteInfoByHash(this.oRouterProxy.getHash());m.navigationInfo=n;m.routeInformation=this._getRouteInformation(this.sCurrentRouteName);m.routePattern=this.sCurrentRoutePattern;m.views=this.aCurrentViews;this.oRouterProxy.setFocusForced(p.bForceFocus);this._fireRouteMatchEvents(m);return Promise.resolve();}}if(p.transient&&p.editable==true&&T.indexOf("(...)")===-1){if(T.indexOf("?")>-1){T+="&i-action=create";}else{T+="?i-action=create";}}if(a&&a.name==="sap.fe.templates.ListReport"){var i=this.oRouter.getRouteInfoByHash(T);if(i){var j=this._getRouteInformation(i.name);if(j&&j.targets&&j.targets.length>0){var q=j.targets[j.targets.length-1];var u=this._getTargetInformation(q);if(u&&u.name==="sap.fe.templates.ObjectPage"){h.removeUnboundTransitionMessages();}}}}this.navigationInfoQueue.push(n);if(t&&r){return r.then(function(w){this.oRouter.navTo(t,w);return Promise.resolve();}.bind(this));}return this.oRouterProxy.navToHash(T,false,p.noPreservationCache,p.bForceFocus);},isCurrentStateImpactedBy:function(o){var p=o.getPath();if(this.oRouterProxy.isCurrentStateImpactedBy(p)){return true;}else if(/^[^\(\)]+\([^\(\)]+\)$/.test(p)){var s;if(this.oLastSemanticMapping&&this.oLastSemanticMapping.technicalPath===p){s=this.oLastSemanticMapping.semanticPath;}else{s=d.getSemanticPath(o);}return s!=p?this.oRouterProxy.isCurrentStateImpactedBy(s):false;}else{return false;}},_findPathToNavigate:function(p){var r=new RegExp("/[^/]*$");p=p.replace(r,"");if(this.oRouter.match(p)||p===""){return p;}else{return this._findPathToNavigate(p);}},_checkContextForSemanticPath:function(o){var p=o.getPath();if(!/^\/[^\(]+\([^\)]+\)$/.test(p)){return false;}var m=o.getModel().getMetaModel(),s=m.getMetaContext(o.getPath()).getObject("@sapui.name");if(!d.getSemanticKeys(m,s)){return false;}return M.isDraftSupported(m,p);},_getPathFromContext:function(o,p){var s;if(o.isA("sap.ui.model.odata.v4.ODataListBinding")&&o.isRelative()){s=o.getHeaderContext().getPath();}else{s=o.getPath();}if(p.updateFCLLevel===-1){s=this._findPathToNavigate(s);if(this.oLastSemanticMapping&&this.oLastSemanticMapping.technicalPath===s){s=this.oLastSemanticMapping.semanticPath;}}else if(this._checkContextForSemanticPath(o)){var a=d.getSemanticPath(o,true);if(!a){this.setLastSemanticMapping(undefined);}else if(a!==s){this.setLastSemanticMapping({technicalPath:s,semanticPath:a});s=a;}}if(s[0]==="/"){s=s.substring(1);}return s;},_calculateLayout:function(p,m){var a=m.FCLLevel;if(m.updateFCLLevel){a+=m.updateFCLLevel;if(a<0){a=0;}}return this.oAppComponent.getRootViewController().calculateLayout(a,p,m.sLayout);},_beforeRouteMatched:function(o){var p=new P().isPlaceholderEnabled();if(!p){var r=this.oAppComponent.getRootControl();f.lock(r);}},_onRouteMatched:function(o){var a=this.oAppComponent.getAppStateHandler(),r=this.oAppComponent.getRootControl(),t=this;var p=new P().isPlaceholderEnabled();if(f.isLocked(r)&&!p){f.unlock(r);}var m=o.getParameters();if(this.navigationInfoQueue.length){m.navigationInfo=this.navigationInfoQueue[0];this.navigationInfoQueue=this.navigationInfoQueue.slice(1);}else{m.navigationInfo={};}if(a.checkIfRouteChangedByIApp()){m.navigationInfo.bReasonIsIappState=true;a.resetRouteChangedByIApp();}this.sCurrentRouteName=o.getParameter("name");this.sCurrentRoutePattern=o.getParameters().config.pattern;this.aCurrentViews=o.getParameter("views");m.routeInformation=this._getRouteInformation(this.sCurrentRouteName);m.routePattern=this.sCurrentRoutePattern;this._fireRouteMatchEvents(m);if(!history.state||history.state.feLevel===undefined){this.oRouterProxy.restoreHistory().then(function(){t.oRouterProxy.resolveRouteMatch();}).catch(function(b){L.error("Error while restoring history",b);});}else{this.oRouterProxy.resolveRouteMatch();}},attachRouteMatched:function(D,a,l){this.eventProvider.attachEvent("routeMatched",D,a,l);},detachRouteMatched:function(a,l){this.eventProvider.detachEvent("routeMatched",a,l);},attachAfterRouteMatched:function(D,a,l){this.eventProvider.attachEvent("afterRouteMatched",D,a,l);},detachAfterRouteMatched:function(a,l){this.eventProvider.detachEvent("afterRouteMatched",a,l);},getRouteFromHash:function(r,a){var H=r.getHashChanger().hash;var o=r.getRouteInfoByHash(H);return a.getMetadata().getManifestEntry("/sap.ui5/routing/routes").filter(function(b){return b.name===o.name;})[0];},getTargetsFromRoute:function(r,a){var t=r.target;var b=this;if(typeof t==="string"){return[this._mTargets[t]];}else{var T=[];t.forEach(function(s){T.push(b._mTargets[s]);});return T;}},initializeRouting:function(){var t=this;this._fnOnRouteMatched=this._onRouteMatched.bind(this);this.oRouter.attachRouteMatched(this._fnOnRouteMatched);var p=new P().isPlaceholderEnabled();if(!p){this.oRouter.attachBeforeRouteMatched(this._beforeRouteMatched.bind(this));}this.navigationInfoQueue=[];g.resetEditState();this.bExitOnNavigateBackToRoot=!this.oRouter.match("");var i=t.oRouter.getHashChanger().getHash().indexOf("sap-iapp-state")!==-1;var a=t.oAppComponent.getStartupParameters().then(function(s){var H=s!==undefined&&Object.keys(s).length!==0;if(!i&&H){var b=t.oRouter.getHashChanger().getHash();if(s.preferredMode&&s.preferredMode[0].indexOf("create")!==-1&&!b){return t._managePreferredModeCreateStartup(s);}else{return t._manageDeeplinkStartup(s);}}}).catch(function(o){L.error("Error during routing initialization",o);});return a;},getDefaultCreateHash:function(s){var a=this.getContextPath(),D=s&&s.preferredMode?s.preferredMode[0]:"create",H;D=D.indexOf(":")!==-1&&D.length>D.indexOf(":")+1?D.substr(0,D.indexOf(":")):"create";H=a.substring(1)+"(...)?i-action="+D;if(this.oRouter.getRouteInfoByHash(H)){return H;}else{throw new Error("No route match for creating a new "+a.substring(1));}},_managePreferredModeCreateStartup:function(s){var t=this;return this.oMetaModel.requestObject(this.getContextPath()+"@").then(function(o){var m,b=true;if(o["@com.sap.vocabularies.Common.v1.DraftRoot"]&&o["@com.sap.vocabularies.Common.v1.DraftRoot"]["NewAction"]){m=t.getContextPath()+"@com.sap.vocabularies.Common.v1.DraftRoot/NewAction@Org.OData.Core.V1.OperationAvailable";}else if(o["@com.sap.vocabularies.Session.v1.StickySessionSupported"]&&o["@com.sap.vocabularies.Session.v1.StickySessionSupported"]["NewAction"]){m=t.getContextPath()+"@com.sap.vocabularies.Session.v1.StickySessionSupported/NewAction@Org.OData.Core.V1.OperationAvailable";}if(m){var n=t.oMetaModel.getObject(m);if(n===false){b=false;}}else{var i=o["@Org.OData.Capabilities.V1.InsertRestrictions"];if(i&&i.Insertable===false){b=false;}}if(b){var p=t.getDefaultCreateHash(s);t.oRouter.getHashChanger().replaceHash(p);t.bExitOnNavigateBackToRoot=true;}}).catch(function(){L.error("Cannot fetch the Annotations");});},_requestObjectsFromParameters:function(s,a){var t=this;var b=a.map(function(p){var o,l;if(p.isSemanticKeyNavigation){o=t._createFilter(p.draft,p.semanticKeys,s);}else{o=t._createFilter(p.draft,p.technicalKeys,s);}l=t.oModel.bindList(p.contextPath,undefined,undefined,o,{"$select":p.isSemanticKeyNavigation?p.semanticKeys.map(function(i){return i.$PropertyPath;}):p.technicalKeys});return l.requestContexts(0,2);});return Promise.all(b);},_manageDeeplinkStartup:function(s){var t=this,a;return this.oMetaModel.requestObject("/$EntityContainer/").then(function(){var l=t._getNavigablePages(t.oAppComponent.getManifest()["sap.ui5"].routing);a=t._findTargetPagesFromStartupParams(l,s);return t._requestObjectsFromParameters(s,a);}).then(function(v){if(v.length){var b=[];v.forEach(function(i){if(i.length===1){b.push(i[0]);}});if(b.length===v.length&&!t.oRouter.getHashChanger().getHash()){var H=t._buildStartupHash(a,b);if(H){t.oRouter.getHashChanger().replaceHash(H);}}}}).catch(function(b){L.info("Could not find results for list bind: "+b);});},_getNavigablePages:function(r){var a=r.routes,t=r.targets,p={};for(var i=0;i<a.length;i++){var o={},s=a[i].pattern,T=a[i].target,l=s.split("/").length-1;o["pattern"]=s;if(s===":?query:"||s===""){continue;}if(l===1&&s.split("/")[l]===":?query:"){l=0;}o["level"]=l;if(Array.isArray(T)){o["target"]=T[T.length-1];}else{o["target"]=T;}if(t[o.target].options&&t[o.target].options.settings){o["allowDeepLinking"]=t[o.target].options.settings.allowDeepLinking;var b=t[o.target].options.settings.contextPath||(t[o.target].options.settings.entitySet&&"/"+t[o.target].options.settings.entitySet);o["contextPath"]=b;}if(!o["allowDeepLinking"]&&o["level"]!==0){continue;}else if(!p[o.level]){p[o.level]=[];}p[o.level].push(o);}return p;},_findTargetPagesFromStartupParams:function(p,s){var l=0,r=[],b=true;while(b&&l in p){var o=p[l];b=false;for(var i=0;i<o.length;++i){var O=o[i];if(!O.contextPath&&O.level===0){O.contextPath=this.getContextPath();}if(!O.contextPath){continue;}O.entityType=this.oMetaModel.getObject("/$EntityContainer"+O.contextPath+"/");O.draft=this.oMetaModel.getObject("/$EntityContainer"+O.contextPath+"@com.sap.vocabularies.Common.v1.DraftRoot")||this.oMetaModel.getObject("/$EntityContainer"+O.contextPath+"@com.sap.vocabularies.Common.v1.DraftNode");O.technicalKeys=O.entityType["$Key"];O.semanticKeys=this.oMetaModel.getObject("/$EntityContainer"+O.contextPath+"/@com.sap.vocabularies.Common.v1.SemanticKey");if(this._checkForKeys(O.semanticKeys,s)){O.isSemanticKeyNavigation=true;r.push(O);b=true;break;}else if(O.level===0&&this._checkForKeys(O.technicalKeys,s)){O.isSemanticKeyNavigation=false;r.push(O);b=true;break;}}++l;}return r;},_createFilter:function(D,K,s){var a=[],b=M.isFilteringCaseSensitive(this.oMetaModel);for(var j=0;j<K.length;j++){var p=K[j].$PropertyPath;if(!p){p=K[j];if(p==="IsActiveEntity"){D=false;}}var v=s[p][0];if(v){a.push(new F({path:p,operator:e.EQ,value1:v,caseSensitive:b}));}else{return undefined;}}if(D){var o=new F({filters:[new F("IsActiveEntity","EQ",false),new F("SiblingEntity/IsActiveEntity","EQ",null)],and:false});a.push(o);}var i=new F(a,true);return i;},_checkForKeys:function(K,p){if(K&&K.length){for(var j=0;j<K.length;j++){var s=K[j].$PropertyPath;if(!s){s=K[j];}var a=p[s];if(!a||(a&&a.length>1)){return false;}}return true;}return false;},_buildStartupHash:function(r,a){var H;if(a.length===1){var t=a[0].getPath(),s=d.getSemanticPath(a[0]);if(s!==t){this.setLastSemanticMapping({technicalPath:t,semanticPath:s});}H=s.substring(1);}else if(a.length>1){var p=r[r.length-1].pattern.split("/");H=p.map(function(b,i){var K=b.split("(")[0];var v=a[i].getPath().split("(")[1];return K+"("+v;}).join("/");}return H;},getOutbounds:function(){return this.outbounds;},getContextPath:function(){return this.sContextPath;}});return c.extend("sap.fe.core.services.RoutingServiceFactory",{createInstance:function(s){var r=new k(s);return r.initPromise;}});},true);
6
+ sap.ui.define(["sap/ui/core/service/Service","sap/ui/core/service/ServiceFactory","sap/ui/core/Component","sap/ui/base/BindingParser","sap/fe/core/helpers/SemanticKeyHelper","sap/ui/model/Filter","sap/ui/model/FilterOperator","sap/base/Log","sap/ui/base/EventProvider","sap/fe/core/BusyLocker","sap/fe/core/helpers/ModelHelper","sap/fe/core/helpers/EditState","sap/fe/core/actions/messageHandling","sap/fe/core/controllerextensions/Placeholder","sap/fe/core/helpers/AppStartupHelper","sap/ui/model/odata/v4/ODataUtils"],function(S,c,C,B,d,F,e,L,E,f,M,g,h,P,A,O){"use strict";var R=E.extend("sap.fe.core.services.RoutingServiceEventing",{metadata:{events:{"routeMatched":{},"afterRouteMatched":{}}}});var j=S.extend("sap.fe.core.services.RoutingService",{init:function(){var t=this;var o=this.getContext();if(o.scopeType==="component"){this.oAppComponent=o.scopeObject;this.oModel=this.oAppComponent.getModel();this.oMetaModel=this.oModel.getMetaModel();this.oRouter=this.oAppComponent.getRouter();this.oRouterProxy=this.oAppComponent.getRouterProxy();this.eventProvider=new R();var r=this.oAppComponent.getManifestEntry("/sap.ui5/routing");var a=this.oAppComponent.getManifestEntry("/sap.ui5/rootView");this._parseRoutingConfiguration(r,a);var b=this.oAppComponent.getManifestEntry("/sap.app");this.outbounds=b&&b.crossNavigation&&b.crossNavigation.outbounds;}this.initPromise=Promise.resolve(t);},beforeExit:function(){this.oRouter.detachRouteMatched(this._fnOnRouteMatched);this.eventProvider.fireEvent("routeMatched",{});},exit:function(){this.eventProvider.destroy();},_parseRoutingConfiguration:function(r,o){var t=this,k=o&&o.viewName==="sap.fe.templates.RootContainer.view.Fcl";this._mTargets={};Object.keys(r.targets).forEach(function(T){t._mTargets[T]=Object.assign({targetName:T},r.targets[T]);if(t._mTargets[T].contextPattern!==undefined){t._mTargets[T].viewLevel=t._getViewLevelFromPattern(t._mTargets[T].contextPattern,0);}});this._mRoutes={};for(var s in r.routes){var l=r.routes[s],m=Array.isArray(l.target)?l.target:[l.target],n=Array.isArray(r.routes)?l.name:s,p=l.pattern;if(p.length<8||p.indexOf(":?query:")!==p.length-8){L.warning("Pattern for route "+n+" doesn't end with ':?query:' : "+p);}var q=t._getViewLevelFromPattern(p,0);t._mRoutes[n]={name:n,pattern:p,targets:m,routeLevel:q};for(var i=0;i<m.length;i++){var u=t._mTargets[m[i]].parent;if(u){m.push(u);}}if(!k){if(t._mTargets[m[0]].viewLevel===undefined||t._mTargets[m[0]].viewLevel<q){t._mTargets[m[0]].viewLevel=q;}t._mTargets[m[0]].FCLLevel=-1;}else if(m.length===1&&t._mTargets[m[0]].controlAggregation!=="beginColumnPages"){t._mTargets[m[0]].FCLLevel=3;}else{m.forEach(function(T){switch(t._mTargets[T].controlAggregation){case"beginColumnPages":t._mTargets[T].FCLLevel=0;break;case"midColumnPages":t._mTargets[T].FCLLevel=1;break;default:t._mTargets[T].FCLLevel=2;}});}}Object.keys(t._mTargets).forEach(function(T){while(t._mTargets[T].parent){var u=t._mTargets[T].parent;t._mTargets[u].viewLevel=t._mTargets[u].viewLevel||t._mTargets[T].viewLevel;t._mTargets[u].contextPattern=t._mTargets[u].contextPattern||t._mTargets[T].contextPattern;t._mTargets[u].FCLLevel=t._mTargets[u].FCLLevel||t._mTargets[T].FCLLevel;t._mTargets[u].controlAggregation=t._mTargets[u].controlAggregation||t._mTargets[T].controlAggregation;T=u;}});var v=[],w=[],D;for(var N in t._mRoutes){var x=t._mRoutes[N].routeLevel;if(x===0){v.push(N);}else if(x===1){w.push(N);}}if(v.length===1){D=v[0];}else if(w.length===1){D=w[0];}if(D){var y=t._mRoutes[D].targets.slice(-1)[0];t.sContextPath="";if(t._mTargets[y].options&&t._mTargets[y].options.settings){var z=t._mTargets[y].options.settings;t.sContextPath=z.contextPath||"/"+z.entitySet;}if(!t.sContextPath){L.warning("Cannot determine default contextPath: contextPath or entitySet missing in default target: "+y);}}else{L.warning("Cannot determine default contextPath: no default route found.");}Object.keys(t._mTargets).map(function(T){return t._mTargets[T];}).sort(function(a,b){return a.viewLevel<b.viewLevel?-1:1;}).forEach(function(a){if(a.options){var b=a.options.settings;var G=b.contextPath||(b.entitySet?"/"+b.entitySet:"");if(!b.fullContextPath&&G){b.fullContextPath=G+"/";}Object.keys(b.navigation||{}).forEach(function(H){var I=t._mRoutes[b.navigation[H].detail.route];if(I&&I.targets){I.targets.forEach(function(T){if(t._mTargets[T].options&&t._mTargets[T].options.settings&&!t._mTargets[T].options.settings.fullContextPath){if(a.viewLevel===0){t._mTargets[T].options.settings.fullContextPath="/"+H+"/";}else{t._mTargets[T].options.settings.fullContextPath=b.fullContextPath+H+"/";}}});}});}});},_getViewLevelFromPattern:function(p,v){p=p.replace(":?query:","");var r=new RegExp("/[^/]*$");if(p&&p[0]!=="/"&&p[0]!=="?"){p="/"+p;}if(p.length){p=p.replace(r,"");if(this.oRouter.match(p)||p===""){return this._getViewLevelFromPattern(p,++v);}else{return this._getViewLevelFromPattern(p,v);}}else{return v;}},_getRouteInformation:function(r){return this._mRoutes[r];},_getTargetInformation:function(t){return this._mTargets[t];},_getComponentId:function(o,s){if(s.indexOf(o+"---")===0){return s.substr(o.length+3);}return s;},getTargetInformationFor:function(o){var t=this._getComponentId(o._sOwnerId,o.getId());var a=this;var s=null;Object.keys(this._mTargets).forEach(function(T){if(a._mTargets[T].id===t||a._mTargets[T].viewId===t){s=T;}});return this._getTargetInformation(s);},getLastSemanticMapping:function(){return this.oLastSemanticMapping;},setLastSemanticMapping:function(m){this.oLastSemanticMapping=m;},navigateTo:function(o,r,p,b){var t;if(!p){t=Promise.resolve(d.getSemanticPath(o));}else{t=this.prepareParameters(p,r,o).then(function(m){return this.oRouter.getURL(r,m);}.bind(this));}return t.then(function(T){this.oRouterProxy.navToHash(T,b);}.bind(this));},prepareParameters:function(p,t,o){var a;try{var s=o.getPath();var m=o.getModel().getMetaModel();var b=s.split("/");var i=Object.keys(p).map(function(l){var n=p[l];var q=B.complexParser(n);var r=q.parts||[q];var u=r.map(function(v){var w=v.path.split("../");var x=b.slice(0,b.length-w.length+1);x.push(w[w.length-1]);var y=x.join("/");var z=m.getMetaContext(y);return o.requestProperty(y).then(function(V){var D=z.getObject();var G=D.$Type;return O.formatLiteral(V,G);});});return Promise.all(u).then(function(v){var w=q.formatter?q.formatter.apply(this,v):v.join("");return{key:l,value:w};}.bind(this));}.bind(this));a=Promise.all(i).then(function(l){var n={};l.forEach(function(r){n[r.key]=r.value;});return n;});}catch(k){L.error("Could not parse the parameters for the navigation to route "+t);a=Promise.resolve(undefined);}return a;},_fireRouteMatchEvents:function(p){this.eventProvider.fireEvent("routeMatched",p);this.eventProvider.fireEvent("afterRouteMatched",p);g.cleanProcessedEditState();},navigateToContext:function(o,p,v,a){var t,r;if(p.targetPath&&v&&v.navigation){var b=v.navigation[p.targetPath].detail;t=b.route;if(b.parameters){r=this.prepareParameters(b.parameters,t,o);}}var T=this._getPathFromContext(o,p);if(T.length===0&&this.bExitOnNavigateBackToRoot){return this.oRouterProxy.exitFromApp();}if(p.asyncContext||p.bDeferredContext){T+="(...)";}var l=this._calculateLayout(T,p);if(l){T+="?layout="+l;}var n={oAsyncContext:p.asyncContext,bDeferredContext:p.bDeferredContext,bTargetEditable:p.editable,bPersistOPScroll:p.bPersistOPScroll,useContext:p.updateFCLLevel===-1||p.bRecreateContext?undefined:o,bDraftNavigation:p.bDraftNavigation,bShowPlaceholder:p.showPlaceholder!==undefined?p.showPlaceholder:true};if(p.checkNoHashChange){var s=this.oRouterProxy.getHash().replace(/[&?]{1}sap-iapp-state=[A-Z0-9]+/,"");if(T===s){var m=this.oRouter.getRouteInfoByHash(this.oRouterProxy.getHash());m.navigationInfo=n;m.routeInformation=this._getRouteInformation(this.sCurrentRouteName);m.routePattern=this.sCurrentRoutePattern;m.views=this.aCurrentViews;this.oRouterProxy.setFocusForced(p.bForceFocus);this._fireRouteMatchEvents(m);return Promise.resolve();}}if(p.transient&&p.editable==true&&T.indexOf("(...)")===-1){if(T.indexOf("?")>-1){T+="&i-action=create";}else{T+="?i-action=create";}}if(a&&a.name==="sap.fe.templates.ListReport"){var i=this.oRouter.getRouteInfoByHash(T);if(i){var k=this._getRouteInformation(i.name);if(k&&k.targets&&k.targets.length>0){var q=k.targets[k.targets.length-1];var u=this._getTargetInformation(q);if(u&&u.name==="sap.fe.templates.ObjectPage"){h.removeUnboundTransitionMessages();}}}}this.navigationInfoQueue.push(n);if(t&&r){return r.then(function(x){this.oRouter.navTo(t,x);return Promise.resolve();}.bind(this));}var w=this;return this.oRouterProxy.navToHash(T,false,p.noPreservationCache,p.bForceFocus).then(function(N){if(!N){w.navigationInfoQueue.pop();}});},navigateToRoute:function(t,r){var T=this.oRouter.getURL(t,r);return this.oRouterProxy.navToHash(T);},isCurrentStateImpactedBy:function(o){var p=o.getPath();if(this.oRouterProxy.isCurrentStateImpactedBy(p)){return true;}else if(/^[^\(\)]+\([^\(\)]+\)$/.test(p)){var s;if(this.oLastSemanticMapping&&this.oLastSemanticMapping.technicalPath===p){s=this.oLastSemanticMapping.semanticPath;}else{s=d.getSemanticPath(o);}return s!=p?this.oRouterProxy.isCurrentStateImpactedBy(s):false;}else{return false;}},_findPathToNavigate:function(p){var r=new RegExp("/[^/]*$");p=p.replace(r,"");if(this.oRouter.match(p)||p===""){return p;}else{return this._findPathToNavigate(p);}},_checkContextForSemanticPath:function(o){var p=o.getPath();if(!/^\/[^\(]+\([^\)]+\)$/.test(p)){return false;}var m=o.getModel().getMetaModel(),s=m.getMetaContext(o.getPath()).getObject("@sapui.name");if(!d.getSemanticKeys(m,s)){return false;}return M.isDraftSupported(m,p);},_getPathFromContext:function(o,p){var s;if(o.isA("sap.ui.model.odata.v4.ODataListBinding")&&o.isRelative()){s=o.getHeaderContext().getPath();}else{s=o.getPath();}if(p.updateFCLLevel===-1){s=this._findPathToNavigate(s);if(this.oLastSemanticMapping&&this.oLastSemanticMapping.technicalPath===s){s=this.oLastSemanticMapping.semanticPath;}}else if(this._checkContextForSemanticPath(o)){var a=d.getSemanticPath(o,true);if(!a){this.setLastSemanticMapping(undefined);}else if(a!==s){this.setLastSemanticMapping({technicalPath:s,semanticPath:a});s=a;}}if(s[0]==="/"){s=s.substring(1);}return s;},_calculateLayout:function(p,m){var a=m.FCLLevel;if(m.updateFCLLevel){a+=m.updateFCLLevel;if(a<0){a=0;}}return this.oAppComponent.getRootViewController().calculateLayout(a,p,m.sLayout);},_beforeRouteMatched:function(o){var p=new P().isPlaceholderEnabled();if(!p){var r=this.oAppComponent.getRootControl();f.lock(r);}},_onRouteMatched:function(o){var a=this.oAppComponent.getAppStateHandler(),r=this.oAppComponent.getRootControl(),t=this;var p=new P().isPlaceholderEnabled();if(f.isLocked(r)&&!p){f.unlock(r);}var m=o.getParameters();if(this.navigationInfoQueue.length){m.navigationInfo=this.navigationInfoQueue[0];this.navigationInfoQueue=this.navigationInfoQueue.slice(1);}else{m.navigationInfo={};}if(a.checkIfRouteChangedByIApp()){m.navigationInfo.bReasonIsIappState=true;a.resetRouteChangedByIApp();}this.sCurrentRouteName=o.getParameter("name");this.sCurrentRoutePattern=o.getParameters().config.pattern;this.aCurrentViews=o.getParameter("views");m.routeInformation=this._getRouteInformation(this.sCurrentRouteName);m.routePattern=this.sCurrentRoutePattern;this._fireRouteMatchEvents(m);if(!history.state||history.state.feLevel===undefined){this.oRouterProxy.restoreHistory().then(function(){t.oRouterProxy.resolveRouteMatch();}).catch(function(b){L.error("Error while restoring history",b);});}else{this.oRouterProxy.resolveRouteMatch();}},attachRouteMatched:function(D,a,l){this.eventProvider.attachEvent("routeMatched",D,a,l);},detachRouteMatched:function(a,l){this.eventProvider.detachEvent("routeMatched",a,l);},attachAfterRouteMatched:function(D,a,l){this.eventProvider.attachEvent("afterRouteMatched",D,a,l);},detachAfterRouteMatched:function(a,l){this.eventProvider.detachEvent("afterRouteMatched",a,l);},getRouteFromHash:function(r,a){var H=r.getHashChanger().hash;var o=r.getRouteInfoByHash(H);return a.getMetadata().getManifestEntry("/sap.ui5/routing/routes").filter(function(b){return b.name===o.name;})[0];},getTargetsFromRoute:function(r,a){var t=r.target;var b=this;if(typeof t==="string"){return[this._mTargets[t]];}else{var T=[];t.forEach(function(s){T.push(b._mTargets[s]);});return T;}},initializeRouting:function(){var t=this;this._fnOnRouteMatched=this._onRouteMatched.bind(this);this.oRouter.attachRouteMatched(this._fnOnRouteMatched);var p=new P().isPlaceholderEnabled();if(!p){this.oRouter.attachBeforeRouteMatched(this._beforeRouteMatched.bind(this));}this.navigationInfoQueue=[];g.resetEditState();this.bExitOnNavigateBackToRoot=!this.oRouter.match("");var i=t.oRouter.getHashChanger().getHash().indexOf("sap-iapp-state")!==-1;var a=t.oAppComponent.getStartupParameters().then(function(s){var H=s!==undefined&&Object.keys(s).length!==0;var b=t.oRouter.getHashChanger().getHash();if(!i&&H&&!b){if(s.preferredMode&&s.preferredMode[0].indexOf("create")!==-1){return t._manageCreateStartup(s);}else{return t._manageDeepLinkStartup(s);}}}).catch(function(o){L.error("Error during routing initialization",o);});return a;},getDefaultCreateHash:function(s){return A.getDefaultCreateHash(s,this.getContextPath(),this.oRouter);},_manageCreateStartup:function(s){var t=this;return A.getCreateStartupHash(s,t.getContextPath(),t.oRouter,t.oMetaModel).then(function(n){if(n){t.oRouter.getHashChanger().replaceHash(n);t.bExitOnNavigateBackToRoot=true;}});},_manageDeepLinkStartup:function(s){var t=this;return A.getDeepLinkStartupHash(this.oAppComponent.getManifest()["sap.ui5"].routing,s,this.oModel).then(function(D){var H;if(D.context){var T=D.context.getPath(),a=d.getSemanticPath(D.context);if(a!==T){t.setLastSemanticMapping({technicalPath:T,semanticPath:a});}H=a.substring(1);}else if(D.hash){H=D.hash;}if(H){t.oRouter.getHashChanger().replaceHash(H);}});},getOutbounds:function(){return this.outbounds;},getContextPath:function(){return this.sContextPath;}});return c.extend("sap.fe.core.services.RoutingServiceFactory",{createInstance:function(s){var r=new j(s);return r.initPromise;}});},true);