@sapui5/sap.fe.core 1.102.3 → 1.105.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 (359) hide show
  1. package/package.json +6 -6
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +120 -0
  4. package/src/sap/fe/core/ActionRuntime.ts +108 -0
  5. package/src/sap/fe/core/AppComponent.js +81 -35
  6. package/src/sap/fe/core/AppComponent.ts +68 -44
  7. package/src/sap/fe/core/AppStateHandler.js +82 -70
  8. package/src/sap/fe/core/AppStateHandler.ts +32 -37
  9. package/src/sap/fe/core/BaseController.js +12 -10
  10. package/src/sap/fe/core/BaseController.ts +15 -13
  11. package/src/sap/fe/core/CommonUtils.js +291 -218
  12. package/src/sap/fe/core/CommonUtils.ts +315 -251
  13. package/src/sap/fe/core/ExtensionAPI.js +25 -28
  14. package/src/sap/fe/core/ExtensionAPI.ts +36 -38
  15. package/src/sap/fe/core/PageController.js +5 -5
  16. package/src/sap/fe/core/PageController.ts +4 -5
  17. package/src/sap/fe/core/TemplateComponent.js +21 -10
  18. package/src/sap/fe/core/TemplateComponent.ts +9 -6
  19. package/src/sap/fe/core/TemplateModel.js +2 -2
  20. package/src/sap/fe/core/TemplateModel.ts +1 -1
  21. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +11 -3
  22. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +8 -2
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +197 -43
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +164 -24
  25. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +14 -0
  26. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.ts +5 -0
  27. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +609 -230
  28. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +275 -128
  29. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +30 -30
  30. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +32 -29
  31. package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
  32. package/src/sap/fe/core/controllerextensions/EditFlow.js +761 -700
  33. package/src/sap/fe/core/controllerextensions/EditFlow.ts +478 -514
  34. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +10 -10
  35. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  36. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +104 -75
  37. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +71 -79
  38. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +68 -68
  39. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +76 -76
  40. package/src/sap/fe/core/controllerextensions/InternalRouting.js +162 -102
  41. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +177 -121
  42. package/src/sap/fe/core/controllerextensions/KPIManagement.js +67 -69
  43. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  44. package/src/sap/fe/core/controllerextensions/MassEdit.js +10 -10
  45. package/src/sap/fe/core/controllerextensions/MassEdit.ts +20 -27
  46. package/src/sap/fe/core/controllerextensions/MessageHandler.js +21 -13
  47. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -14
  48. package/src/sap/fe/core/controllerextensions/PageReady.js +98 -26
  49. package/src/sap/fe/core/controllerextensions/PageReady.ts +98 -34
  50. package/src/sap/fe/core/controllerextensions/Paginator.js +31 -32
  51. package/src/sap/fe/core/controllerextensions/Paginator.ts +33 -34
  52. package/src/sap/fe/core/controllerextensions/Placeholder.js +5 -7
  53. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  54. package/src/sap/fe/core/controllerextensions/Routing.js +11 -12
  55. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  56. package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
  57. package/src/sap/fe/core/controllerextensions/Share.js +171 -140
  58. package/src/sap/fe/core/controllerextensions/Share.ts +117 -118
  59. package/src/sap/fe/core/controllerextensions/SideEffects.js +47 -51
  60. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
  61. package/src/sap/fe/core/controllerextensions/ViewState.js +201 -132
  62. package/src/sap/fe/core/controllerextensions/ViewState.ts +141 -148
  63. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  64. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
  65. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +13 -12
  66. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +17 -20
  67. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +13 -12
  68. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +15 -15
  69. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +57 -18
  70. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +60 -28
  71. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +29 -21
  72. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1424 -940
  73. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +799 -836
  74. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +410 -377
  75. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +275 -358
  76. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +309 -0
  77. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +320 -0
  78. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +752 -579
  79. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +631 -599
  80. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +92 -74
  81. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +49 -52
  82. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -41
  83. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +110 -84
  84. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +69 -81
  85. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +64 -73
  86. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +18 -2
  87. package/src/sap/fe/core/controls/ActionParameterDialogFieldValueHelp.fragment.xml +35 -0
  88. package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +25 -24
  89. package/src/sap/fe/core/controls/Any.js +9 -5
  90. package/src/sap/fe/core/controls/Any.ts +10 -4
  91. package/src/sap/fe/core/controls/CommandExecution.js +12 -26
  92. package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
  93. package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -3
  94. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  95. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +26 -26
  96. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
  97. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -3
  98. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
  99. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
  100. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
  101. package/src/sap/fe/core/controls/FieldWrapper.js +3 -3
  102. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  103. package/src/sap/fe/core/controls/FileWrapper.js +9 -4
  104. package/src/sap/fe/core/controls/FileWrapper.ts +16 -12
  105. package/src/sap/fe/core/controls/FilterBar.js +7 -3
  106. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  107. package/src/sap/fe/core/controls/FormElementWrapper.js +2 -2
  108. package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
  109. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  110. package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
  111. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -1
  112. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +44 -19
  113. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -2
  114. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +17 -13
  115. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  116. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +4 -4
  117. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  118. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +49 -49
  119. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +54 -54
  120. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
  121. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
  122. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
  123. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
  124. package/src/sap/fe/core/converters/ConverterContext.js +48 -34
  125. package/src/sap/fe/core/converters/ConverterContext.ts +81 -67
  126. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  127. package/src/sap/fe/core/converters/ManifestSettings.ts +18 -15
  128. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  129. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  130. package/src/sap/fe/core/converters/MetaModelConverter.js +74 -40
  131. package/src/sap/fe/core/converters/MetaModelConverter.ts +176 -140
  132. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  133. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  134. package/src/sap/fe/core/converters/annotations/DataField.js +58 -35
  135. package/src/sap/fe/core/converters/annotations/DataField.ts +102 -76
  136. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1956 -1494
  137. package/src/sap/fe/core/converters/controls/Common/Action.js +78 -51
  138. package/src/sap/fe/core/converters/controls/Common/Action.ts +87 -52
  139. package/src/sap/fe/core/converters/controls/Common/Chart.js +22 -16
  140. package/src/sap/fe/core/converters/controls/Common/Chart.ts +42 -43
  141. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  142. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  143. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +65 -29
  144. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +93 -62
  145. package/src/sap/fe/core/converters/controls/Common/Form.js +31 -31
  146. package/src/sap/fe/core/converters/controls/Common/Form.ts +46 -57
  147. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  148. package/src/sap/fe/core/converters/controls/Common/KPI.ts +49 -52
  149. package/src/sap/fe/core/converters/controls/Common/Table.js +251 -264
  150. package/src/sap/fe/core/converters/controls/Common/Table.ts +344 -370
  151. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
  152. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +147 -144
  153. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +89 -59
  154. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +118 -71
  155. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  156. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  157. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  158. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  159. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +131 -95
  160. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +123 -87
  161. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +98 -87
  162. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +121 -117
  163. package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
  164. package/src/sap/fe/core/converters/helpers/Aggregation.ts +12 -15
  165. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
  166. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
  167. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +8 -6
  168. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +18 -10
  169. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +136 -0
  170. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +139 -0
  171. package/src/sap/fe/core/converters/helpers/ID.js +48 -46
  172. package/src/sap/fe/core/converters/helpers/ID.ts +26 -25
  173. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  174. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  175. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  176. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  177. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -5
  178. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  179. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  180. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +53 -75
  181. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +59 -90
  182. package/src/sap/fe/core/converters/templates/ListReportConverter.js +58 -57
  183. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +93 -86
  184. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +58 -44
  185. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +87 -80
  186. package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
  187. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
  188. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  189. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  190. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  191. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  192. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  193. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  194. package/src/sap/fe/core/formatters/StandardFormatter.js +96 -0
  195. package/src/sap/fe/core/formatters/StandardFormatter.ts +70 -0
  196. package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
  197. package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
  198. package/src/sap/fe/core/formatters/TableFormatterTypes.js +1 -1
  199. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  200. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  201. package/src/sap/fe/core/fpm/Component.js +33 -7
  202. package/src/sap/fe/core/fpm/Component.ts +14 -0
  203. package/src/sap/fe/core/helpers/AnnotationEnum.js +1 -1
  204. package/src/sap/fe/core/helpers/AppStartupHelper.js +19 -18
  205. package/src/sap/fe/core/helpers/AppStartupHelper.ts +41 -43
  206. package/src/sap/fe/core/helpers/BindingToolkit.js +1836 -0
  207. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +397 -270
  208. package/src/sap/fe/core/helpers/ClassSupport.js +49 -12
  209. package/src/sap/fe/core/helpers/ClassSupport.ts +37 -10
  210. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  211. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  212. package/src/sap/fe/core/helpers/EditState.js +1 -6
  213. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  214. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  215. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  216. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  217. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
  218. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  219. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  220. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -1
  221. package/src/sap/fe/core/helpers/MassEditHelper.js +306 -280
  222. package/src/sap/fe/core/helpers/MassEditHelper.ts +380 -360
  223. package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
  224. package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
  225. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  226. package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
  227. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  228. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  229. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  230. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  231. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  232. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  233. package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
  234. package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
  235. package/src/sap/fe/core/helpers/Synchronization.js +1 -1
  236. package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
  237. package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
  238. package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
  239. package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
  240. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +109 -0
  241. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +47 -0
  242. package/src/sap/fe/core/jsx-runtime/jsx-control.js +110 -0
  243. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +92 -0
  244. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
  245. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
  246. package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
  247. package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
  248. package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
  249. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +179 -0
  250. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +150 -0
  251. package/src/sap/fe/core/library.js +42 -3
  252. package/src/sap/fe/core/library.support.js +1 -1
  253. package/src/sap/fe/core/library.ts +38 -0
  254. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  255. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  256. package/src/sap/fe/core/messagebundle.properties +39 -67
  257. package/src/sap/fe/core/messagebundle_ar.properties +27 -44
  258. package/src/sap/fe/core/messagebundle_bg.properties +27 -44
  259. package/src/sap/fe/core/messagebundle_ca.properties +27 -44
  260. package/src/sap/fe/core/messagebundle_cs.properties +27 -44
  261. package/src/sap/fe/core/messagebundle_cy.properties +26 -43
  262. package/src/sap/fe/core/messagebundle_da.properties +27 -44
  263. package/src/sap/fe/core/messagebundle_de.properties +25 -42
  264. package/src/sap/fe/core/messagebundle_el.properties +28 -45
  265. package/src/sap/fe/core/messagebundle_en.properties +27 -44
  266. package/src/sap/fe/core/messagebundle_en_GB.properties +27 -44
  267. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +25 -42
  268. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +26 -40
  269. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +25 -42
  270. package/src/sap/fe/core/messagebundle_es.properties +27 -44
  271. package/src/sap/fe/core/messagebundle_es_MX.properties +27 -44
  272. package/src/sap/fe/core/messagebundle_et.properties +27 -44
  273. package/src/sap/fe/core/messagebundle_fi.properties +27 -44
  274. package/src/sap/fe/core/messagebundle_fr.properties +26 -43
  275. package/src/sap/fe/core/messagebundle_fr_CA.properties +25 -42
  276. package/src/sap/fe/core/messagebundle_hi.properties +27 -44
  277. package/src/sap/fe/core/messagebundle_hr.properties +27 -44
  278. package/src/sap/fe/core/messagebundle_hu.properties +27 -44
  279. package/src/sap/fe/core/messagebundle_id.properties +27 -44
  280. package/src/sap/fe/core/messagebundle_it.properties +43 -60
  281. package/src/sap/fe/core/messagebundle_iw.properties +27 -44
  282. package/src/sap/fe/core/messagebundle_ja.properties +27 -44
  283. package/src/sap/fe/core/messagebundle_kk.properties +27 -44
  284. package/src/sap/fe/core/messagebundle_ko.properties +30 -47
  285. package/src/sap/fe/core/messagebundle_lt.properties +27 -44
  286. package/src/sap/fe/core/messagebundle_lv.properties +27 -44
  287. package/src/sap/fe/core/messagebundle_ms.properties +27 -44
  288. package/src/sap/fe/core/messagebundle_nl.properties +29 -46
  289. package/src/sap/fe/core/messagebundle_no.properties +27 -44
  290. package/src/sap/fe/core/messagebundle_pl.properties +28 -45
  291. package/src/sap/fe/core/messagebundle_pt.properties +28 -45
  292. package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -44
  293. package/src/sap/fe/core/messagebundle_ro.properties +27 -44
  294. package/src/sap/fe/core/messagebundle_ru.properties +27 -44
  295. package/src/sap/fe/core/messagebundle_sh.properties +27 -44
  296. package/src/sap/fe/core/messagebundle_sk.properties +27 -44
  297. package/src/sap/fe/core/messagebundle_sl.properties +27 -44
  298. package/src/sap/fe/core/messagebundle_sv.properties +27 -44
  299. package/src/sap/fe/core/messagebundle_th.properties +25 -42
  300. package/src/sap/fe/core/messagebundle_tr.properties +27 -44
  301. package/src/sap/fe/core/messagebundle_uk.properties +27 -44
  302. package/src/sap/fe/core/messagebundle_vi.properties +27 -44
  303. package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -44
  304. package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -44
  305. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -3
  306. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  307. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +103 -75
  308. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +72 -73
  309. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +2 -2
  310. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
  311. package/src/sap/fe/core/services/NavigationServiceFactory.js +62 -50
  312. package/src/sap/fe/core/services/NavigationServiceFactory.ts +63 -52
  313. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -3
  314. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  315. package/src/sap/fe/core/services/RoutingServiceFactory.js +56 -56
  316. package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
  317. package/src/sap/fe/core/services/ShellServicesFactory.js +93 -77
  318. package/src/sap/fe/core/services/ShellServicesFactory.ts +95 -82
  319. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +64 -64
  320. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  321. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +232 -200
  322. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +145 -142
  323. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
  324. package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
  325. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
  326. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
  327. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  328. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  329. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  330. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  331. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +1 -1
  332. package/src/sap/fe/core/templating/CommonFormatters.js +85 -0
  333. package/src/sap/fe/core/templating/CommonFormatters.ts +90 -0
  334. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  335. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  336. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  337. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  338. package/src/sap/fe/core/templating/DataModelPathHelper.js +23 -15
  339. package/src/sap/fe/core/templating/DataModelPathHelper.ts +47 -34
  340. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  341. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
  342. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
  343. package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
  344. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  345. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  346. package/src/sap/fe/core/templating/FilterHelper.js +18 -17
  347. package/src/sap/fe/core/templating/FilterHelper.ts +18 -18
  348. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  349. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  350. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  351. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  352. package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
  353. package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
  354. package/src/sap/fe/core/templating/UIFormatters.js +152 -95
  355. package/src/sap/fe/core/templating/UIFormatters.ts +202 -128
  356. package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
  357. package/src/sap/fe/core/type/Email.js +3 -3
  358. package/src/sap/fe/core/type/Email.ts +2 -2
  359. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
