@sapui5/sap.fe.core 1.102.2 → 1.104.1

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 (324) hide show
  1. package/package.json +6 -6
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +73 -30
  4. package/src/sap/fe/core/AppComponent.ts +65 -43
  5. package/src/sap/fe/core/AppStateHandler.js +82 -70
  6. package/src/sap/fe/core/AppStateHandler.ts +32 -37
  7. package/src/sap/fe/core/BaseController.js +11 -9
  8. package/src/sap/fe/core/BaseController.ts +15 -13
  9. package/src/sap/fe/core/CommonUtils.js +227 -126
  10. package/src/sap/fe/core/CommonUtils.ts +240 -163
  11. package/src/sap/fe/core/ExtensionAPI.js +24 -27
  12. package/src/sap/fe/core/ExtensionAPI.ts +36 -38
  13. package/src/sap/fe/core/PageController.js +4 -4
  14. package/src/sap/fe/core/PageController.ts +4 -5
  15. package/src/sap/fe/core/TemplateComponent.js +1 -1
  16. package/src/sap/fe/core/TemplateComponent.ts +6 -6
  17. package/src/sap/fe/core/TemplateModel.js +1 -1
  18. package/src/sap/fe/core/TemplateModel.ts +1 -1
  19. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
  20. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +1 -1
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +181 -43
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +150 -24
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +585 -210
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +246 -96
  25. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +30 -30
  26. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +32 -29
  27. package/src/sap/fe/core/controllerextensions/EditFlow.js +379 -330
  28. package/src/sap/fe/core/controllerextensions/EditFlow.ts +253 -245
  29. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
  30. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  31. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +101 -74
  32. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +69 -79
  33. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +67 -67
  34. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +76 -76
  35. package/src/sap/fe/core/controllerextensions/InternalRouting.js +85 -77
  36. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +103 -99
  37. package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
  38. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  39. package/src/sap/fe/core/controllerextensions/MassEdit.js +9 -9
  40. package/src/sap/fe/core/controllerextensions/MassEdit.ts +20 -27
  41. package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
  42. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -14
  43. package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
  44. package/src/sap/fe/core/controllerextensions/PageReady.ts +98 -34
  45. package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
  46. package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
  47. package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
  48. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  49. package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
  50. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  51. package/src/sap/fe/core/controllerextensions/Share.js +170 -139
  52. package/src/sap/fe/core/controllerextensions/Share.ts +117 -118
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +200 -131
  56. package/src/sap/fe/core/controllerextensions/ViewState.ts +141 -148
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  58. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
  59. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +11 -10
  60. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +17 -20
  61. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
  62. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
  63. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
  64. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
  65. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +190 -141
  66. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +258 -210
  67. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +183 -125
  68. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +213 -156
  69. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +164 -140
  70. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +180 -150
  71. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
  72. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
  73. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +71 -41
  74. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +102 -82
  75. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +61 -71
  76. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +56 -64
  77. package/src/sap/fe/core/controls/Any.js +9 -5
  78. package/src/sap/fe/core/controls/Any.ts +10 -4
  79. package/src/sap/fe/core/controls/CommandExecution.js +11 -25
  80. package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
  81. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  82. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  83. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
  84. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
  85. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  86. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
  87. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
  88. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
  89. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  90. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  91. package/src/sap/fe/core/controls/FileWrapper.js +7 -2
  92. package/src/sap/fe/core/controls/FileWrapper.ts +15 -11
  93. package/src/sap/fe/core/controls/FilterBar.js +6 -2
  94. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  95. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  96. package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
  97. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  98. package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
  99. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
  100. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
  101. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  102. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
  103. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  104. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +49 -49
  105. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +54 -54
  106. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
  107. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
  108. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
  109. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
  110. package/src/sap/fe/core/converters/ConverterContext.js +26 -33
  111. package/src/sap/fe/core/converters/ConverterContext.ts +52 -61
  112. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  113. package/src/sap/fe/core/converters/ManifestSettings.ts +17 -15
  114. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  115. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  116. package/src/sap/fe/core/converters/MetaModelConverter.js +64 -35
  117. package/src/sap/fe/core/converters/MetaModelConverter.ts +154 -129
  118. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  119. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  120. package/src/sap/fe/core/converters/annotations/DataField.js +58 -35
  121. package/src/sap/fe/core/converters/annotations/DataField.ts +102 -76
  122. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
  123. package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
  124. package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
  125. package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
  126. package/src/sap/fe/core/converters/controls/Common/Chart.ts +26 -33
  127. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  128. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  129. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +30 -28
  130. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +60 -61
  131. package/src/sap/fe/core/converters/controls/Common/Form.js +27 -28
  132. package/src/sap/fe/core/converters/controls/Common/Form.ts +44 -57
  133. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  134. package/src/sap/fe/core/converters/controls/Common/KPI.ts +49 -52
  135. package/src/sap/fe/core/converters/controls/Common/Table.js +181 -197
  136. package/src/sap/fe/core/converters/controls/Common/Table.ts +251 -280
  137. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
  138. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
  139. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
  140. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +65 -59
  141. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  142. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  143. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  144. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  145. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
  146. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
  147. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +77 -73
  148. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +101 -97
  149. package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
  150. package/src/sap/fe/core/converters/helpers/Aggregation.ts +12 -15
  151. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
  152. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
  153. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
  154. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
  155. package/src/sap/fe/core/converters/helpers/ID.js +48 -46
  156. package/src/sap/fe/core/converters/helpers/ID.ts +26 -25
  157. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  158. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  159. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  160. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -5
  161. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  162. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  163. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
  164. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
  165. package/src/sap/fe/core/converters/templates/ListReportConverter.js +55 -42
  166. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +81 -66
  167. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
  168. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
  169. package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
  170. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
  171. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  172. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  173. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  174. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  175. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  176. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  177. package/src/sap/fe/core/formatters/StandardFormatter.js +96 -0
  178. package/src/sap/fe/core/formatters/StandardFormatter.ts +70 -0
  179. package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
  180. package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
  181. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  182. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  183. package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
  184. package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
  185. package/src/sap/fe/core/helpers/BindingToolkit.js +1832 -0
  186. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +396 -269
  187. package/src/sap/fe/core/helpers/ClassSupport.js +49 -12
  188. package/src/sap/fe/core/helpers/ClassSupport.ts +37 -10
  189. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  190. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  191. package/src/sap/fe/core/helpers/EditState.js +1 -6
  192. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  193. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  194. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  195. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  196. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
  197. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  198. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  199. package/src/sap/fe/core/helpers/MassEditHelper.js +306 -280
  200. package/src/sap/fe/core/helpers/MassEditHelper.ts +380 -360
  201. package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
  202. package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
  203. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  204. package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
  205. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  206. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  207. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  208. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  209. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  210. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  211. package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
  212. package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
  213. package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
  214. package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
  215. package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
  216. package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
  217. package/src/sap/fe/core/jsx-runtime/jsx-control.js +99 -0
  218. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +82 -0
  219. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
  220. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
  221. package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
  222. package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
  223. package/src/sap/fe/core/library.js +42 -3
  224. package/src/sap/fe/core/library.ts +38 -0
  225. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  226. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  227. package/src/sap/fe/core/messagebundle.properties +39 -63
  228. package/src/sap/fe/core/messagebundle_ar.properties +25 -39
  229. package/src/sap/fe/core/messagebundle_bg.properties +25 -39
  230. package/src/sap/fe/core/messagebundle_ca.properties +25 -39
  231. package/src/sap/fe/core/messagebundle_cs.properties +25 -39
  232. package/src/sap/fe/core/messagebundle_cy.properties +25 -39
  233. package/src/sap/fe/core/messagebundle_da.properties +25 -39
  234. package/src/sap/fe/core/messagebundle_de.properties +25 -39
  235. package/src/sap/fe/core/messagebundle_el.properties +26 -40
  236. package/src/sap/fe/core/messagebundle_en.properties +25 -39
  237. package/src/sap/fe/core/messagebundle_en_GB.properties +25 -39
  238. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +25 -39
  239. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +25 -39
  240. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +26 -18
  241. package/src/sap/fe/core/messagebundle_es.properties +27 -41
  242. package/src/sap/fe/core/messagebundle_es_MX.properties +25 -39
  243. package/src/sap/fe/core/messagebundle_et.properties +25 -39
  244. package/src/sap/fe/core/messagebundle_fi.properties +25 -39
  245. package/src/sap/fe/core/messagebundle_fr.properties +26 -40
  246. package/src/sap/fe/core/messagebundle_fr_CA.properties +25 -39
  247. package/src/sap/fe/core/messagebundle_hi.properties +25 -39
  248. package/src/sap/fe/core/messagebundle_hr.properties +25 -39
  249. package/src/sap/fe/core/messagebundle_hu.properties +25 -39
  250. package/src/sap/fe/core/messagebundle_id.properties +25 -39
  251. package/src/sap/fe/core/messagebundle_it.properties +41 -55
  252. package/src/sap/fe/core/messagebundle_iw.properties +25 -39
  253. package/src/sap/fe/core/messagebundle_ja.properties +25 -39
  254. package/src/sap/fe/core/messagebundle_kk.properties +25 -39
  255. package/src/sap/fe/core/messagebundle_ko.properties +30 -44
  256. package/src/sap/fe/core/messagebundle_lt.properties +25 -39
  257. package/src/sap/fe/core/messagebundle_lv.properties +25 -39
  258. package/src/sap/fe/core/messagebundle_ms.properties +25 -39
  259. package/src/sap/fe/core/messagebundle_nl.properties +27 -41
  260. package/src/sap/fe/core/messagebundle_no.properties +25 -39
  261. package/src/sap/fe/core/messagebundle_pl.properties +26 -40
  262. package/src/sap/fe/core/messagebundle_pt.properties +26 -40
  263. package/src/sap/fe/core/messagebundle_pt_PT.properties +25 -39
  264. package/src/sap/fe/core/messagebundle_ro.properties +25 -39
  265. package/src/sap/fe/core/messagebundle_ru.properties +25 -39
  266. package/src/sap/fe/core/messagebundle_sh.properties +25 -39
  267. package/src/sap/fe/core/messagebundle_sk.properties +25 -39
  268. package/src/sap/fe/core/messagebundle_sl.properties +25 -39
  269. package/src/sap/fe/core/messagebundle_sv.properties +25 -39
  270. package/src/sap/fe/core/messagebundle_th.properties +25 -39
  271. package/src/sap/fe/core/messagebundle_tr.properties +25 -39
  272. package/src/sap/fe/core/messagebundle_uk.properties +25 -39
  273. package/src/sap/fe/core/messagebundle_vi.properties +25 -39
  274. package/src/sap/fe/core/messagebundle_zh_CN.properties +25 -39
  275. package/src/sap/fe/core/messagebundle_zh_TW.properties +25 -39
  276. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  277. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  278. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +97 -69
  279. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +68 -69
  280. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  281. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
  282. package/src/sap/fe/core/services/NavigationServiceFactory.js +61 -49
  283. package/src/sap/fe/core/services/NavigationServiceFactory.ts +63 -52
  284. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  285. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  286. package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
  287. package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
  288. package/src/sap/fe/core/services/ShellServicesFactory.js +92 -76
  289. package/src/sap/fe/core/services/ShellServicesFactory.ts +95 -82
  290. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
  291. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  292. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +224 -198
  293. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +138 -139
  294. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  295. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  296. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  297. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  298. package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
  299. package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
  300. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  301. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  302. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  303. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  304. package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
  305. package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
  306. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  307. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
  308. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
  309. package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
  310. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  311. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  312. package/src/sap/fe/core/templating/FilterHelper.js +16 -15
  313. package/src/sap/fe/core/templating/FilterHelper.ts +18 -18
  314. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  315. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  316. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  317. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  318. package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
  319. package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
  320. package/src/sap/fe/core/templating/UIFormatters.js +152 -95
  321. package/src/sap/fe/core/templating/UIFormatters.ts +202 -128
  322. package/src/sap/fe/core/type/Email.js +2 -2
  323. package/src/sap/fe/core/type/Email.ts +2 -2
  324. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
