@sapui5/sap.fe.core 1.100.0 → 1.101.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 (250) hide show
  1. package/package.json +4 -4
  2. package/src/sap/fe/core/.library +2 -3
  3. package/src/sap/fe/core/AnnotationHelper.js +43 -24
  4. package/src/sap/fe/core/AnnotationHelper.ts +43 -37
  5. package/src/sap/fe/core/AppComponent.js +20 -27
  6. package/src/sap/fe/core/AppComponent.ts +19 -25
  7. package/src/sap/fe/core/AppStateHandler.js +5 -5
  8. package/src/sap/fe/core/AppStateHandler.ts +2 -2
  9. package/src/sap/fe/core/BaseController.js +9 -9
  10. package/src/sap/fe/core/BaseController.ts +3 -4
  11. package/src/sap/fe/core/CommonUtils.js +74 -17
  12. package/src/sap/fe/core/CommonUtils.ts +181 -110
  13. package/src/sap/fe/core/ExtensionAPI.js +11 -10
  14. package/src/sap/fe/core/ExtensionAPI.ts +22 -30
  15. package/src/sap/fe/core/PageController.js +12 -11
  16. package/src/sap/fe/core/PageController.ts +34 -34
  17. package/src/sap/fe/core/RouterProxy.js +36 -24
  18. package/src/sap/fe/core/RouterProxy.ts +36 -22
  19. package/src/sap/fe/core/TemplateComponent.js +193 -118
  20. package/src/sap/fe/core/TemplateComponent.ts +105 -117
  21. package/src/sap/fe/core/TemplateModel.js +6 -8
  22. package/src/sap/fe/core/TemplateModel.ts +2 -2
  23. package/src/sap/fe/core/TransactionHelper.js +33 -18
  24. package/src/sap/fe/core/TransactionHelper.ts +172 -153
  25. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +31 -17
  26. package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +52 -45
  27. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +16 -6
  28. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +13 -3
  29. package/src/sap/fe/core/actions/collaboration/Manage.js +9 -7
  30. package/src/sap/fe/core/actions/collaboration/Manage.ts +33 -31
  31. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +53 -56
  32. package/src/sap/fe/core/actions/draft.js +308 -166
  33. package/src/sap/fe/core/actions/draft.ts +177 -74
  34. package/src/sap/fe/core/actions/messageHandling.js +25 -13
  35. package/src/sap/fe/core/actions/messageHandling.ts +49 -39
  36. package/src/sap/fe/core/actions/operations.js +4 -4
  37. package/src/sap/fe/core/actions/operations.ts +3 -2
  38. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +60 -0
  39. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +37 -0
  40. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +165 -0
  41. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +178 -0
  42. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +707 -0
  43. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +628 -0
  44. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +436 -0
  45. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +431 -0
  46. package/src/sap/fe/core/controllerextensions/EditFlow.js +506 -245
  47. package/src/sap/fe/core/controllerextensions/EditFlow.ts +395 -275
  48. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +11 -11
  49. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +6 -7
  50. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +15 -17
  51. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +98 -96
  52. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +15 -15
  53. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +60 -53
  54. package/src/sap/fe/core/controllerextensions/InternalRouting.js +94 -42
  55. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +114 -91
  56. package/src/sap/fe/core/controllerextensions/KPIManagement.js +14 -14
  57. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +12 -11
  58. package/src/sap/fe/core/controllerextensions/MassEdit.js +12 -12
  59. package/src/sap/fe/core/controllerextensions/MassEdit.ts +8 -9
  60. package/src/sap/fe/core/controllerextensions/MessageHandler.js +13 -25
  61. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +18 -28
  62. package/src/sap/fe/core/controllerextensions/PageReady.js +25 -23
  63. package/src/sap/fe/core/controllerextensions/PageReady.ts +49 -47
  64. package/src/sap/fe/core/controllerextensions/Paginator.js +13 -13
  65. package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -18
  66. package/src/sap/fe/core/controllerextensions/Placeholder.js +10 -10
  67. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  68. package/src/sap/fe/core/controllerextensions/Routing.js +11 -11
  69. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  70. package/src/sap/fe/core/controllerextensions/Share.js +16 -16
  71. package/src/sap/fe/core/controllerextensions/Share.ts +32 -32
  72. package/src/sap/fe/core/controllerextensions/SideEffects.js +14 -14
  73. package/src/sap/fe/core/controllerextensions/SideEffects.ts +62 -63
  74. package/src/sap/fe/core/controllerextensions/ViewState.js +17 -31
  75. package/src/sap/fe/core/controllerextensions/ViewState.ts +93 -102
  76. package/src/sap/fe/core/controls/Any.js +28 -0
  77. package/src/sap/fe/core/controls/Any.ts +30 -0
  78. package/src/sap/fe/core/controls/CommandExecution.js +38 -15
  79. package/src/sap/fe/core/controls/CommandExecution.ts +20 -20
  80. package/src/sap/fe/core/controls/ConditionalWrapper.js +136 -65
  81. package/src/sap/fe/core/controls/ConditionalWrapper.ts +49 -58
  82. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +366 -0
  83. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +278 -0
  84. package/src/sap/fe/core/controls/CustomQuickViewPage.js +73 -36
  85. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +22 -32
  86. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +44 -5
  87. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +116 -66
  88. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +121 -67
  89. package/src/sap/fe/core/controls/FieldWrapper.js +171 -87
  90. package/src/sap/fe/core/controls/FieldWrapper.ts +69 -80
  91. package/src/sap/fe/core/controls/FileWrapper.js +313 -0
  92. package/src/sap/fe/core/controls/FileWrapper.ts +169 -0
  93. package/src/sap/fe/core/controls/FilterBar.js +154 -119
  94. package/src/sap/fe/core/controls/FilterBar.ts +128 -123
  95. package/src/sap/fe/core/controls/FormElementWrapper.js +92 -37
  96. package/src/sap/fe/core/controls/FormElementWrapper.ts +32 -35
  97. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +111 -89
  98. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +86 -82
  99. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +242 -193
  100. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +211 -204
  101. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +152 -116
  102. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +105 -105
  103. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
  104. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +2 -2
  105. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +37 -42
  106. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +7 -6
  107. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +15 -14
  108. package/src/sap/fe/core/converters/ManifestSettings.js +2 -1
  109. package/src/sap/fe/core/converters/ManifestSettings.ts +5 -1
  110. package/src/sap/fe/core/converters/annotations/DataField.js +1 -2
  111. package/src/sap/fe/core/converters/annotations/DataField.ts +3 -4
  112. package/src/sap/fe/core/converters/controls/Common/Action.js +10 -10
  113. package/src/sap/fe/core/converters/controls/Common/Action.ts +20 -19
  114. package/src/sap/fe/core/converters/controls/Common/Chart.js +8 -8
  115. package/src/sap/fe/core/converters/controls/Common/Chart.ts +12 -11
  116. package/src/sap/fe/core/converters/controls/Common/Form.js +5 -5
  117. package/src/sap/fe/core/converters/controls/Common/Form.ts +3 -1
  118. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  119. package/src/sap/fe/core/converters/controls/Common/KPI.ts +2 -3
  120. package/src/sap/fe/core/converters/controls/Common/Table.js +245 -112
  121. package/src/sap/fe/core/converters/controls/Common/Table.ts +305 -193
  122. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +5 -5
  123. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +4 -7
  124. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +72 -43
  125. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +134 -100
  126. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +6 -6
  127. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +20 -18
  128. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +5 -2
  129. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +4 -1
  130. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  131. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -4
  132. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +27 -24
  133. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +49 -40
  134. package/src/sap/fe/core/converters/templates/ListReportConverter.js +33 -22
  135. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +77 -62
  136. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +5 -5
  137. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +3 -7
  138. package/src/sap/fe/core/formatters/KPIFormatter.js +3 -12
  139. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -2
  140. package/src/sap/fe/core/formatters/TableFormatter.js +2 -2
  141. package/src/sap/fe/core/formatters/TableFormatter.ts +1 -1
  142. package/src/sap/fe/core/formatters/ValueFormatter.js +4 -4
  143. package/src/sap/fe/core/formatters/ValueFormatter.ts +4 -7
  144. package/src/sap/fe/core/fpm/Component.js +46 -17
  145. package/src/sap/fe/core/fpm/Component.ts +11 -16
  146. package/src/sap/fe/core/helpers/AppStartupHelper.js +4 -4
  147. package/src/sap/fe/core/helpers/AppStartupHelper.ts +3 -3
  148. package/src/sap/fe/core/helpers/ClassSupport.js +273 -256
  149. package/src/sap/fe/core/helpers/ClassSupport.ts +314 -237
  150. package/src/sap/fe/core/helpers/MassEditHelper.js +173 -39
  151. package/src/sap/fe/core/helpers/MassEditHelper.ts +236 -132
  152. package/src/sap/fe/core/helpers/ModelHelper.js +29 -1
  153. package/src/sap/fe/core/helpers/ModelHelper.ts +23 -0
  154. package/src/sap/fe/core/helpers/PasteHelper.js +4 -4
  155. package/src/sap/fe/core/helpers/PasteHelper.ts +4 -3
  156. package/src/sap/fe/core/helpers/SemanticDateOperators.js +3 -3
  157. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +3 -1
  158. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  159. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
  160. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -7
  161. package/src/sap/fe/core/helpers/StableIdHelper.ts +0 -4
  162. package/src/sap/fe/core/jsx-runtime/jsx.js +35 -5
  163. package/src/sap/fe/core/jsx-runtime/jsx.ts +22 -8
  164. package/src/sap/fe/core/library.js +4 -5
  165. package/src/sap/fe/core/library.ts +17 -17
  166. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  167. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +0 -3
  168. package/src/sap/fe/core/messagebundle.properties +23 -8
  169. package/src/sap/fe/core/messagebundle_ar.properties +2 -0
  170. package/src/sap/fe/core/messagebundle_bg.properties +2 -0
  171. package/src/sap/fe/core/messagebundle_ca.properties +2 -0
  172. package/src/sap/fe/core/messagebundle_cs.properties +2 -0
  173. package/src/sap/fe/core/messagebundle_cy.properties +5 -3
  174. package/src/sap/fe/core/messagebundle_da.properties +2 -0
  175. package/src/sap/fe/core/messagebundle_de.properties +2 -0
  176. package/src/sap/fe/core/messagebundle_el.properties +2 -0
  177. package/src/sap/fe/core/messagebundle_en.properties +2 -0
  178. package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
  179. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
  180. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +2 -0
  181. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +2 -0
  182. package/src/sap/fe/core/messagebundle_es.properties +2 -0
  183. package/src/sap/fe/core/messagebundle_es_MX.properties +2 -0
  184. package/src/sap/fe/core/messagebundle_et.properties +2 -0
  185. package/src/sap/fe/core/messagebundle_fi.properties +2 -0
  186. package/src/sap/fe/core/messagebundle_fr.properties +4 -2
  187. package/src/sap/fe/core/messagebundle_fr_CA.properties +5 -3
  188. package/src/sap/fe/core/messagebundle_hi.properties +2 -0
  189. package/src/sap/fe/core/messagebundle_hr.properties +5 -3
  190. package/src/sap/fe/core/messagebundle_hu.properties +2 -0
  191. package/src/sap/fe/core/messagebundle_id.properties +2 -0
  192. package/src/sap/fe/core/messagebundle_it.properties +2 -0
  193. package/src/sap/fe/core/messagebundle_iw.properties +2 -0
  194. package/src/sap/fe/core/messagebundle_ja.properties +2 -0
  195. package/src/sap/fe/core/messagebundle_kk.properties +2 -0
  196. package/src/sap/fe/core/messagebundle_ko.properties +2 -0
  197. package/src/sap/fe/core/messagebundle_lt.properties +2 -0
  198. package/src/sap/fe/core/messagebundle_lv.properties +5 -3
  199. package/src/sap/fe/core/messagebundle_ms.properties +2 -0
  200. package/src/sap/fe/core/messagebundle_nl.properties +2 -0
  201. package/src/sap/fe/core/messagebundle_no.properties +2 -0
  202. package/src/sap/fe/core/messagebundle_pl.properties +5 -3
  203. package/src/sap/fe/core/messagebundle_pt.properties +2 -0
  204. package/src/sap/fe/core/messagebundle_pt_PT.properties +2 -0
  205. package/src/sap/fe/core/messagebundle_ro.properties +5 -3
  206. package/src/sap/fe/core/messagebundle_ru.properties +5 -3
  207. package/src/sap/fe/core/messagebundle_sh.properties +2 -0
  208. package/src/sap/fe/core/messagebundle_sk.properties +2 -0
  209. package/src/sap/fe/core/messagebundle_sl.properties +2 -0
  210. package/src/sap/fe/core/messagebundle_sv.properties +3 -1
  211. package/src/sap/fe/core/messagebundle_th.properties +2 -0
  212. package/src/sap/fe/core/messagebundle_tr.properties +2 -0
  213. package/src/sap/fe/core/messagebundle_uk.properties +2 -0
  214. package/src/sap/fe/core/messagebundle_vi.properties +2 -0
  215. package/src/sap/fe/core/messagebundle_zh_CN.properties +5 -3
  216. package/src/sap/fe/core/messagebundle_zh_TW.properties +5 -3
  217. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +4 -4
  218. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +1 -1
  219. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +5 -5
  220. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +1 -2
  221. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +7 -7
  222. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +6 -5
  223. package/src/sap/fe/core/services/NavigationServiceFactory.js +4 -4
  224. package/src/sap/fe/core/services/NavigationServiceFactory.ts +1 -1
  225. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +4 -4
  226. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +1 -1
  227. package/src/sap/fe/core/services/RoutingServiceFactory.js +98 -62
  228. package/src/sap/fe/core/services/RoutingServiceFactory.ts +51 -42
  229. package/src/sap/fe/core/services/ShellServicesFactory.js +69 -29
  230. package/src/sap/fe/core/services/ShellServicesFactory.ts +26 -29
  231. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +4 -4
  232. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +1 -1
  233. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +8 -8
  234. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +6 -17
  235. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +43 -5
  236. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +6 -3
  237. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  238. package/src/sap/fe/core/support/CommonHelper.ts +0 -3
  239. package/src/sap/fe/core/templating/DataModelPathHelper.js +2 -9
  240. package/src/sap/fe/core/templating/DataModelPathHelper.ts +32 -38
  241. package/src/sap/fe/core/templating/DisplayModeFormatter.js +23 -3
  242. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +26 -5
  243. package/src/sap/fe/core/templating/PropertyHelper.js +15 -1
  244. package/src/sap/fe/core/templating/PropertyHelper.ts +30 -23
  245. package/src/sap/fe/core/templating/UIFormatters.js +121 -21
  246. package/src/sap/fe/core/templating/UIFormatters.ts +134 -49
  247. package/src/sap/fe/core/type/Email.js +26 -8
  248. package/src/sap/fe/core/type/Email.ts +8 -7
  249. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +0 -78
  250. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +0 -65