@@ -1,13 +1,13 @@
1
- import ResourceBundle from "sap/base/i18n/ResourceBundle";
1
+ import type ResourceBundle from "sap/base/i18n/ResourceBundle";
2
2
  import Log from "sap/base/Log";
3
3
  import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
4
4
  import Synchronization from "sap/fe/core/helpers/Synchronization";
5
- import { IShellServices } from "sap/fe/core/services/ShellServicesFactory";
5
+ import type { IShellServices } from "sap/fe/core/services/ShellServicesFactory";
6
6
  import BaseObject from "sap/ui/base/Object";
7
7
  import Core from "sap/ui/core/Core";
8
- import Router from "sap/ui/core/routing/Router";
8
+ import type Router from "sap/ui/core/routing/Router";
9
9
  import URI from "sap/ui/thirdparty/URI";
10
- import { CoreEx } from "types/extension_types";
10
+ import type { CoreEx } from "types/extension_types";
11
11
 
12
12
  const enumState = {
13
13
  EQUAL: 0,
@@ -23,8 +23,8 @@ const enumURLParams = {
23
23
  /**
24
24
  * Creates a HashGuard object.
25
25
  *
26
- * @param {string} sGuardHash The hash used for the guard
27
- * @returns {object} The created hash guard
26
+ * @param sGuardHash The hash used for the guard
27
+ * @returns The created hash guard
28
28
  */
29
29
  function createGuardFromHash(sGuardHash: string) {
30
30
  return {
@@ -37,43 +37,43 @@ function createGuardFromHash(sGuardHash: string) {
37
37
  /**
38
38
  * Returns the iAppState part from a hash (or null if not found).
39
39
  *
40
- * @param {string} sHash The hash
41
- * @returns {string} The iAppState part of the hash
40
+ * @param sHash The hash
41
+ * @returns The iAppState part of the hash
42
42
  */
43
43
  function findAppStateInHash(sHash: string): string | null {
44
- const aAppState = sHash.match(new RegExp("\\?.*" + enumURLParams.IAPPSTATEPARAM + "=([^&]*)"));
44
+ const aAppState = sHash.match(new RegExp(`\\?.*${enumURLParams.IAPPSTATEPARAM}=([^&]*)`));
45
45
  return aAppState && aAppState.length > 1 ? aAppState[1] : null;
46
46
  }
47
47
  /**
48
48
  * Returns a hash without its iAppState part.
49
49
  *
50
- * @param {string} sHash The hash
51
- * @returns {string} The hash without the iAppState
50
+ * @param sHash The hash
51
+ * @returns The hash without the iAppState
52
52
  */
53
53
  function removeAppStateInHash(sHash: string) {
54
- return sHash.replace(new RegExp("[&?]*" + enumURLParams.IAPPSTATEPARAM + "=[^&]*"), "");
54
+ return sHash.replace(new RegExp(`[&?]*${enumURLParams.IAPPSTATEPARAM}=[^&]*`), "");
55
55
  }
56
56
  /**
57
57
  * Adds an iAppState inside a hash (or replaces an existing one).
58
58
  *
59
- * @param {*} sHash The hash
60
- * @param {*} sAppStateKey The iAppState to add
61
- * @returns {string} The hash with the app state
59
+ * @param sHash The hash
60
+ * @param sAppStateKey The iAppState to add
61
+ * @returns The hash with the app state
62
62
  */
63
63
  function setAppStateInHash(sHash: any, sAppStateKey: any) {
64
64
  let sNewHash;
65
65
 
66
66
  if (sHash.indexOf(enumURLParams.IAPPSTATEPARAM) >= 0) {
67
67
  // If there's already an iAppState parameter in the hash, replace it
68
- sNewHash = sHash.replace(new RegExp(enumURLParams.IAPPSTATEPARAM + "=[^&]*"), enumURLParams.IAPPSTATEPARAM + "=" + sAppStateKey);
68
+ sNewHash = sHash.replace(new RegExp(`${enumURLParams.IAPPSTATEPARAM}=[^&]*`), `${enumURLParams.IAPPSTATEPARAM}=${sAppStateKey}`);
69
69
  } else {
70
70
  // Add the iAppState parameter in the hash
71
71
  if (sHash.indexOf("?") < 0) {
72
- sNewHash = sHash + "?";
72
+ sNewHash = `${sHash}?`;
73
73
  } else {
74
- sNewHash = sHash + "&";
74
+ sNewHash = `${sHash}&`;
75
75
  }
76
- sNewHash += enumURLParams.IAPPSTATEPARAM + "=" + sAppStateKey;
76
+ sNewHash += `${enumURLParams.IAPPSTATEPARAM}=${sAppStateKey}`;
77
77
  }
78
78
 
79
79
  return sNewHash;
@@ -149,7 +149,7 @@ class RouterProxy extends BaseObject {
149
149
  /**
150
150
  * Raw initialization (for unit tests).
151
151
  *
152
- * @param {sap.ui.core.routing.Router} oRouter The router used by this proxy
152
+ * @param oRouter The router used by this proxy
153
153
  */
154
154
  initRaw(oRouter: Router) {
155
155
  this._oRouter = oRouter;
@@ -180,7 +180,6 @@ class RouterProxy extends BaseObject {
180
180
  *
181
181
  * @function
182
182
  * @name sap.fe.core.RouterProxy#removeIAppStateKey
183
- *
184
183
  * @ui5-restricted
185
184
  */
186
185
  removeIAppStateKey() {
@@ -194,12 +193,12 @@ class RouterProxy extends BaseObject {
194
193
  * @name sap.fe.core.RouterProxy#navToHash
195
194
  * @memberof sap.fe.core.RouterProxy
196
195
  * @static
197
- * @param {string} sHash Hash to be navigated to
198
- * @param {boolean} bPreserveHistory If set to true, non-ancestor entries in history will be retained
199
- * @param {boolean} bDisablePreservationCache If set to true, cache preservation mechanism is disabled for the current navigation
200
- * @param {boolean} bForceFocus If set to true, the logic to set the focus once the navigation is finalized will be triggered (onPageReady)
201
- * @param {boolean} bPreserveShellBackNavigationHandler If not set to false, the back navigation is set to undefined
202
- * @returns {Promise} Promise (resolved when the navigation is finalized) that returns 'true' if a navigation took place, 'false' if the navigation didn't happen
196
+ * @param sHash Hash to be navigated to
197
+ * @param bPreserveHistory If set to true, non-ancestor entries in history will be retained
198
+ * @param bDisablePreservationCache If set to true, cache preservation mechanism is disabled for the current navigation
199
+ * @param bForceFocus If set to true, the logic to set the focus once the navigation is finalized will be triggered (onPageReady)
200
+ * @param bPreserveShellBackNavigationHandler If not set to false, the back navigation is set to undefined
201
+ * @returns Promise (resolved when the navigation is finalized) that returns 'true' if a navigation took place, 'false' if the navigation didn't happen
203
202
  * @ui5-restricted
204
203
  */
205
204
  navToHash(
@@ -251,7 +250,7 @@ class RouterProxy extends BaseObject {
251
250
  const oNewState = this._extractStateFromHash(sHash);
252
251
  if (!this._bForceFocus) {
253
252
  // If the focus was already forced, keep it
254
- const aCurrentHashKeys = this._extractKeysFromHash(this.getHash());
253
+ const aCurrentHashKeys = this._extractEntitySetsFromHash(this.getHash());
255
254
  this._bForceFocus =
256
255
  bForceFocus ||
257
256
  (aCurrentHashKeys.length < oNewState.keys.length &&
@@ -269,7 +268,7 @@ class RouterProxy extends BaseObject {
269
268
  * Clears browser history if entries have been added without using the RouterProxy.
270
269
  * Updates the internal history accordingly.
271
270
  *
272
- * @returns {Promise} Promise that is resolved once the history is rebuilt
271
+ * @returns Promise that is resolved once the history is rebuilt
273
272
  */
274
273
  restoreHistory() {
275
274
  if (this._bApplyRestore) {
@@ -289,7 +288,7 @@ class RouterProxy extends BaseObject {
289
288
  /**
290
289
  * Navigates back in the history.
291
290
  *
292
- * @returns {Promise} Promise that is resolved when the navigation is finalized
291
+ * @returns Promise that is resolved when the navigation is finalized
293
292
  */
294
293
  navBack() {
295
294
  const sCurrentHash = this.getHash();
@@ -316,9 +315,10 @@ class RouterProxy extends BaseObject {
316
315
 
317
316
  /**
318
317
  * Navigates to a route with parameters.
319
- * @param {string} sRouteName The route name to be navigated to
320
- * @param {object} oParameters Parameters for the navigation
321
- * @returns {Promise} Promise that is resolved when the navigation is finalized
318
+ *
319
+ * @param sRouteName The route name to be navigated to
320
+ * @param oParameters Parameters for the navigation
321
+ * @returns Promise that is resolved when the navigation is finalized
322
322
  * @ui5-restricted
323
323
  */
324
324
  navTo(sRouteName: string, oParameters: any) {
@@ -330,7 +330,7 @@ class RouterProxy extends BaseObject {
330
330
  * Exits the current app by navigating back
331
331
  * to the previous app (if any) or the FLP.
332
332
  *
333
- * @returns {Promise} Promise that is resolved when we exit the app
333
+ * @returns Promise that is resolved when we exit the app
334
334
  */
335
335
  exitFromApp() {
336
336
  return this._oShellServices.backToPreviousApp();
@@ -340,8 +340,8 @@ class RouterProxy extends BaseObject {
340
340
  * Checks whether a given hash can have an impact on the current state
341
341
  * i.e. if the hash is equal, compatible or an ancestor of the current state.
342
342
  *
343
- * @param {*} sHash `true` if there is an impact
344
- * @returns {boolean} If there is an impact
343
+ * @param sHash `true` if there is an impact
344
+ * @returns If there is an impact
345
345
  */
346
346
  isCurrentStateImpactedBy(sHash: any) {
347
347
  if (sHash[0] === "/") {
@@ -354,7 +354,7 @@ class RouterProxy extends BaseObject {
354
354
  /**
355
355
  * Checks if a navigation is currently being processed.
356
356
  *
357
- * @returns {boolean} `false` if a navigation has been triggered in the RouterProxy and is not yet finalized
357
+ * @returns `false` if a navigation has been triggered in the RouterProxy and is not yet finalized
358
358
  */
359
359
  isNavigationFinalized() {
360
360
  return !this.bIsRebuildHistoryRunning && !this._bDelayedRebuild;
@@ -382,7 +382,7 @@ class RouterProxy extends BaseObject {
382
382
  /**
383
383
  * Checks for the availability of the navigation guard.
384
384
  *
385
- * @returns {boolean} `true` if navigating guard is available
385
+ * @returns `true` if navigating guard is available
386
386
  */
387
387
  hasNavigationGuard() {
388
388
  return this._oNavigationGuard !== null;
@@ -391,8 +391,8 @@ class RouterProxy extends BaseObject {
391
391
  /**
392
392
  * Tests a hash against the navigation guard.
393
393
  *
394
- * @param {string} sHash The hash to be tested
395
- * @returns {boolean} `true` if navigating to the hash doesn't cross the guard
394
+ * @param sHash The hash to be tested
395
+ * @returns `true` if navigating to the hash doesn't cross the guard
396
396
  */
397
397
  checkHashWithGuard(sHash: string) {
398
398
  return this._oNavigationGuard === null || this._oNavigationGuard.check(sHash);
@@ -401,7 +401,7 @@ class RouterProxy extends BaseObject {
401
401
  /**
402
402
  * Checks if the user allowed the navigation guard to be crossed.
403
403
  *
404
- * @returns {boolean} `true` if crossing the guard has been allowed by the user
404
+ * @returns `true` if crossing the guard has been allowed by the user
405
405
  */
406
406
  isGuardCrossAllowedByUser() {
407
407
  return this.bIsGuardCrossAllowed;
@@ -433,30 +433,28 @@ class RouterProxy extends BaseObject {
433
433
  this._bActivateRouteMatchSynchro = false;
434
434
  }
435
435
 
436
- _extractKeysFromHash(sHash: any) {
436
+ _extractEntitySetsFromHash(sHash: string | undefined): string[] {
437
437
  if (sHash === undefined) {
438
438
  sHash = "";
439
439
  }
440
440
  const sHashNoParams = sHash.split("?")[0]; // remove params
441
441
  const aTokens = sHashNoParams.split("/");
442
- const aKeys: any[] = [];
442
+ const names: string[] = [];
443
443
 
444
- aTokens.forEach(function (sToken: any) {
445
- const regexKey = /[^\(\)]+\([^\(\)]+\)/; // abc(def)
446
- if (regexKey.test(sToken)) {
447
- aKeys.push(sToken.split("(")[0]);
444
+ aTokens.forEach((sToken) => {
445
+ if (sToken.length) {
446
+ names.push(sToken.split("(")[0]);
448
447
  }
449
448
  });
450
449
 
451
- return aKeys;
450
+ return names;
452
451
  }
453
452
 
454
453
  /**
455
454
  * Builds a state from a hash.
456
455
  *
457
- * @param {string} sHash The hash to be used as entry
458
- * @returns {object} The state
459
- *
456
+ * @param sHash The hash to be used as entry
457
+ * @returns The state
460
458
  * @ui5-restricted
461
459
  */
462
460
  _extractStateFromHash(sHash: string) {
@@ -465,11 +463,11 @@ class RouterProxy extends BaseObject {
465
463
  }
466
464
 
467
465
  const oState: any = {
468
- keys: this._extractKeysFromHash(sHash)
466
+ keys: this._extractEntitySetsFromHash(sHash)
469
467
  };
470
468
 
471
469
  // Retrieve layout (if any)
472
- const aLayout = sHash.match(new RegExp("\\?.*" + enumURLParams.LAYOUTPARAM + "=([^&]*)"));
470
+ const aLayout = sHash.match(new RegExp(`\\?.*${enumURLParams.LAYOUTPARAM}=([^&]*)`));
473
471
  oState.sLayout = aLayout && aLayout.length > 1 ? aLayout[1] : null;
474
472
  if (oState.sLayout === "MidColumnFullScreen") {
475
473
  oState.screenMode = 1;
@@ -489,11 +487,11 @@ class RouterProxy extends BaseObject {
489
487
  * Also sets the iAppState key in the whole history.
490
488
  *
491
489
  * @memberof sap.fe.core.RouterProxy
492
- * @param {object} oNewState The new state to be added
493
- * @param {boolean} bRebuildOnly `true` if we're rebuilding the history after a shell menu navigation
494
- * @param {boolean} bPreserveHistory If set to true, non-ancestor entries in history will be retained
495
- * @param {boolean} bDisableHistoryPreservation Disable the mechanism to retained marked entries in cache
496
- * @returns {object} The new state
490
+ * @param oNewState The new state to be added
491
+ * @param bRebuildOnly `true` if we're rebuilding the history after a shell menu navigation
492
+ * @param bPreserveHistory If set to true, non-ancestor entries in history will be retained
493
+ * @param bDisableHistoryPreservation Disable the mechanism to retained marked entries in cache
494
+ * @returns The new state
497
495
  * @ui5-restricted
498
496
  * @final
499
497
  */
@@ -551,12 +549,7 @@ class RouterProxy extends BaseObject {
551
549
 
552
550
  // 4. iAppState management
553
551
  this.sIAppStateKey = findAppStateInHash(oNewState.hash);
554
- if (this.fclEnabled && this.sIAppStateKey) {
555
- // In case of FCL, the new app state needs to be applied to the whole history
556
- this._oManagedHistory.forEach((oManagedState: any) => {
557
- oManagedState.hash = setAppStateInHash(oManagedState.hash, this.sIAppStateKey);
558
- });
559
- } else if (!this.fclEnabled && oLastRemovedItem) {
552
+ if (!this.fclEnabled && oLastRemovedItem) {
560
553
  const sPreviousIAppStateKey = findAppStateInHash(oLastRemovedItem.hash);
561
554
  const oComparisonStateResult = this._compareCacheStates(oLastRemovedItem, oNewState);
562
555
  // if current state doesn't contain a i-appstate and this state should replace a state containing a iAppState
@@ -598,7 +591,6 @@ class RouterProxy extends BaseObject {
598
591
  *
599
592
  * @function
600
593
  * @memberof sap.fe.core.RouterProxy
601
- *
602
594
  * @ui5-restricted
603
595
  * @final
604
596
  */
@@ -613,8 +605,7 @@ class RouterProxy extends BaseObject {
613
605
  * @function
614
606
  * @name sap.fe.core.RouterProxy#_enableEventOnHashChange
615
607
  * @memberof sap.fe.core.RouterProxy
616
- * @param {boolean} [bIgnoreCurrentHash] Ignore the last hash event triggered before the router has initialized
617
- *
608
+ * @param [bIgnoreCurrentHash] Ignore the last hash event triggered before the router has initialized
618
609
  * @ui5-restricted
619
610
  * @final
620
611
  */
@@ -627,9 +618,9 @@ class RouterProxy extends BaseObject {
627
618
  * Synchronizes the browser history with the internal history of the routerProxy, and triggers a navigation if needed.
628
619
  *
629
620
  * @memberof sap.fe.core.RouterProxy
630
- * @param {object} oHistoryAction Specifies the navigation action to be performed
631
- * @param {boolean} bRebuildOnly `true` if internal history is currently being rebuilt
632
- * @returns {Promise} Promise (resolved when the navigation is finalized) that returns 'true' if a navigation took place, 'false' if the navigation didn't happen
621
+ * @param oHistoryAction Specifies the navigation action to be performed
622
+ * @param bRebuildOnly `true` if internal history is currently being rebuilt
623
+ * @returns Promise (resolved when the navigation is finalized) that returns 'true' if a navigation took place, 'false' if the navigation didn't happen
633
624
  * @ui5-restricted
634
625
  * @final
635
626
  */
@@ -797,8 +788,8 @@ class RouterProxy extends BaseObject {
797
788
  /**
798
789
  * Checks if back exits the present guard set.
799
790
  *
800
- * @param {string} sPresentHash The current hash. Only used for unit tests.
801
- * @returns {boolean} `true` if back exits there is a guard exit on back
791
+ * @param sPresentHash The current hash. Only used for unit tests.
792
+ * @returns `true` if back exits there is a guard exit on back
802
793
  */
803
794
  checkIfBackIsOutOfGuard(sPresentHash?: string) {
804
795
  let sPrevHash;
@@ -839,7 +830,7 @@ class RouterProxy extends BaseObject {
839
830
  /**
840
831
  * Checks if the last 2 entries in the history share the same context.
841
832
  *
842
- * @returns {boolean} `true` if they share the same context.
833
+ * @returns `true` if they share the same context.
843
834
  */
844
835
  checkIfBackHasSameContext() {
845
836
  if (this._oManagedHistory.length < 2) {
@@ -53,7 +53,15 @@
53
53
  fieldHelp="{= FIELD.getActionParameterDialogFieldHelp(${actionParameter>@}, ${actionName>@sapui.name}, ${parameter>$Name}) }"
54
54
  visible="{= (${actionParameter>$Name} === 'ResultIsActiveEntity') ? false : ${actionParameter>@com.sap.vocabularies.UI.v1.Hidden@@FIELD.getActionParameterVisibility} }"
55
55
  >
56
- <core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogValueHelp" type="XML" />
56
+ <!-- *** Switch from (new) mdc:ValueHelp to (old) mdcField:FieldValueHelp *** -->
57
+ <template:if test="{= COMMON.useFieldValueHelp() }">
58
+ <template:then>
59
+ <core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogFieldValueHelp" type="XML" />
60
+ </template:then>
61
+ <template:else>
62
+ <core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogValueHelp" type="XML" />
63
+ </template:else>
64
+ </template:if>
57
65
  </mdc:Field>
58
66
  </template:then>
59
67
  <template:else>
@@ -74,7 +82,15 @@
74
82
  key="{path: 'mvfview>Key', type:'sap.ui.model.type.String'}"
75
83
  description="{mvfview>Desc}"
76
84
  />
77
- <core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogValueHelp" type="XML" />
85
+ <!-- *** Switch from (new) mdc:ValueHelp to (old) mdcField:FieldValueHelp *** -->
86
+ <template:if test="{= COMMON.useFieldValueHelp() }">
87
+ <template:then>
88
+ <core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogFieldValueHelp" type="XML" />
89
+ </template:then>
90
+ <template:else>
91
+ <core:Fragment fragmentName="sap.fe.core.controls.ActionParameterDialogValueHelp" type="XML" />
92
+ </template:else>
93
+ </template:if>
78
94
  </mdc:MultiValueField>
79
95
  </template:else>
80
96
  </template:if>
@@ -0,0 +1,35 @@
1
+ <core:FragmentDefinition
2
+ xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
3
+ xmlns="sap.m"
4
+ xmlns:core="sap.ui.core"
5
+ xmlns:mdc="sap.ui.mdc"
6
+ xmlns:mdcField="sap.ui.mdc.field"
7
+ xmlns:unittest="http://schemas.sap.com/sapui5/preprocessorextension/sap.fe.unittesting/1"
8
+ template:require="{
9
+ COMMON: 'sap/fe/macros/CommonHelper',
10
+ FIELD: 'sap/fe/macros/field/FieldHelper',
11
+ ID: 'sap/fe/core/helpers/StableIdHelper',
12
+ ValueHelpTemplating: 'sap/fe/macros/internal/valuehelp/ValueHelpTemplating',
13
+ Property: 'sap/fe/core/templating/PropertyFormatters'
14
+ }"
15
+ >
16
+ <template:if test="{= FIELD.hasValueHelpAnnotation(${actionParameter>@}) }">
17
+ <mdc:dependents>
18
+ <mdcField:FieldValueHelp
19
+ unittest:id="ActionParameterDialogValuehelpExpressionTest"
20
+ id="{= ID.generate([${actionName>@sapui.name},${parameter>$Name}]) }"
21
+ delegate="{= FIELD.getFieldValueHelpDelegate(${action>$IsBound}, ${entitySet>@@COMMON.getContextPath}, ${actionName>@sapui.name}, ${parameter>$Name}) }"
22
+ noDialog="{= ${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} ? (${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} !== false) : false}"
23
+ validateInput="{= ValueHelpTemplating.requiresValidation(${actionParameter>@@Property.getProperty})}"
24
+ caseSensitive="{= ValueHelpTemplating.useCaseSensitiveFilterRequests(${actionParameter>@@Property.getPropertyObjectPath}, ${actionParameter>/@Org.OData.Capabilities.V1.FilterFunctions})}"
25
+ >
26
+ <mdcField:dialogContent>
27
+ <mdcField:FieldValueHelpMdcTableWrapper />
28
+ </mdcField:dialogContent>
29
+ <mdcField:suggestContent>
30
+ <mdcField:FieldValueHelpMTableWrapper />
31
+ </mdcField:suggestContent>
32
+ </mdcField:FieldValueHelp>
33
+ </mdc:dependents>
34
+ </template:if>
35
+ </core:FragmentDefinition>
@@ -1,35 +1,36 @@
1
- <core:FragmentDefinition
2
- xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
1
+ <core:FragmentDefinition xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
3
2
  xmlns="sap.m"
4
3
  xmlns:core="sap.ui.core"
5
4
  xmlns:mdc="sap.ui.mdc"
6
- xmlns:mdcField="sap.ui.mdc.field"
5
+ xmlns:mdcv="sap.ui.mdc.valuehelp"
6
+ xmlns:mdcvc="sap.ui.mdc.valuehelp.content"
7
7
  xmlns:unittest="http://schemas.sap.com/sapui5/preprocessorextension/sap.fe.unittesting/1"
8
+ xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
8
9
  template:require="{
9
10
  COMMON: 'sap/fe/macros/CommonHelper',
10
11
  FIELD: 'sap/fe/macros/field/FieldHelper',
11
12
  ID: 'sap/fe/core/helpers/StableIdHelper',
12
13
  ValueHelpTemplating: 'sap/fe/macros/internal/valuehelp/ValueHelpTemplating',
13
14
  Property: 'sap/fe/core/templating/PropertyFormatters'
14
- }"
15
- >
16
- <template:if test="{= FIELD.hasValueHelpAnnotation(${actionParameter>@}) }">
17
- <mdc:dependents>
18
- <mdcField:FieldValueHelp
19
- unittest:id="ActionParameterDialogValuehelpExpressionTest"
20
- id="{= ID.generate([${actionName>@sapui.name},${parameter>$Name}]) }"
21
- delegate="{= FIELD.getFieldValueHelpDelegate(${action>$IsBound}, ${entitySet>@@COMMON.getContextPath}, ${actionName>@sapui.name}, ${parameter>$Name}) }"
22
- noDialog="{= ${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} ? (${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} !== false) : false}"
23
- validateInput="{= ValueHelpTemplating.requiresValidation(${actionParameter>@@Property.getProperty})}"
24
- caseSensitive="{= ValueHelpTemplating.useCaseSensitiveFilterRequests(${actionParameter>@@Property.getPropertyObjectPath}, ${actionParameter>/@Org.OData.Capabilities.V1.FilterFunctions})}"
25
- >
26
- <mdcField:dialogContent>
27
- <mdcField:FieldValueHelpMdcTableWrapper />
28
- </mdcField:dialogContent>
29
- <mdcField:suggestContent>
30
- <mdcField:FieldValueHelpMTableWrapper />
31
- </mdcField:suggestContent>
32
- </mdcField:FieldValueHelp>
33
- </mdc:dependents>
34
- </template:if>
15
+ }">
16
+ <template:if test="{= FIELD.hasValueHelpAnnotation(${actionParameter>@}) }">
17
+ <mdc:dependents>
18
+ <mdc:ValueHelp
19
+ unittest:id="ActionParameterDialogValuehelpExpressionTest"
20
+ id="{= ID.generate([${actionName>@sapui.name},${parameter>$Name}]) }"
21
+ delegate="{= FIELD.getValueHelpDelegate(${action>$IsBound}, ${entitySet>@@COMMON.getContextPath}, ${actionName>@sapui.name}, ${parameter>$Name}) }"
22
+ validateInput="{= ValueHelpTemplating.requiresValidation(${actionParameter>@@Property.getProperty})}">
23
+ <mdc:typeahead>
24
+ <mdcv:Popover>
25
+ <mdcvc:MTable caseSensitive="{= ValueHelpTemplating.useCaseSensitiveFilterRequests(${actionParameter>@@Property.getPropertyObjectPath}, ${actionParameter>/@Org.OData.Capabilities.V1.FilterFunctions})}" />
26
+ </mdcv:Popover>
27
+ </mdc:typeahead>
28
+ <template:if test="{= ${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} ? (${actionParameter>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} === 'true') : true}">
29
+ <mdc:dialog>
30
+ <mdcv:Dialog />
31
+ </mdc:dialog>
32
+ </template:if>
33
+ </mdc:ValueHelp>
34
+ </mdc:dependents>
35
+ </template:if>
35
36
  </core:FragmentDefinition>
@@ -8,21 +8,25 @@ sap.ui.define(["sap/ui/base/ManagedObject"], function (ManagedObject) {
8
8
  /**
9
9
  * @class
10
10
  * A custom element to evaluate the value of Binding.
11
- *
12
11
  * @name sap.fe.core.controls.Any
13
12
  * @hideconstructor
14
13
  */
15
14
  var Any = ManagedObject.extend("sap.fe.core.controls.Any", {
16
15
  metadata: {
17
16
  properties: {
18
- any: "any"
17
+ any: "any",
18
+ anyText: "string"
19
19
  }
20
20
  },
21
- updateProperty: function () {
21
+ updateProperty: function (sName) {
22
22
  // Avoid Promise processing in ManagedObject and set Promise as value directly
23
- this.setAny(this.getBindingInfo("any").binding.getExternalValue());
23
+ if (sName === "any") {
24
+ this.setAny(this.getBindingInfo(sName).binding.getExternalValue());
25
+ } else {
26
+ this.setAnyText(this.getBindingInfo(sName).binding.getExternalValue());
27
+ }
24
28
  }
25
29
  });
26
30
  return Any;
27
31
  }, false);
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFueS50cyJdLCJuYW1lcyI6WyJBbnkiLCJNYW5hZ2VkT2JqZWN0IiwiZXh0ZW5kIiwibWV0YWRhdGEiLCJwcm9wZXJ0aWVzIiwiYW55IiwidXBkYXRlUHJvcGVydHkiLCJzZXRBbnkiLCJnZXRCaW5kaW5nSW5mbyIsImJpbmRpbmciLCJnZXRFeHRlcm5hbFZhbHVlIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQSxHQUFHLEdBQUdDLGFBQWEsQ0FBQ0MsTUFBZCxDQUFxQiwwQkFBckIsRUFBaUQ7QUFDNURDLElBQUFBLFFBQVEsRUFBRTtBQUNUQyxNQUFBQSxVQUFVLEVBQUU7QUFDWEMsUUFBQUEsR0FBRyxFQUFFO0FBRE07QUFESCxLQURrRDtBQU01REMsSUFBQUEsY0FBYyxFQUFFLFlBQXlCO0FBQ3hDO0FBQ0EsV0FBS0MsTUFBTCxDQUFhLEtBQUtDLGNBQUwsQ0FBb0IsS0FBcEIsQ0FBRCxDQUFvQ0MsT0FBcEMsQ0FBNENDLGdCQUE1QyxFQUFaO0FBQ0E7QUFUMkQsR0FBakQsQ0FBWjtTQVllVixHIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuXG5leHBvcnQgdHlwZSBBbnlUeXBlID0gTWFuYWdlZE9iamVjdCAmIHtcblx0bUJpbmRpbmdJbmZvczogb2JqZWN0O1xuXHRnZXRBbnkoKTogYW55O1xuXHRzZXRBbnkodmFsdWU6IGFueSk6IHZvaWQ7XG5cdGdldEJpbmRpbmdJbmZvKHByb3BlcnR5OiBzdHJpbmcpOiBvYmplY3Q7XG5cdGV4dGVuZChzTmFtZTogc3RyaW5nLCBzRXh0ZW5zaW9uOiBhbnkpOiBBbnlUeXBlO1xufTtcblxuLyoqXG4gKiBAY2xhc3NcbiAqIEEgY3VzdG9tIGVsZW1lbnQgdG8gZXZhbHVhdGUgdGhlIHZhbHVlIG9mIEJpbmRpbmcuXG4gKlxuICogQG5hbWUgc2FwLmZlLmNvcmUuY29udHJvbHMuQW55XG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKi9cbmNvbnN0IEFueSA9IE1hbmFnZWRPYmplY3QuZXh0ZW5kKFwic2FwLmZlLmNvcmUuY29udHJvbHMuQW55XCIsIHtcblx0bWV0YWRhdGE6IHtcblx0XHRwcm9wZXJ0aWVzOiB7XG5cdFx0XHRhbnk6IFwiYW55XCJcblx0XHR9XG5cdH0sXG5cdHVwZGF0ZVByb3BlcnR5OiBmdW5jdGlvbiAodGhpczogQW55VHlwZSkge1xuXHRcdC8vIEF2b2lkIFByb21pc2UgcHJvY2Vzc2luZyBpbiBNYW5hZ2VkT2JqZWN0IGFuZCBzZXQgUHJvbWlzZSBhcyB2YWx1ZSBkaXJlY3RseVxuXHRcdHRoaXMuc2V0QW55KCh0aGlzLmdldEJpbmRpbmdJbmZvKFwiYW55XCIpIGFzIGFueSkuYmluZGluZy5nZXRFeHRlcm5hbFZhbHVlKCkpO1xuXHR9XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQW55IGFzIGFueTtcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBbnkiLCJNYW5hZ2VkT2JqZWN0IiwiZXh0ZW5kIiwibWV0YWRhdGEiLCJwcm9wZXJ0aWVzIiwiYW55IiwiYW55VGV4dCIsInVwZGF0ZVByb3BlcnR5Iiwic05hbWUiLCJzZXRBbnkiLCJnZXRCaW5kaW5nSW5mbyIsImJpbmRpbmciLCJnZXRFeHRlcm5hbFZhbHVlIiwic2V0QW55VGV4dCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQW55LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5cbmV4cG9ydCB0eXBlIEFueVR5cGUgPSBNYW5hZ2VkT2JqZWN0ICYge1xuXHRtQmluZGluZ0luZm9zOiBvYmplY3Q7XG5cdGdldEFueSgpOiBhbnk7XG5cdGdldEFueVRleHQoKTogYW55O1xuXHRzZXRBbnkodmFsdWU6IGFueSk6IHZvaWQ7XG5cdHNldEFueVRleHQodmFsdWU6IGFueSk6IHZvaWQ7XG5cdGdldEJpbmRpbmdJbmZvKHByb3BlcnR5OiBzdHJpbmcpOiBvYmplY3Q7XG5cdGV4dGVuZChzTmFtZTogc3RyaW5nLCBzRXh0ZW5zaW9uOiBhbnkpOiBBbnlUeXBlO1xufTtcblxuLyoqXG4gKiBAY2xhc3NcbiAqIEEgY3VzdG9tIGVsZW1lbnQgdG8gZXZhbHVhdGUgdGhlIHZhbHVlIG9mIEJpbmRpbmcuXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5jb250cm9scy5BbnlcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqL1xuY29uc3QgQW55ID0gTWFuYWdlZE9iamVjdC5leHRlbmQoXCJzYXAuZmUuY29yZS5jb250cm9scy5BbnlcIiwge1xuXHRtZXRhZGF0YToge1xuXHRcdHByb3BlcnRpZXM6IHtcblx0XHRcdGFueTogXCJhbnlcIixcblx0XHRcdGFueVRleHQ6IFwic3RyaW5nXCJcblx0XHR9XG5cdH0sXG5cdHVwZGF0ZVByb3BlcnR5OiBmdW5jdGlvbiAodGhpczogQW55VHlwZSwgc05hbWU6IHN0cmluZykge1xuXHRcdC8vIEF2b2lkIFByb21pc2UgcHJvY2Vzc2luZyBpbiBNYW5hZ2VkT2JqZWN0IGFuZCBzZXQgUHJvbWlzZSBhcyB2YWx1ZSBkaXJlY3RseVxuXHRcdGlmIChzTmFtZSA9PT0gXCJhbnlcIikge1xuXHRcdFx0dGhpcy5zZXRBbnkoKHRoaXMuZ2V0QmluZGluZ0luZm8oc05hbWUpIGFzIGFueSkuYmluZGluZy5nZXRFeHRlcm5hbFZhbHVlKCkpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnNldEFueVRleHQoKHRoaXMuZ2V0QmluZGluZ0luZm8oc05hbWUpIGFzIGFueSkuYmluZGluZy5nZXRFeHRlcm5hbFZhbHVlKCkpO1xuXHRcdH1cblx0fVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IEFueSBhcyBhbnk7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7RUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQSxJQUFNQSxHQUFHLEdBQUdDLGFBQWEsQ0FBQ0MsTUFBZCxDQUFxQiwwQkFBckIsRUFBaUQ7SUFDNURDLFFBQVEsRUFBRTtNQUNUQyxVQUFVLEVBQUU7UUFDWEMsR0FBRyxFQUFFLEtBRE07UUFFWEMsT0FBTyxFQUFFO01BRkU7SUFESCxDQURrRDtJQU81REMsY0FBYyxFQUFFLFVBQXlCQyxLQUF6QixFQUF3QztNQUN2RDtNQUNBLElBQUlBLEtBQUssS0FBSyxLQUFkLEVBQXFCO1FBQ3BCLEtBQUtDLE1BQUwsQ0FBYSxLQUFLQyxjQUFMLENBQW9CRixLQUFwQixDQUFELENBQW9DRyxPQUFwQyxDQUE0Q0MsZ0JBQTVDLEVBQVo7TUFDQSxDQUZELE1BRU87UUFDTixLQUFLQyxVQUFMLENBQWlCLEtBQUtILGNBQUwsQ0FBb0JGLEtBQXBCLENBQUQsQ0FBb0NHLE9BQXBDLENBQTRDQyxnQkFBNUMsRUFBaEI7TUFDQTtJQUNEO0VBZDJELENBQWpELENBQVo7U0FpQmVaLEcifQ==
@@ -3,7 +3,9 @@ import ManagedObject from "sap/ui/base/ManagedObject";
3
3
  export type AnyType = ManagedObject & {
4
4
  mBindingInfos: object;
5
5
  getAny(): any;
6
+ getAnyText(): any;
6
7
  setAny(value: any): void;
8
+ setAnyText(value: any): void;
7
9
  getBindingInfo(property: string): object;
8
10
  extend(sName: string, sExtension: any): AnyType;
9
11
  };
@@ -11,19 +13,23 @@ export type AnyType = ManagedObject & {
11
13
  /**
12
14
  * @class
13
15
  * A custom element to evaluate the value of Binding.
14
- *
15
16
  * @name sap.fe.core.controls.Any
16
17
  * @hideconstructor
17
18
  */
18
19
  const Any = ManagedObject.extend("sap.fe.core.controls.Any", {
19
20
  metadata: {
20
21
  properties: {
21
- any: "any"
22
+ any: "any",
23
+ anyText: "string"
22
24
  }
23
25
  },
24
- updateProperty: function (this: AnyType) {
26
+ updateProperty: function (this: AnyType, sName: string) {
25
27
  // Avoid Promise processing in ManagedObject and set Promise as value directly
26
- this.setAny((this.getBindingInfo("any") as any).binding.getExternalValue());
28
+ if (sName === "any") {
29
+ this.setAny((this.getBindingInfo(sName) as any).binding.getExternalValue());
30
+ } else {
31
+ this.setAnyText((this.getBindingInfo(sName) as any).binding.getExternalValue());
32
+ }
27
33
  }
28
34
  });
29
35