@@ -1,37 +1,31 @@
1
1
  import Log from "sap/base/Log";
2
- import AppComponent from "sap/fe/core/AppComponent";
2
+ import type AppComponent from "sap/fe/core/AppComponent";
3
3
  import CommonUtils from "sap/fe/core/CommonUtils";
4
4
  import BusyLocker from "sap/fe/core/controllerextensions/BusyLocker";
5
5
  import ActivitySync from "sap/fe/core/controllerextensions/collaboration/ActivitySync";
6
6
  import draft from "sap/fe/core/controllerextensions/editFlow/draft";
7
- import RouterProxy from "sap/fe/core/controllerextensions/routing/RouterProxy";
8
- import {
9
- defineUI5Class,
10
- EnhanceWithUI5,
11
- extensible,
12
- finalExtension,
13
- methodOverride,
14
- publicExtension
15
- } from "sap/fe/core/helpers/ClassSupport";
7
+ import type RouterProxy from "sap/fe/core/controllerextensions/routing/RouterProxy";
8
+ import type { EnhanceWithUI5 } from "sap/fe/core/helpers/ClassSupport";
9
+ import { defineUI5Class, extensible, finalExtension, methodOverride, publicExtension } from "sap/fe/core/helpers/ClassSupport";
16
10
  import EditState from "sap/fe/core/helpers/EditState";
