@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,25 +1,24 @@
1
- import { Property } from "@sap-ux/annotation-converter";
2
- import {
3
- CommunicationAnnotationTypes,
4
- Contact,
1
+ import type { PrimitiveType, Property } from "@sap-ux/vocabularies-types";
2
+ import type { Contact } from "@sap-ux/vocabularies-types/vocabularies/Communication";
3
+ import { CommunicationAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/Communication";
4
+ import type {
5
5
  DataField,
6
6
  DataFieldAbstractTypes,
7
7
  DataFieldForActionAbstractTypes,
8
8
  DataFieldForAnnotation,
9
9
  DataFieldTypes,
10
- DataPoint,
11
- UIAnnotationTypes
12
- } from "@sap-ux/vocabularies-types";
13
- import * as Edm from "@sap-ux/vocabularies-types/dist/Edm";
14
- import { TableType } from "sap/fe/core/converters/controls/Common/Table";
15
- import { getDisplayMode, PropertyOrPath } from "sap/fe/core/templating/DisplayModeFormatter";
10
+ DataPoint
11
+ } from "@sap-ux/vocabularies-types/vocabularies/UI";
12
+ import { UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
13
+ import type { TableType } from "sap/fe/core/converters/controls/Common/Table";
14
+ import { getDisplayMode } from "sap/fe/core/templating/DisplayModeFormatter";
16
15
  import {
17
16
  getAssociatedCurrencyProperty,
18
17
  getAssociatedTimezoneProperty,
19
18
  getAssociatedUnitProperty,
20
19
  isProperty
21
20
  } from "sap/fe/core/templating/PropertyHelper";
22
- import ConverterContext from "../ConverterContext";
21
+ import type ConverterContext from "../ConverterContext";
23
22
 
24
23
  export type ComplexPropertyInfo = {
25
24
  properties: Record<string, Property>;
@@ -38,8 +37,8 @@ export type ComplexPropertyInfo = {
38
37
  * Identifies if the given dataFieldAbstract that is passed is a "DataFieldForActionAbstract".
39
38
  * DataFieldForActionAbstract has an inline action defined.
40
39
  *
41
- * @param {DataFieldAbstractTypes} dataField DataField to be evaluated
42
- * @returns {boolean} Validates that dataField is a DataFieldForActionAbstractType
40
+ * @param dataField DataField to be evaluated
41
+ * @returns Validates that dataField is a DataFieldForActionAbstractType
43
42
  */
44
43
  export function isDataFieldForActionAbstract(dataField: DataFieldAbstractTypes): dataField is DataFieldForActionAbstractTypes {
45
44
  return (dataField as DataFieldForActionAbstractTypes).hasOwnProperty("Action");
@@ -49,8 +48,8 @@ export function isDataFieldForActionAbstract(dataField: DataFieldAbstractTypes):
49
48
  * Identifies if the given dataFieldAbstract that is passed is a "DataField".
50
49
  * DataField has a value defined.
51
50
  *
52
- * @param {DataFieldAbstractTypes} dataField DataField to be evaluated
53
- * @returns {boolean} Validate that dataField is a DataFieldTypes
51
+ * @param dataField DataField to be evaluated
52
+ * @returns Validate that dataField is a DataFieldTypes
54
53
  */
55
54
  export function isDataFieldTypes(dataField: DataFieldAbstractTypes): dataField is DataFieldTypes {
56
55
  return (dataField as DataFieldTypes).hasOwnProperty("Value");
@@ -59,8 +58,8 @@ export function isDataFieldTypes(dataField: DataFieldAbstractTypes): dataField i
59
58
  /**
60
59
  * Returns whether given DataField has a static hidden annotation.
61
60
  *
62
- * @param {DataFieldAbstractTypes} dataField The datafield to check
63
- * @returns {boolean} `true` if datafield or referenced property has a static Hidden annotation, false else
61
+ * @param dataField The DataField to check
62
+ * @returns `true` if DataField or referenced property has a static Hidden annotation, false else
64
63
  * @private
65
64
  */
66
65
  export function isDataFieldAlwaysHidden(dataField: DataFieldAbstractTypes): boolean {
@@ -90,7 +89,7 @@ export function getSemanticObjectPath(converterContext: ConverterContext, object
90
89
  * Returns the navigation path prefix for a property path.
91
90
  *
92
91
  * @param path The property path For e.g. /EntityType/Navigation/Property
93
- * @returns {string} The navigation path prefix For e.g. /EntityType/Navigation/
92
+ * @returns The navigation path prefix For e.g. /EntityType/Navigation/
94
93
  */
95
94
  function _getNavigationPathPrefix(path: string): string {
96
95
  return path.indexOf("/") > -1 ? path.substring(0, path.lastIndexOf("/") + 1) : "";
@@ -105,10 +104,10 @@ function _getNavigationPathPrefix(path: string): string {
105
104
  * @param navigationPathPrefix Navigation path prefix, applicable in case of navigation properties.
106
105
  * @param tableType Table type.
107
106
  * @param relatedProperties The related properties identified so far.
108
- * @returns {ComplexPropertyInfo} The related properties identified.
107
+ * @returns The related properties identified.
109
108
  */
110
109
  function _collectAdditionalPropertiesForAnalyticalTable(
111
- target: Edm.PrimitiveType,
110
+ target: PrimitiveType,
112
111
  navigationPathPrefix: string,
113
112
  tableType: TableType,
114
113
  relatedProperties: ComplexPropertyInfo
@@ -134,11 +133,11 @@ function _collectAdditionalPropertiesForAnalyticalTable(
134
133
  * @param tableType The table type.
135
134
  * @param relatedProperties The related properties identified so far.
136
135
  * @param addUnitInTemplate True if the unit/currency property needs to be added in the export template
137
- * @returns {ComplexPropertyInfo} The related properties identified.
136
+ * @returns The related properties identified.
138
137
  */
139
138
  export function collectRelatedProperties(
140
139
  path: string,
141
- property: Edm.PrimitiveType,
140
+ property: PrimitiveType,
142
141
  converterContext: ConverterContext,
143
142
  ignoreSelf: boolean,
144
143
  tableType: TableType,
@@ -190,7 +189,7 @@ export function collectRelatedProperties(
190
189
  // Check for Text Arrangement.
191
190
  const dataModelObjectPath = converterContext.getDataModelObjectPath();
192
191
  const textAnnotationPropertyPath = navigationPathPrefix + textAnnotation.path;
193
- const displayMode = getDisplayMode(property as PropertyOrPath<Property>, dataModelObjectPath);
192
+ const displayMode = getDisplayMode(property, dataModelObjectPath);
194
193
  let descriptionIndex: number;
195
194
  switch (displayMode) {
196
195
  case "Value":
@@ -217,6 +216,7 @@ export function collectRelatedProperties(
217
216
  descriptionIndex = _pushUnique(textAnnotationPropertyPath, textAnnotation.$target);
218
217
  _appendTemplate(`{${descriptionIndex}} ({${valueIndex}})`);
219
218
  break;
219
+ // no default
220
220
  }
221
221
  } else {
222
222
  // Check for field containing Currency Or Unit Properties or Timezone
@@ -242,7 +242,7 @@ export function collectRelatedProperties(
242
242
  relatedProperties.exportTimezoneName = timezoneProperty.name;
243
243
  }
244
244
  } else if (property.Target?.$target?.Visualization) {
245
- const dataPointProperty: Edm.PrimitiveType = property.Target.$target.Value.$target;
245
+ const dataPointProperty: PrimitiveType = property.Target.$target.Value.$target;
246
246
  valueIndex = _pushUnique(path, dataPointProperty);
247
247
  // New fake property created for the Rating/Progress Target Value. It'll be used for the export on split mode.
248
248
  _pushUnique(property.Target.value, property.Target.$target);
@@ -250,7 +250,7 @@ export function collectRelatedProperties(
250
250
  _appendTemplate(`{${valueIndex}}/${targetValue}`);
251
251
  } else if (property.annotations?.UI?.DataFieldDefault?.Target?.$target?.$Type === UIAnnotationTypes.DataPointType) {
252
252
  // DataPoint use-case using DataFieldDefault.
253
- const dataPointDefaultProperty: Edm.PrimitiveType = property.annotations.UI.DataFieldDefault;
253
+ const dataPointDefaultProperty: PrimitiveType = property.annotations.UI.DataFieldDefault;
254
254
  valueIndex = _pushUnique(path, property);
255
255
  // New fake property created for the Rating/Progress Target Value. It'll be used for the export on split mode.
256
256
  _pushUnique(dataPointDefaultProperty.Target.value, property);
@@ -291,12 +291,12 @@ export function collectRelatedProperties(
291
291
  * Collect properties consumed by a DataField.
292
292
  * This is for populating the ComplexPropertyInfos of the table delegate.
293
293
  *
294
- * @param {DataFieldAbstractTypes} dataField The DataField for which the properties need to be identified.
294
+ * @param dataField The DataField for which the properties need to be identified.
295
295
  * @param converterContext The converter context.
296
- * @param {TableType} tableType The table type.
297
- * @param {ComplexPropertyInfo} relatedProperties The properties identified so far.
298
- * @param {boolean} isEmbedded True if the datafield is embedded in another annotation (e.g. FieldGroup).
299
- * @returns {ComplexPropertyInfo} The properties related to the DataField.
296
+ * @param tableType The table type.
297
+ * @param relatedProperties The properties identified so far.
298
+ * @param isEmbedded True if the DataField is embedded in another annotation (e.g. FieldGroup).
299
+ * @returns The properties related to the DataField.
300
300
  */
301
301
  export function collectRelatedPropertiesRecursively(
302
302
  dataField: DataFieldAbstractTypes,
@@ -305,57 +305,79 @@ export function collectRelatedPropertiesRecursively(
305
305
  relatedProperties: ComplexPropertyInfo = { properties: {}, additionalProperties: {} },
306
306
  isEmbedded: boolean = false
307
307
  ): ComplexPropertyInfo {
308
- if ((dataField.$Type === UIAnnotationTypes.DataField || dataField.$Type === UIAnnotationTypes.DataFieldWithUrl) && dataField.Value) {
309
- const property = dataField.Value;
310
- relatedProperties = collectRelatedProperties(
311
- property.path,
312
- property.$target,
313
- converterContext,
314
- false,
315
- tableType,
316
- relatedProperties,
317
- isEmbedded
318
- );
319
- const navigationPathPrefix = _getNavigationPathPrefix(property.path);
320
- relatedProperties = _collectAdditionalPropertiesForAnalyticalTable(dataField, navigationPathPrefix, tableType, relatedProperties);
321
- } else if (dataField.$Type === UIAnnotationTypes.DataFieldForAnnotation) {
322
- switch (dataField.Target?.$target?.$Type) {
323
- case UIAnnotationTypes.FieldGroupType:
324
- dataField.Target.$target.Data?.forEach((innerDataField: DataFieldAbstractTypes) => {
325
- relatedProperties = collectRelatedPropertiesRecursively(
326
- innerDataField,
308
+ switch (dataField?.$Type) {
309
+ case UIAnnotationTypes.DataField:
310
+ case UIAnnotationTypes.DataFieldWithUrl:
311
+ case UIAnnotationTypes.DataFieldWithNavigationPath:
312
+ case UIAnnotationTypes.DataFieldWithIntentBasedNavigation:
313
+ case UIAnnotationTypes.DataFieldWithAction:
314
+ const property = dataField.Value;
315
+ relatedProperties = collectRelatedProperties(
316
+ property.path,
317
+ property.$target,
318
+ converterContext,
319
+ false,
320
+ tableType,
321
+ relatedProperties,
322
+ isEmbedded
323
+ );
324
+ const navigationPathPrefix = _getNavigationPathPrefix(property.path);
325
+ relatedProperties = _collectAdditionalPropertiesForAnalyticalTable(
326
+ dataField,
327
+ navigationPathPrefix,
328
+ tableType,
329
+ relatedProperties
330
+ );
331
+ break;
332
+
333
+ case UIAnnotationTypes.DataFieldForAction:
334
+ case UIAnnotationTypes.DataFieldForIntentBasedNavigation:
335
+ break;
336
+
337
+ case UIAnnotationTypes.DataFieldForAnnotation:
338
+ switch (dataField.Target?.$target?.$Type) {
339
+ case UIAnnotationTypes.FieldGroupType:
340
+ dataField.Target.$target.Data?.forEach((innerDataField: DataFieldAbstractTypes) => {
341
+ relatedProperties = collectRelatedPropertiesRecursively(
342
+ innerDataField,
343
+ converterContext,
344
+ tableType,
345
+ relatedProperties,
346
+ true
347
+ );
348
+ });
349
+ break;
350
+
351
+ case UIAnnotationTypes.DataPointType:
352
+ relatedProperties = collectRelatedProperties(
353
+ dataField.Target.$target.Value.path,
354
+ dataField,
327
355
  converterContext,
356
+ false,
328
357
  tableType,
329
358
  relatedProperties,
330
- true
359
+ isEmbedded
331
360
  );
332
- });
333
- break;
361
+ break;
334
362
 
335
- case UIAnnotationTypes.DataPointType:
336
- relatedProperties = collectRelatedProperties(
337
- dataField.Target.$target.Value.path,
338
- dataField,
339
- converterContext,
340
- false,
341
- tableType,
342
- relatedProperties,
343
- isEmbedded
344
- );
345
- break;
363
+ case "com.sap.vocabularies.Communication.v1.ContactType":
364
+ relatedProperties = collectRelatedProperties(
365
+ dataField.Target.value,
366
+ dataField,
367
+ converterContext,
368
+ false,
369
+ tableType,
370
+ relatedProperties,
371
+ isEmbedded
372
+ );
373
+ break;
374
+ default:
375
+ break;
376
+ }
377
+ break;
346
378
 
347
- case "com.sap.vocabularies.Communication.v1.ContactType":
348
- relatedProperties = collectRelatedProperties(
349
- dataField.Target.value,
350
- dataField,
351
- converterContext,
352
- false,
353
- tableType,
354
- relatedProperties,
355
- isEmbedded
356
- );
357
- break;
358
- }
379
+ default:
380
+ break;
359
381
  }
360
382
 
361
383
  return relatedProperties;
@@ -389,7 +411,11 @@ export const getDataFieldDataType = function (oDataField: DataFieldAbstractTypes
389
411
  ((oDataField as DataFieldForAnnotation).Target?.$target as DataPoint)?.Value?.$target.type;
390
412
  } else {
391
413
  // e.g. FieldGroup or Chart
392
- sDataType = undefined;
414
+ // FieldGroup Properties have no type, so we define it as a boolean type to prevent exceptions during the calculation of the width
415
+ sDataType =
416
+ (oDataField as DataFieldForAnnotation).Target?.$target.$Type === "com.sap.vocabularies.UI.v1.ChartDefinitionType"
417
+ ? undefined
418
+ : "Edm.Boolean";
393
419
  }
394
420
  } else {
395
421
  sDataType = undefined;