@@ -1,33 +1,38 @@
1
- import Event from "sap/ui/base/Event";
2
- import Service from "sap/ui/core/service/Service";
3
- import ServiceFactory from "sap/ui/core/service/ServiceFactory";
4
- import BindingParser from "sap/ui/base/BindingParser";
5
- import SemanticKeyHelper from "sap/fe/core/helpers/SemanticKeyHelper";
6
1
  import Log from "sap/base/Log";
7
- import EventProvider from "sap/ui/base/EventProvider";
8
- import BusyLocker from "sap/fe/core/BusyLocker";
9
- import ModelHelper from "sap/fe/core/helpers/ModelHelper";
10
- import EditState from "sap/fe/core/helpers/EditState";
11
2
  import messageHandling from "sap/fe/core/actions/messageHandling";
3
+ import AppComponent from "sap/fe/core/AppComponent";
4
+ import BusyLocker from "sap/fe/core/BusyLocker";
12
5
  import Placeholder from "sap/fe/core/controllerextensions/Placeholder";
13
6
  import AppStartupHelper from "sap/fe/core/helpers/AppStartupHelper";
14
- import ODataUtils from "sap/ui/model/odata/v4/ODataUtils";
15
- import { ServiceContext } from "sap/ui/core/service";
16
- import AppComponent from "sap/fe/core/AppComponent";
17
- import ODataModel from "sap/ui/model/odata/v4/ODataModel";
18
- import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
19
- import Router from "sap/ui/core/routing/Router";
7
+ import { defineUI5Class, event } from "sap/fe/core/helpers/ClassSupport";
8
+ import EditState from "sap/fe/core/helpers/EditState";
9
+ import ModelHelper from "sap/fe/core/helpers/ModelHelper";
10
+ import SemanticKeyHelper from "sap/fe/core/helpers/SemanticKeyHelper";
20
11
  import RouterProxy from "sap/fe/core/RouterProxy";