17
11
  import ModelHelper from "sap/fe/core/helpers/ModelHelper";
18
12
  import SemanticKeyHelper from "sap/fe/core/helpers/SemanticKeyHelper";
19
13
  import FELibrary from "sap/fe/core/library";
20
- import PageController from "sap/fe/core/PageController";
21
- import { RoutingService } from "sap/fe/core/services/RoutingServiceFactory";
22
- import TemplateComponent from "sap/fe/core/TemplateComponent";
23
- import Event from "sap/ui/base/Event";
14
+ import type PageController from "sap/fe/core/PageController";
15
+ import type { RoutingService } from "sap/fe/core/services/RoutingServiceFactory";
16
+ import type TemplateComponent from "sap/fe/core/TemplateComponent";
17
+ import type Event from "sap/ui/base/Event";
24
18
  import Component from "sap/ui/core/Component";
25
19
  import Core from "sap/ui/core/Core";
26
20
  import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
27
21
  import OverrideExecution from "sap/ui/core/mvc/OverrideExecution";
28
- import View from "sap/ui/core/mvc/View";
29
- import Router from "sap/ui/core/routing/Router";
22
+ import type View from "sap/ui/core/mvc/View";
23
+ import type Router from "sap/ui/core/routing/Router";
30
24
  import Filter from "sap/ui/model/Filter";
31
25
  import FilterOperator from "sap/ui/model/FilterOperator";
32
- import JSONModel from "sap/ui/model/json/JSONModel";
33
- import Context from "sap/ui/model/odata/v4/Context";
34
- import { CoreEx } from "types/extension_types";
26
+ import type JSONModel from "sap/ui/model/json/JSONModel";
27
+ import type Context from "sap/ui/model/odata/v4/Context";
28
+ import type { CoreEx } from "types/extension_types";
35
29
 
36
30
  /**
37
31
  * {@link sap.ui.core.mvc.ControllerExtension Controller extension}
@@ -55,7 +49,9 @@ class InternalRouting extends ControllerExtension {
55
49
 
56
50
  @methodOverride()
57
51
  onExit() {
58
- this._oRoutingService && this._oRoutingService.detachRouteMatched(this._fnRouteMatchedBound);
52
+ if (this._oRoutingService) {
53
+ this._oRoutingService.detachRouteMatched(this._fnRouteMatchedBound);
54
+ }
59
55
  }
60
56
 
61
57
  @methodOverride()
@@ -133,10 +129,10 @@ class InternalRouting extends ControllerExtension {
133
129
  /**
134
130
  * Navigates to the specified navigation target.
135
131
  *
136
- * @param {sap.ui.model.odata.v4.Context} oContext Context instance
137
- * @param {string} sNavigationTargetName Navigation target name
138
- * @param {object} oSemanticObject Semantic object
139
- * @param {boolean} bPreserveHistory True to force the new URL to be added at the end of the browser history (no replace)
132
+ * @param oContext Context instance
133
+ * @param sNavigationTargetName Navigation target name
134
+ * @param oSemanticObject Semantic object
135
+ * @param bPreserveHistory True to force the new URL to be added at the end of the browser history (no replace)
140
136
  * @ui5-restricted
141
137
  */
142
138
  @publicExtension()