12
+ import BindingParser from "sap/ui/base/BindingParser";
13
+ import Event from "sap/ui/base/Event";
14
+ import EventProvider from "sap/ui/base/EventProvider";
15
+ import Router from "sap/ui/core/routing/Router";
16
+ import Service from "sap/ui/core/service/Service";
17
+ import ServiceFactory from "sap/ui/core/service/ServiceFactory";
21
18
  import Context from "sap/ui/model/odata/v4/Context";
19
+ import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
20
+ import ODataModel from "sap/ui/model/odata/v4/ODataModel";
21
+ import ODataUtils from "sap/ui/model/odata/v4/ODataUtils";
22
+ import { ServiceContext } from "types/extension_types";
22
23
  type RoutingServiceSettings = {};
23
- const RoutingServiceEventing = EventProvider.extend("sap.fe.core.services.RoutingServiceEventing", {
24
- metadata: {
25
- events: {
26
- "routeMatched": {},
27
- "afterRouteMatched": {}
28
- }
29
- }
30
- });
24
+ @defineUI5Class("sap.fe.core.services.RoutingServiceEventing")
25
+ class RoutingServiceEventing extends EventProvider {
26
+ @event()
27
+ routeMatched!: Function;
28
+ @event()
29
+ afterRouteMatched!: Function;
30
+ }
31
+
32
+ export type SemanticMapping = {
33
+ semanticPath: string;
34
+ technicalPath: string;
35
+ };
31
36
  export class RoutingService extends Service<RoutingServiceSettings> {
32
37
  oAppComponent!: AppComponent;
33
38
  oModel!: ODataModel;
@@ -39,7 +44,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
39
44
  outbounds: any;
40
45
  _mTargets: any;
41
46
  _mRoutes: any;
42
- oLastSemanticMapping: any;
47
+ oLastSemanticMapping?: SemanticMapping;
43
48
  bExitOnNavigateBackToRoot?: boolean;
44
49
  sCurrentRouteName?: string;
45
50
  sCurrentRoutePattern?: string;
@@ -236,7 +241,8 @@ export class RoutingService extends Service<RoutingServiceSettings> {
236
241
  !this._mTargets[sTargetName].options.settings.fullContextPath
237
242
  ) {
238
243
  if (target.viewLevel === 0) {
239
- this._mTargets[sTargetName].options.settings.fullContextPath = "/" + sNavName + "/";
244
+ this._mTargets[sTargetName].options.settings.fullContextPath =
245
+ (sNavName.startsWith("/") ? "" : "/") + sNavName + "/";
240
246
  } else {
241
247
  this._mTargets[sTargetName].options.settings.fullContextPath =
242
248
  settings.fullContextPath + sNavName + "/";
@@ -306,11 +312,11 @@ export class RoutingService extends Service<RoutingServiceSettings> {
306
312
  return this._getTargetInformation(sCorrectTargetName);
307
313
  }
308
314
 
309
- getLastSemanticMapping() {
315
+ getLastSemanticMapping(): SemanticMapping | undefined {
310
316
  return this.oLastSemanticMapping;
311
317
  }
312
318
 
313
- setLastSemanticMapping(oMapping: any) {
319
+ setLastSemanticMapping(oMapping?: SemanticMapping) {
314
320
  this.oLastSemanticMapping = oMapping;
315
321
  }
316
322
 
@@ -351,7 +357,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
351
357
  // We assume the defined parameters will be compatible with a binding expression
352
358
  const oParsedExpression = BindingParser.complexParser(sParameterMappingExpression);
353
359
  const aParts = oParsedExpression.parts || [oParsedExpression];
354
- const aResolvedParameterPromises = aParts.map(function(oPathPart: any) {
360
+ const aResolvedParameterPromises = aParts.map(function (oPathPart: any) {
355
361
  const aRelativeParts = oPathPart.path.split("../");
356
362
  // We go up the current context path as many times as necessary
357
363
  const aLocalParts = aContextPathParts.slice(0, aContextPathParts.length - aRelativeParts.length + 1);
@@ -359,7 +365,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
359
365
 
360
366
  const sPropertyPath = aLocalParts.join("/");
361
367
  const oMetaContext = (oMetaModel as any).getMetaContext(sPropertyPath);
362
- return oContext.requestProperty(sPropertyPath).then(function(oValue: any) {
368
+ return oContext.requestProperty(sPropertyPath).then(function (oValue: any) {
363
369
  const oPropertyInfo = oMetaContext.getObject();
364
370
  const sEdmType = oPropertyInfo.$Type;
365
371
  return ODataUtils.formatLiteral(oValue, sEdmType);
@@ -374,11 +380,11 @@ export class RoutingService extends Service<RoutingServiceSettings> {
374
380
  });
375
381
  });
376
382
 
377
- oParametersPromise = Promise.all(aAllResolvedParameterPromises).then(function(
383
+ oParametersPromise = Promise.all(aAllResolvedParameterPromises).then(function (
378
384
  aAllResolvedParameters: { key: any; value: any }[]
379
385
  ) {
380
386
  const oParameters: any = {};
381
- aAllResolvedParameters.forEach(function(oResolvedParameter: { key: any; value: any }) {
387
+ aAllResolvedParameters.forEach(function (oResolvedParameter: { key: any; value: any }) {
382
388
  oParameters[oResolvedParameter.key] = oResolvedParameter.value;
383
389
  });
384
390
  return oParameters;
@@ -436,6 +442,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
436
442
  targetPath?: string;
437
443
  showPlaceholder?: boolean;
438
444
  bDraftNavigation?: boolean;
445
+ bNavigateToSiblingEntity?: boolean;
439
446
  }
440
447
  | undefined,
441
448
  oViewData: any | undefined,
@@ -484,7 +491,8 @@ export class RoutingService extends Service<RoutingServiceSettings> {
484
491
  bPersistOPScroll: mParameters?.bPersistOPScroll,
485
492
  useContext: mParameters?.updateFCLLevel === -1 || mParameters?.bRecreateContext ? undefined : oContext,
486
493
  bDraftNavigation: mParameters?.bDraftNavigation,
487
- bShowPlaceholder: mParameters?.showPlaceholder !== undefined ? mParameters?.showPlaceholder : true
494
+ bShowPlaceholder: mParameters?.showPlaceholder !== undefined ? mParameters?.showPlaceholder : true,
495
+ bNavigateToSiblingEntity: mParameters?.bNavigateToSiblingEntity
488
496
  };
489
497
 
490
498
  if (mParameters?.checkNoHashChange) {
@@ -682,7 +690,12 @@ export class RoutingService extends Service<RoutingServiceSettings> {
682
690
  }
683
691
  }
684
692
 
685
- return (this.oAppComponent.getRootViewController() as any).calculateLayout(FCLLevel, sPath, mParameters.sLayout);
693
+ return (this.oAppComponent.getRootViewController() as any).calculateLayout(
694
+ FCLLevel,
695
+ sPath,
696
+ mParameters.sLayout,
697
+ mParameters.keepCurrentLayout
698
+ );
686
699
  }
687
700
 
688
701
  /**
@@ -740,7 +753,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
740
753
  .then(() => {
741
754
  this.oRouterProxy.resolveRouteMatch();
742
755
  })
743
- .catch(function(oError: any) {
756
+ .catch(function (oError: any) {
744
757
  Log.error("Error while restoring history", oError);
745
758
  });
746
759
  } else {
@@ -754,7 +767,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
754
767
  detachRouteMatched(fnFunction: any, oListener?: any) {
755
768
  this.eventProvider.detachEvent("routeMatched", fnFunction, oListener);
756
769
  }
757
- attachAfterRouteMatched(oData: any, fnFunction: any, oListener: any) {
770
+ attachAfterRouteMatched(oData: any, fnFunction: any, oListener?: any) {
758
771
  this.eventProvider.attachEvent("afterRouteMatched", oData, fnFunction, oListener);
759
772
  }
760
773
  detachAfterRouteMatched(fnFunction: any, oListener: any) {
@@ -767,7 +780,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
767
780
  return oAppComponent
768
781
  .getMetadata()
769
782
  .getManifestEntry("/sap.ui5/routing/routes")
770
- .filter(function(oRoute: any) {
783
+ .filter(function (oRoute: any) {
771
784
  return oRoute.name === oRouteInfo.name;
772
785
  })[0];
773
786
  }
@@ -797,11 +810,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
797
810
  EditState.resetEditState();
798
811
  this.bExitOnNavigateBackToRoot = !this.oRouter.match("");
799
812
 
800
- const bIsIappState =
801
- this.oRouter
802
- .getHashChanger()
803
- .getHash()
804
- .indexOf("sap-iapp-state") !== -1;
813
+ const bIsIappState = this.oRouter.getHashChanger().getHash().indexOf("sap-iapp-state") !== -1;
805
814
  const initPromise = this.oAppComponent
806
815
  .getStartupParameters()
807
816
  .then((oStartupParameters: any) => {
@@ -818,7 +827,7 @@ export class RoutingService extends Service<RoutingServiceSettings> {
818
827
  }
819
828
  }
820
829
  })
821
- .catch(function(oError: any) {
830
+ .catch(function (oError: any) {
822
831
  Log.error("Error during routing initialization", oError);
823
832
  });
824
833