@@ -159,9 +155,9 @@ class InternalRouting extends ControllerExtension {
159
155
  /**
160
156
  * Navigates to the specified navigation target route.
161
157
  *
162
- * @param {string} sTargetRouteName Name of the target route
163
- * @param {object} [oParameters] Parameters to be used with route to create the target hash
164
- * @returns {Promise} Promise that is resolved when the navigation is finalized
158
+ * @param sTargetRouteName Name of the target route
159
+ * @param [oParameters] Parameters to be used with route to create the target hash
160
+ * @returns Promise that is resolved when the navigation is finalized
165
161
  * @ui5-restricted
166
162
  */
167
163
  @publicExtension()
@@ -172,9 +168,9 @@ class InternalRouting extends ControllerExtension {
172
168
  /**
173
169
  * Navigates to a specific context.
174
170
  *
175
- * @param {sap.ui.model.odata.v4.Context} oContext The context to be navigated to
176
- * @param {object} [mParameters] Optional navigation parameters
177
- * @returns {Promise} Promise resolved when the navigation has been triggered
171
+ * @param oContext The context to be navigated to
172
+ * @param [mParameters] Optional navigation parameters
173
+ * @returns Promise resolved when the navigation has been triggered
178
174
  * @ui5-restricted
179
175
  */
180
176
  @publicExtension()
@@ -191,9 +187,9 @@ class InternalRouting extends ControllerExtension {
191
187
  this._oRouterProxy.activateRouteMatchSynchronization();
192
188
 
193
189
  mParameters.asyncContext
194
- .then((oContext: any) => {
190
+ .then((asyncContext: any) => {
195
191
  // once the context is returned we navigate into it
196
- this.navigateToContext(oContext, {
192
+ this.navigateToContext(asyncContext, {
197
193
  checkNoHashChange: mParameters.checkNoHashChange,
198
194
  editable: mParameters.editable,
199
195
  bPersistOPScroll: mParameters.bPersistOPScroll,
@@ -235,9 +231,9 @@ class InternalRouting extends ControllerExtension {
235
231
  /**
236
232
  * Navigates backwards from a context.
237
233
  *
238
- * @param {sap.ui.model.odata.v4.Context} oContext Context to be navigated from
239
- * @param {object} [mParameters] Optional navigation parameters
240
- * @returns {Promise} Promise resolved when the navigation has been triggered
234
+ * @param oContext Context to be navigated from
235
+ * @param [mParameters] Optional navigation parameters
236
+ * @returns Promise resolved when the navigation has been triggered
241
237
  * @ui5-restricted
242
238
  */
243
239
  @publicExtension()
@@ -252,9 +248,9 @@ class InternalRouting extends ControllerExtension {
252
248
  /**
253
249
  * Navigates forwards to a context.
254
250
  *
255
- * @param {sap.ui.model.odata.v4.Context} oContext Context to be navigated to
256
- * @param {object} mParameters Optional navigation parameters
257
- * @returns {Promise} Promise resolved when the navigation has been triggered
251
+ * @param oContext Context to be navigated to
252
+ * @param mParameters Optional navigation parameters
253
+ * @returns Promise resolved when the navigation has been triggered
258
254
  * @ui5-restricted
259
255
  */
260
256
  @publicExtension()
@@ -299,8 +295,8 @@ class InternalRouting extends ControllerExtension {
299
295
  /**
300
296
  * Checks if one of the current views on the screen is bound to a given context.
301
297
  *
302
- * @param {sap.ui.model.odata.v4.Context} oContext
303
- * @returns {boolean}
298
+ * @param oContext
299
+ * @returns `true` if the state is impacted by the context
304
300
  * @ui5-restricted
305
301
  */
306
302
  @publicExtension()
@@ -365,7 +361,7 @@ class InternalRouting extends ControllerExtension {
365
361
  * Called when a route is matched.
366
362
  * Builds the binding context from the navigation parameters, and bind the page accordingly.
367
363
  *
368
- * @param {object} oEvent
364
+ * @param oEvent
369
365
  * @ui5-restricted
370
366
  */
371
367
  _onRouteMatched(oEvent: Event) {
@@ -412,9 +408,9 @@ class InternalRouting extends ControllerExtension {
412
408
  /**
413
409
  * Deferred binding (during object creation).
414
410
  *
415
- * @param {string} sTargetPath The path to the deffered context
416
- * @param {object} oNavigationParameters Navigation parameters
417
- * @returns {Promise}
411
+ * @param sTargetPath The path to the deffered context
412
+ * @param oNavigationParameters Navigation parameters
413
+ * @returns A Promise
418
414
  * @ui5-restricted
419
415
  */
420
416
  _bindDeferred(sTargetPath: string, oNavigationParameters: any) {
@@ -451,10 +447,10 @@ class InternalRouting extends ControllerExtension {
451
447
  /**
452
448
  * Sets the binding context of the page from a path.
453
449
  *
454
- * @param {string} sTargetPath The path to the context
455
- * @param {sap.ui.model.odata.v4.ODataModel} oModel The OData model
456
- * @param {object} oNavigationParameters Navigation parameters
457
- * @returns {Promise}
450
+ * @param sTargetPath The path to the context
451
+ * @param oModel The OData model
452
+ * @param oNavigationParameters Navigation parameters
453
+ * @returns A Promise resolved once the binding has been set on the page
458
454
  * @ui5-restricted
459
455
  */
460
456
  _bindPage(sTargetPath: string, oModel: any, oNavigationParameters: object) {
@@ -480,10 +476,10 @@ class InternalRouting extends ControllerExtension {
480
476
  /**
481
477
  * Creates the filter to retrieve a context corresponding to a semantic path.
482
478
  *
483
- * @param {string} sSemanticPath The semantic path
484
- * @param {Array} aSemanticKeys The semantic keys for the path
485
- * @param {object} oMetaModel The instance of the meta model
486
- * @returns {sap.ui.model.Filter} The filter
479
+ * @param sSemanticPath The semantic path
480
+ * @param aSemanticKeys The semantic keys for the path
481
+ * @param oMetaModel The instance of the meta model
482
+ * @returns The filter
487
483
  * @ui5-restricted
488
484
  */
489
485
  _createFilterFromSemanticPath(sSemanticPath: string, aSemanticKeys: any[], oMetaModel: object) {
@@ -557,17 +553,16 @@ class InternalRouting extends ControllerExtension {
557
553
  });
558
554
  aFilters.push(oDraftFilter);
559
555
 
560
- const oCombinedFilter = new Filter(aFilters, true);
561
- return oCombinedFilter;
556
+ return new Filter(aFilters, true);
562
557
  }
563
558
 
564
559
  /**
565
560
  * Converts a path with semantic keys to a path with technical keys.
566
561
  *
567
- * @param {string} sSemanticPath The path with semantic keys
568
- * @param {sap.ui.model.odata.v4.ODataModel} oModel The model for the path
569
- * @param {Array} aSemanticKeys The semantic keys for the path
570
- * @returns {Promise} A Promise containing the path with technical keys if sSemanticPath could be interpreted as a semantic path, null otherwise
562
+ * @param sSemanticPath The path with semantic keys
563
+ * @param oModel The model for the path
564
+ * @param aSemanticKeys The semantic keys for the path
565
+ * @returns A Promise containing the path with technical keys if sSemanticPath could be interpreted as a semantic path, null otherwise
571
566
  * @ui5-restricted
572
567
  */
573
568
  _getTechnicalPathFromSemanticPath(sSemanticPath: string, oModel: any, aSemanticKeys: any[]) {
@@ -588,7 +583,7 @@ class InternalRouting extends ControllerExtension {
588
583
 
589
584
  // Load the corresponding object
590
585
  if (!sEntitySetPath?.startsWith("/")) {
591
- sEntitySetPath = "/" + sEntitySetPath;
586
+ sEntitySetPath = `/${sEntitySetPath}`;
592
587
  }
593
588
  const oListBinding = oModel.bindList(sEntitySetPath, undefined, undefined, oFilter, {
594
589
  "$$groupId": "$auto.Heroes"
@@ -607,9 +602,9 @@ class InternalRouting extends ControllerExtension {
607
602
  /**
608
603
  * Checks if a path is eligible for semantic bookmarking.
609
604
  *
610
- * @param {string} sPath The path to test
611
- * @param {sap.ui.model.odata.v4.ODataMetaModel} oMetaModel The associated metadata model
612
- * @returns {boolean} `true` if the path is eligible
605
+ * @param sPath The path to test
606
+ * @param oMetaModel The associated metadata model
607
+ * @returns `true` if the path is eligible
613
608
  * @ui5-restricted
614
609
  */
615
610
  _checkPathForSemanticBookmarking(sPath: string, oMetaModel: any) {
@@ -619,19 +614,19 @@ class InternalRouting extends ControllerExtension {
619
614
  return false;
620
615
  }
621
616
  // Get the entitySet name
622
- const sEntitySetPath = "/" + aMatches[1];
617
+ const sEntitySetPath = `/${aMatches[1]}`;
623
618
  // Check the entity set supports draft (otherwise we don't support semantic bookmarking)
624
- const oDraftRoot = oMetaModel.getObject(sEntitySetPath + "@com.sap.vocabularies.Common.v1.DraftRoot");
625
- const oDraftNode = oMetaModel.getObject(sEntitySetPath + "@com.sap.vocabularies.Common.v1.DraftNode");
619
+ const oDraftRoot = oMetaModel.getObject(`${sEntitySetPath}@com.sap.vocabularies.Common.v1.DraftRoot`);
620
+ const oDraftNode = oMetaModel.getObject(`${sEntitySetPath}@com.sap.vocabularies.Common.v1.DraftNode`);
626
621
  return oDraftRoot || oDraftNode ? true : false;
627
622
  }
628
623
 
629
624
  /**
630
625
  * Builds a path with semantic keys from a path with technical keys.
631
626
  *
632
- * @param {string} sPathToResolve The path to be transformed
627
+ * @param sPathToResolve The path to be transformed
633
628
  * @param oModel The OData model
634
- * @returns {Promise} String promise for the new path. If sPathToResolved couldn't be interpreted as a semantic path, it is returned as is.
629
+ * @returns String promise for the new path. If sPathToResolved couldn't be interpreted as a semantic path, it is returned as is.
635
630
  * @ui5-restricted
636
631
  */
637
632
  _resolveSemanticPath(sPathToResolve: string, oModel: any): Promise<string> {
@@ -676,9 +671,9 @@ class InternalRouting extends ControllerExtension {
676
671
  /**
677
672
  * Sets the binding context of the page from a path.
678
673
  *
679
- * @param {string} sTargetPath The path to build the context. Needs to contain technical keys only.
680
- * @param {sap.ui.model.odata.v4.ODataModel} oModel The OData model
681
- * @param {object} oNavigationParameters Navigation parameters
674
+ * @param sTargetPath The path to build the context. Needs to contain technical keys only.
675
+ * @param oModel The OData model
676
+ * @param oNavigationParameters Navigation parameters
682
677
  * @ui5-restricted
683
678
  */
684
679
  _bindPageToPath(sTargetPath: string, oModel: any, oNavigationParameters: any) {
@@ -708,9 +703,9 @@ class InternalRouting extends ControllerExtension {
708
703
  /**
709
704
  * Binds the page to a context.
710
705
  *
711
- * @param {sap.ui.model.odata.v4.Context} oContext Context to be bound
712
- * @param {sap.ui.model.odata.v4.ODataModel} oModel The OData model
713
- * @param {object} oNavigationParameters Navigation parameters
706
+ * @param oContext Context to be bound
707
+ * @param oModel The OData model
708
+ * @param oNavigationParameters Navigation parameters
714
709
  * @ui5-restricted
715
710
  */
716
711
  _bindPageToContext(oContext: any, oModel: any, oNavigationParameters: any) {
@@ -729,16 +724,25 @@ class InternalRouting extends ControllerExtension {
729
724
  // if the parentBinding is not a listBinding or the transient one from the create, we create a new context
730
725
  oContext = this._createContext(oContext.getPath(), oModel);
731
726
  }
732
- oContext.setKeepAlive(
733
- true,
734
- () => {
735
- // it is possible that the context is no longer kept alive
736
- if (oContext.isKeepAlive() && oRootViewController.isContextUsedInPages(oContext)) {
737
- this.navigateBackFromContext(oContext);
738
- }
739
- },
740
- true
741
- );
727
+
728
+ try {
729
+ oContext.setKeepAlive(
730
+ true,
731
+ () => {
732
+ // it is possible that the context is no longer kept alive
733
+ if (oContext.isKeepAlive() && oRootViewController.isContextUsedInPages(oContext)) {
734
+ this.navigateBackFromContext(oContext);
735
+ }
736
+ },
737
+ true // Load messages, otherwise they don't get refreshed later, e.g. for side effects
738
+ );
739
+ } catch (oError) {
740
+ // setKeepAlive throws an exception if the parent listbinding doesn't have $$ownRequest=true
741
+ // This case for custom fragments is supported, but an error is logged to make the lack of synchronization apparent
742
+ Log.error(
743
+ `View for ${oContext.getPath()} won't be synchronized. Parent listBinding must have binding parameter $$ownRequest=true`
744
+ );
745
+ }
742
746
  } else if (!oParentListBinding || oParentListBinding.isA("sap.ui.model.odata.v4.ODataListBinding")) {
743
747
  // We need to recreate the context otherwise we get errors
744
748
  oContext = this._createContext(oContext.getPath(), oModel, oNavigationParameters.bNavigateToSiblingEntity);
@@ -761,10 +765,10 @@ class InternalRouting extends ControllerExtension {
761
765
  /**
762
766
  * Creates a context from a path.
763
767
  *
764
- * @param {string} sPath The path
765
- * @param {sap.ui.model.odata.v4.ODataModel} oModel The OData model
766
- * @param {boolean} navigateToSiblingEntity A parameter that determines whether to navigate to the context on data received
767
- * @returns {sap.ui.model.odata.v4.Context} The created context
768
+ * @param sPath The path
769
+ * @param oModel The OData model
770
+ * @param navigateToSiblingEntity A parameter that determines whether to navigate to the context on data received
771
+ * @returns The created context
768
772
  * @ui5-restricted
769
773
  */
770
774
  @publicExtension()
@@ -772,7 +776,7 @@ class InternalRouting extends ControllerExtension {
772
776
  const oPageComponent = this._oPageComponent,
773
777
  sEntitySet = oPageComponent && oPageComponent.getEntitySet && oPageComponent.getEntitySet(),
774
778
  sContextPath =
775
- (oPageComponent && oPageComponent.getContextPath && oPageComponent.getContextPath()) || (sEntitySet && "/" + sEntitySet),
779
+ (oPageComponent && oPageComponent.getContextPath && oPageComponent.getContextPath()) || (sEntitySet && `/${sEntitySet}`),
776
780
  oMetaModel = oModel.getMetaModel(),
777
781
  mParameters: any = {
778
782
  $$groupId: "$auto.Heroes",
@@ -780,8 +784,8 @@ class InternalRouting extends ControllerExtension {
780
784
  $$patchWithoutSideEffects: true
781
785
  };
782
786
  // In case of draft: $select the state flags (HasActiveEntity, HasDraftEntity, and IsActiveEntity)
783
- const oDraftRoot = oMetaModel.getObject(sContextPath + "@com.sap.vocabularies.Common.v1.DraftRoot");
784
- const oDraftNode = oMetaModel.getObject(sContextPath + "@com.sap.vocabularies.Common.v1.DraftNode");
787
+ const oDraftRoot = oMetaModel.getObject(`${sContextPath}@com.sap.vocabularies.Common.v1.DraftRoot`);
788
+ const oDraftNode = oMetaModel.getObject(`${sContextPath}@com.sap.vocabularies.Common.v1.DraftNode`);
785
789
  const oRootViewController = (this._oAppComponent as any).getRootViewController();
786
790
  if (oRootViewController.isFclEnabled()) {
787
791
  const oContext = oModel.getKeepAliveContext(sPath, false, mParameters);
@@ -799,7 +803,7 @@ class InternalRouting extends ControllerExtension {
799
803
  return oContext;
800
804
  } else {
801
805
  if (sEntitySet) {
802
- const sMessagesPath = oMetaModel.getObject(sContextPath + "/@com.sap.vocabularies.Common.v1.Messages/$Path");
806
+ const sMessagesPath = oMetaModel.getObject(`${sContextPath}/@com.sap.vocabularies.Common.v1.Messages/$Path`);
803
807
  if (sMessagesPath) {
804
808
  mParameters.$select = sMessagesPath;
805
809
  }
@@ -857,7 +861,7 @@ class InternalRouting extends ControllerExtension {
857
861
  };
858
862
  } else {
859
863
  mParams = {
860
- title: oResourceBundle.getText("SAPFE_ERROR"),
864
+ title: oResourceBundle.getText("C_COMMON_SAPFE_ERROR"),
861
865
  description: sErrorDescription,
862
866
  isDataReceivedError: true,
863
867
  shellBack: true
@@ -878,7 +882,7 @@ class InternalRouting extends ControllerExtension {
878
882
  * therefore we get all dependent bindings (via private model method) to determine all paths and then
879
883
  * request them.
880
884
  *
881
- * @param {sap.ui.model.odata.v4.Context} oBindingContext Context to be refreshed
885
+ * @param oBindingContext Context to be refreshed
882
886
  * @ui5-restricted
883
887
  */
884
888
  _refreshBindingContext(oBindingContext: any) {
@@ -887,7 +891,7 @@ class InternalRouting extends ControllerExtension {
887
891
  const sRootContextPath = oBindingContext.getPath();
888
892
  const sEntitySet = oPageComponent && oPageComponent.getEntitySet && oPageComponent.getEntitySet();
889
893
  const sContextPath =
890
- (oPageComponent && oPageComponent.getContextPath && oPageComponent.getContextPath()) || (sEntitySet && "/" + sEntitySet);
894
+ (oPageComponent && oPageComponent.getContextPath && oPageComponent.getContextPath()) || (sEntitySet && `/${sEntitySet}`);
891
895
  const oMetaModel = this._oView.getModel().getMetaModel();
892
896
  let sMessagesPath;
893
897
  const aNavigationPropertyPaths: any[] = [];
@@ -900,7 +904,7 @@ class InternalRouting extends ControllerExtension {
900
904
  function getBindingPaths(oBinding: any) {
901
905
  let aDependentBindings;
902
906
  const sRelativePath = ((oBinding.getContext() && oBinding.getContext().getPath()) || "").replace(sRootContextPath, ""); // If no context, this is an absolute binding so no relative path
903
- const sPath = (sRelativePath ? sRelativePath.slice(1) + "/" : sRelativePath) + oBinding.getPath();
907
+ const sPath = (sRelativePath ? `${sRelativePath.slice(1)}/` : sRelativePath) + oBinding.getPath();
904
908
 
905
909
  if (oBinding.isA("sap.ui.model.odata.v4.ODataContextBinding")) {
906
910
  // if (sPath === "") {
@@ -927,7 +931,7 @@ class InternalRouting extends ControllerExtension {
927
931
  }
928
932
 
929
933
  if (sContextPath) {
930
- sMessagesPath = oMetaModel.getObject(sContextPath + "/@com.sap.vocabularies.Common.v1.Messages/$Path");
934
+ sMessagesPath = oMetaModel.getObject(`${sContextPath}/@com.sap.vocabularies.Common.v1.Messages/$Path`);
931
935
  }
932
936
 
933
937
  // binding of the context must have $$PatchWithoutSideEffects true, this bound context may be needed to be fetched from the dependent binding
@@ -951,7 +955,7 @@ class InternalRouting extends ControllerExtension {
951
955
  /**
952
956
  * Gets the binding context of the page or the component.
953
957
  *
954
- * @returns {sap.ui.model.odata.v4.Context} The binding context
958
+ * @returns The binding context
955
959
  * @ui5-restricted
956
960
  */
957
961
  _getBindingContext(): Context | null | undefined {
@@ -965,7 +969,7 @@ class InternalRouting extends ControllerExtension {
965
969
  /**
966
970
  * Sets the binding context of the page or the component.
967
971
  *
968
- * @param {sap.ui.model.odata.v4.Context} oContext The binding context
972
+ * @param oContext The binding context
969
973
  * @ui5-restricted
970
974
  */
971
975
  _setBindingContext(oContext: any) {
@@ -988,7 +992,7 @@ class InternalRouting extends ControllerExtension {
988
992
  /**
989
993
  * Gets the flexible column layout (FCL) level corresponding to the view (-1 if the app is not FCL).
990
994
  *
991
- * @returns {number} The level
995
+ * @returns The level
992
996
  * @ui5-restricted
993
997
  */
994
998
  _getFCLLevel() {