@sapui5/sap.fe.core 1.102.0 → 1.103.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 (311) hide show
  1. package/package.json +5 -5
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +62 -26
  4. package/src/sap/fe/core/AppComponent.ts +56 -40
  5. package/src/sap/fe/core/AppStateHandler.js +10 -10
  6. package/src/sap/fe/core/AppStateHandler.ts +9 -9
  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 +236 -109
  10. package/src/sap/fe/core/CommonUtils.ts +252 -136
  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/BuildingBlockRuntime.js +8 -8
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +11 -10
  23. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +27 -27
  24. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +28 -26
  25. package/src/sap/fe/core/controllerextensions/EditFlow.js +129 -118
  26. package/src/sap/fe/core/controllerextensions/EditFlow.ts +154 -141
  27. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +9 -9
  28. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
  29. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +31 -26
  30. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +34 -35
  31. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +70 -70
  32. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +77 -77
  33. package/src/sap/fe/core/controllerextensions/InternalRouting.js +84 -78
  34. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +105 -101
  35. package/src/sap/fe/core/controllerextensions/KPIManagement.js +66 -68
  36. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
  37. package/src/sap/fe/core/controllerextensions/MassEdit.js +8 -8
  38. package/src/sap/fe/core/controllerextensions/MassEdit.ts +19 -26
  39. package/src/sap/fe/core/controllerextensions/MessageHandler.js +20 -12
  40. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +29 -14
  41. package/src/sap/fe/core/controllerextensions/PageReady.js +97 -25
  42. package/src/sap/fe/core/controllerextensions/PageReady.ts +94 -34
  43. package/src/sap/fe/core/controllerextensions/Paginator.js +21 -22
  44. package/src/sap/fe/core/controllerextensions/Paginator.ts +24 -25
  45. package/src/sap/fe/core/controllerextensions/Placeholder.js +4 -6
  46. package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
  47. package/src/sap/fe/core/controllerextensions/Routing.js +10 -11
  48. package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
  49. package/src/sap/fe/core/controllerextensions/Share.js +22 -22
  50. package/src/sap/fe/core/controllerextensions/Share.ts +30 -29
  51. package/src/sap/fe/core/controllerextensions/SideEffects.js +46 -50
  52. package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
  53. package/src/sap/fe/core/controllerextensions/ViewState.js +65 -62
  54. package/src/sap/fe/core/controllerextensions/ViewState.ts +68 -63
  55. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
  56. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +6 -6
  58. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +12 -17
  59. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
  60. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +4 -4
  61. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +7 -9
  62. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +18 -19
  63. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +184 -137
  64. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +253 -206
  65. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +113 -121
  66. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +148 -158
  67. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +198 -148
  68. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +223 -159
  69. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +24 -26
  70. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +35 -33
  71. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -44
  72. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +90 -60
  73. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +52 -55
  74. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -58
  75. package/src/sap/fe/core/controls/Any.js +9 -5
  76. package/src/sap/fe/core/controls/Any.ts +10 -4
  77. package/src/sap/fe/core/controls/CommandExecution.js +11 -25
  78. package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
  79. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  80. package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
  81. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +22 -22
  82. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
  83. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  84. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
  85. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
  86. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
  87. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  88. package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
  89. package/src/sap/fe/core/controls/FileWrapper.js +2 -2
  90. package/src/sap/fe/core/controls/FileWrapper.ts +11 -11
  91. package/src/sap/fe/core/controls/FilterBar.js +6 -2
  92. package/src/sap/fe/core/controls/FilterBar.ts +13 -9
  93. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  94. package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
  95. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  96. package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
  97. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +3 -3
  98. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +16 -12
  99. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
  100. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -3
  101. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
  102. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +47 -47
  103. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +52 -52
  104. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
  105. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
  106. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
  107. package/src/sap/fe/core/converters/ConverterContext.js +26 -33
  108. package/src/sap/fe/core/converters/ConverterContext.ts +51 -60
  109. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  110. package/src/sap/fe/core/converters/ManifestSettings.ts +14 -14
  111. package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
  112. package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
  113. package/src/sap/fe/core/converters/MetaModelConverter.js +50 -32
  114. package/src/sap/fe/core/converters/MetaModelConverter.ts +145 -127
  115. package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
  116. package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
  117. package/src/sap/fe/core/converters/annotations/DataField.js +54 -34
  118. package/src/sap/fe/core/converters/annotations/DataField.ts +97 -75
  119. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1911 -1495
  120. package/src/sap/fe/core/converters/controls/Common/Action.js +50 -41
  121. package/src/sap/fe/core/converters/controls/Common/Action.ts +56 -46
  122. package/src/sap/fe/core/converters/controls/Common/Chart.js +14 -14
  123. package/src/sap/fe/core/converters/controls/Common/Chart.ts +23 -26
  124. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
  125. package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
  126. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +28 -28
  127. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +40 -36
  128. package/src/sap/fe/core/converters/controls/Common/Form.js +25 -27
  129. package/src/sap/fe/core/converters/controls/Common/Form.ts +37 -45
  130. package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
  131. package/src/sap/fe/core/converters/controls/Common/KPI.ts +35 -39
  132. package/src/sap/fe/core/converters/controls/Common/Table.js +174 -183
  133. package/src/sap/fe/core/converters/controls/Common/Table.ts +237 -250
  134. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
  135. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +144 -141
  136. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +45 -41
  137. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +64 -57
  138. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
  139. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
  140. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
  141. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
  142. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +67 -64
  143. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +69 -66
  144. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +73 -72
  145. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +98 -96
  146. package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
  147. package/src/sap/fe/core/converters/helpers/Aggregation.ts +10 -13
  148. package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
  149. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
  150. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +4 -4
  151. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +9 -9
  152. package/src/sap/fe/core/converters/helpers/ID.js +46 -46
  153. package/src/sap/fe/core/converters/helpers/ID.ts +25 -25
  154. package/src/sap/fe/core/converters/helpers/Key.js +7 -7
  155. package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
  156. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  157. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -4
  158. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
  159. package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
  160. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +46 -62
  161. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +54 -82
  162. package/src/sap/fe/core/converters/templates/ListReportConverter.js +30 -29
  163. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +40 -40
  164. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +39 -38
  165. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +52 -61
  166. package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
  167. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
  168. package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
  169. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
  170. package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
  171. package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
  172. package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
  173. package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
  174. package/src/sap/fe/core/formatters/StandardFormatter.js +89 -0
  175. package/src/sap/fe/core/formatters/StandardFormatter.ts +64 -0
  176. package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
  177. package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
  178. package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
  179. package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
  180. package/src/sap/fe/core/helpers/AppStartupHelper.js +15 -15
  181. package/src/sap/fe/core/helpers/AppStartupHelper.ts +37 -40
  182. package/src/sap/fe/core/helpers/BindingToolkit.js +1809 -0
  183. package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +365 -264
  184. package/src/sap/fe/core/helpers/ClassSupport.js +20 -11
  185. package/src/sap/fe/core/helpers/ClassSupport.ts +14 -10
  186. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
  187. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
  188. package/src/sap/fe/core/helpers/EditState.js +1 -6
  189. package/src/sap/fe/core/helpers/EditState.ts +5 -10
  190. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
  191. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
  192. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  193. package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
  194. package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
  195. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
  196. package/src/sap/fe/core/helpers/MassEditHelper.js +281 -254
  197. package/src/sap/fe/core/helpers/MassEditHelper.ts +337 -289
  198. package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
  199. package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
  200. package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
  201. package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
  202. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  203. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
  204. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
  205. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
  206. package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
  207. package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
  208. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  209. package/src/sap/fe/core/jsx-runtime/jsx.ts +8 -8
  210. package/src/sap/fe/core/library.js +42 -3
  211. package/src/sap/fe/core/library.ts +38 -0
  212. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
  213. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
  214. package/src/sap/fe/core/messagebundle.properties +49 -35
  215. package/src/sap/fe/core/messagebundle_ar.properties +13 -5
  216. package/src/sap/fe/core/messagebundle_bg.properties +13 -5
  217. package/src/sap/fe/core/messagebundle_ca.properties +13 -5
  218. package/src/sap/fe/core/messagebundle_cs.properties +13 -5
  219. package/src/sap/fe/core/messagebundle_cy.properties +14 -6
  220. package/src/sap/fe/core/messagebundle_da.properties +13 -5
  221. package/src/sap/fe/core/messagebundle_de.properties +15 -7
  222. package/src/sap/fe/core/messagebundle_el.properties +14 -6
  223. package/src/sap/fe/core/messagebundle_en.properties +9 -1
  224. package/src/sap/fe/core/messagebundle_en_GB.properties +11 -3
  225. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +7 -1
  226. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -1
  227. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +44 -85
  228. package/src/sap/fe/core/messagebundle_es.properties +13 -5
  229. package/src/sap/fe/core/messagebundle_es_MX.properties +13 -5
  230. package/src/sap/fe/core/messagebundle_et.properties +13 -5
  231. package/src/sap/fe/core/messagebundle_fi.properties +14 -6
  232. package/src/sap/fe/core/messagebundle_fr.properties +14 -6
  233. package/src/sap/fe/core/messagebundle_fr_CA.properties +14 -6
  234. package/src/sap/fe/core/messagebundle_hi.properties +14 -6
  235. package/src/sap/fe/core/messagebundle_hr.properties +14 -6
  236. package/src/sap/fe/core/messagebundle_hu.properties +13 -5
  237. package/src/sap/fe/core/messagebundle_id.properties +13 -5
  238. package/src/sap/fe/core/messagebundle_it.properties +33 -25
  239. package/src/sap/fe/core/messagebundle_iw.properties +13 -5
  240. package/src/sap/fe/core/messagebundle_ja.properties +14 -6
  241. package/src/sap/fe/core/messagebundle_kk.properties +13 -5
  242. package/src/sap/fe/core/messagebundle_ko.properties +13 -5
  243. package/src/sap/fe/core/messagebundle_lt.properties +13 -5
  244. package/src/sap/fe/core/messagebundle_lv.properties +14 -6
  245. package/src/sap/fe/core/messagebundle_ms.properties +13 -5
  246. package/src/sap/fe/core/messagebundle_nl.properties +13 -5
  247. package/src/sap/fe/core/messagebundle_no.properties +13 -5
  248. package/src/sap/fe/core/messagebundle_pl.properties +13 -5
  249. package/src/sap/fe/core/messagebundle_pt.properties +13 -5
  250. package/src/sap/fe/core/messagebundle_pt_PT.properties +14 -6
  251. package/src/sap/fe/core/messagebundle_ro.properties +13 -5
  252. package/src/sap/fe/core/messagebundle_ru.properties +13 -5
  253. package/src/sap/fe/core/messagebundle_sh.properties +13 -5
  254. package/src/sap/fe/core/messagebundle_sk.properties +13 -5
  255. package/src/sap/fe/core/messagebundle_sl.properties +17 -9
  256. package/src/sap/fe/core/messagebundle_sv.properties +14 -6
  257. package/src/sap/fe/core/messagebundle_th.properties +13 -5
  258. package/src/sap/fe/core/messagebundle_tr.properties +13 -5
  259. package/src/sap/fe/core/messagebundle_uk.properties +13 -5
  260. package/src/sap/fe/core/messagebundle_vi.properties +13 -5
  261. package/src/sap/fe/core/messagebundle_zh_CN.properties +14 -6
  262. package/src/sap/fe/core/messagebundle_zh_TW.properties +13 -5
  263. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  264. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
  265. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -2
  266. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +14 -14
  267. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
  268. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
  269. package/src/sap/fe/core/services/NavigationServiceFactory.js +53 -44
  270. package/src/sap/fe/core/services/NavigationServiceFactory.ts +54 -46
  271. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  272. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
  273. package/src/sap/fe/core/services/RoutingServiceFactory.js +55 -55
  274. package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
  275. package/src/sap/fe/core/services/ShellServicesFactory.js +72 -76
  276. package/src/sap/fe/core/services/ShellServicesFactory.ts +76 -82
  277. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +61 -61
  278. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
  279. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +20 -15
  280. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +26 -21
  281. package/src/sap/fe/core/support/CommonHelper.js +3 -2
  282. package/src/sap/fe/core/support/CommonHelper.ts +9 -13
  283. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  284. package/src/sap/fe/core/support/Diagnostics.ts +5 -5
  285. package/src/sap/fe/core/templating/CommonFormatters.js +84 -0
  286. package/src/sap/fe/core/templating/CommonFormatters.ts +86 -0
  287. package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
  288. package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
  289. package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
  290. package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
  291. package/src/sap/fe/core/templating/DataModelPathHelper.js +16 -15
  292. package/src/sap/fe/core/templating/DataModelPathHelper.ts +42 -32
  293. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  294. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
  295. package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
  296. package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
  297. package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
  298. package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
  299. package/src/sap/fe/core/templating/FilterHelper.js +10 -9
  300. package/src/sap/fe/core/templating/FilterHelper.ts +13 -13
  301. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  302. package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
  303. package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
  304. package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
  305. package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
  306. package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
  307. package/src/sap/fe/core/templating/UIFormatters.js +148 -93
  308. package/src/sap/fe/core/templating/UIFormatters.ts +196 -124
  309. package/src/sap/fe/core/type/Email.js +2 -2
  310. package/src/sap/fe/core/type/Email.ts +2 -2
  311. package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
@@ -1,14 +1,13 @@
1
- import { EntityType } from "@sap-ux/annotation-converter";
2
- import ConverterContext from "sap/fe/core/converters/ConverterContext";
3
- import { FilterFieldManifestConfiguration } from "sap/fe/core/converters/ManifestSettings";
4
- import { isPropertyFilterable, getIsRequired } from "sap/fe/core/templating/FilterTemplating";
5
- import { compileBinding } from "sap/fe/core/helpers/BindingExpression";
6
- import { checkFilterExpressionRestrictions } from "sap/fe/core/templating/DataModelPathHelper";
1
+ import type { AnnotationTerm, EntityType } from "@sap-ux/vocabularies-types";
2
+ import type { CustomAggregate } from "@sap-ux/vocabularies-types/vocabularies/Aggregation";
3
+ import type { NavigationPropertyRestrictionTypes } from "@sap-ux/vocabularies-types/vocabularies/Capabilities";
4
+ import type ConverterContext from "sap/fe/core/converters/ConverterContext";
7
5
  import { AggregationHelper } from "sap/fe/core/converters/helpers/Aggregation";
8
- import { IssueType, IssueSeverity, IssueCategory } from "sap/fe/core/converters/helpers/IssueManager";
9
- import { NavigationPropertyRestrictionTypes } from "@sap-ux/vocabularies-types/dist/generated/Capabilities";
10
- import { AnnotationTerm } from "@sap-ux/vocabularies-types";
11
- import { CustomAggregate } from "@sap-ux/vocabularies-types/dist/generated/Aggregation";
6
+ import { IssueCategory, IssueSeverity, IssueType } from "sap/fe/core/converters/helpers/IssueManager";
7
+ import type { FilterFieldManifestConfiguration } from "sap/fe/core/converters/ManifestSettings";
8
+ import { compileExpression } from "sap/fe/core/helpers/BindingToolkit";
9
+ import { checkFilterExpressionRestrictions } from "sap/fe/core/templating/DataModelPathHelper";
10
+ import { getIsRequired, isPropertyFilterable } from "sap/fe/core/templating/FilterTemplating";
12
11
 
13
12
  export type VisualFilters = {
14
13
  dimensionPath?: string;
@@ -30,12 +29,13 @@ export type VisualFilters = {
30
29
 
31
30
  /**
32
31
  * Checks that measures and dimensions of the visual filter chart can be aggregated and grouped.
32
+ *
33
33
  * @param converterContext The converter context
34
34
  * @param chartAnnotation The chart annotation
35
35
  * @param aggregationHelper The aggregation helper
36
- * @returns {boolean | undefined }
36
+ * @returns `true` if the measure can be grouped and aggregated
37
37
  */
38
- const _checkVFAggregation = function(
38
+ const _checkVFAggregation = function (
39
39
  converterContext: ConverterContext,
40
40
  chartAnnotation: any,
41
41
  aggregationHelper: any
@@ -47,14 +47,14 @@ const _checkVFAggregation = function(
47
47
  const aTransAggregations = aggregationHelper.getTransAggregations();
48
48
 
49
49
  if (
50
- customAggregates.some(function(custAgg: AnnotationTerm<CustomAggregate>) {
50
+ customAggregates.some(function (custAgg: AnnotationTerm<CustomAggregate>) {
51
51
  return custAgg.qualifier === sMeasure;
52
52
  })
53
53
  ) {
54
54
  sMeasurePath = sMeasure;
55
55
  } else if (aTransAggregations && aTransAggregations[0]) {
56
56
  const aAggregations = aTransAggregations[0];
57
- aAggregations.some(function(oAggregate: any) {
57
+ aAggregations.some(function (oAggregate: any) {
58
58
  if (oAggregate.Name === sMeasure) {
59
59
  sMeasurePath = oAggregate?.AggregatableProperty.value;
60
60
  }
@@ -81,11 +81,12 @@ const _checkVFAggregation = function(
81
81
 
82
82
  /**
83
83
  * Method to get the visual filters object for a property.
84
+ *
84
85
  * @param entityType The converter context
85
86
  * @param converterContext The chart annotation
86
87
  * @param sPropertyPath The aggregation helper
87
88
  * @param FilterFields The aggregation helper
88
- * @returns {VisualFilters | undefined }
89
+ * @returns The visual filters
89
90
  */
90
91
  export function getVisualFilters(
91
92
  entityType: EntityType,
@@ -98,13 +99,13 @@ export function getVisualFilters(
98
99
  if (oVisualFilter?.visualFilter?.valueList) {
99
100
  const oVFPath = oVisualFilter?.visualFilter?.valueList;
100
101
  const annotationQualifierSplit = oVFPath.split("#");
101
- const qualifierVL = annotationQualifierSplit.length > 1 ? "ValueList#" + annotationQualifierSplit[1] : annotationQualifierSplit[0];
102
+ const qualifierVL = annotationQualifierSplit.length > 1 ? `ValueList#${annotationQualifierSplit[1]}` : annotationQualifierSplit[0];
102
103
  const property = entityType.resolvePath(sPropertyPath);
103
104
  const valueList: any = property?.annotations?.Common[qualifierVL];
104
105
  if (valueList) {
105
106
  const collectionPath = valueList?.CollectionPath;
106
107
  let collectionPathConverterContext = converterContext.getConverterContextFor(
107
- "/" + (collectionPath || converterContext.getEntitySet()?.name)
108
+ `/${collectionPath || converterContext.getEntitySet()?.name}`
108
109
  );
109
110
  const valueListParams = valueList?.Parameters;
110
111
  let outParameter: any;
@@ -116,12 +117,12 @@ export function getVisualFilters(
116
117
  }
117
118
  const parameterEntityType = collectionPathConverterContext.getParameterEntityType();
118
119
  aParameters = parameterEntityType
119
- ? parameterEntityType.keys.map(function(key) {
120
+ ? parameterEntityType.keys.map(function (key) {
120
121
  return key.name;
121
122
  })
122
123
  : [];
123
124
  if (converterContext.getContextPath() === collectionPathConverterContext.getContextPath()) {
124
- aParameters.forEach(function(parameter: any) {
125
+ aParameters.forEach(function (parameter: any) {
125
126
  inParameters.push({
126
127
  localDataProperty: parameter,
127
128
  valueListProperty: parameter
@@ -130,8 +131,8 @@ export function getVisualFilters(
130
131
  }
131
132
  if (valueListParams) {
132
133
  for (const valueListParam of valueListParams) {
133
- const localDataProperty = (valueListParam as any).LocalDataProperty?.value;
134
- const valueListProperty = (valueListParam as any).ValueListProperty;
134
+ const localDataProperty = valueListParam.LocalDataProperty?.value;
135
+ const valueListProperty = valueListParam.ValueListProperty;
135
136
  if (
136
137
  (valueListParam?.$Type === "com.sap.vocabularies.Common.v1.ValueListParameterInOut" ||
137
138
  valueListParam?.$Type === "com.sap.vocabularies.Common.v1.ValueListParameterOut") &&
@@ -155,8 +156,8 @@ export function getVisualFilters(
155
156
  }
156
157
  }
157
158
  if (inParameters && inParameters.length) {
158
- inParameters.forEach(function(oInParameter: any) {
159
- const mainEntitySetInMappingAllowedExpression = compileBinding(
159
+ inParameters.forEach(function (oInParameter: any) {
160
+ const mainEntitySetInMappingAllowedExpression = compileExpression(
160
161
  checkFilterExpressionRestrictions(
161
162
  converterContext
162
163
  .getConverterContextFor(converterContext.getAbsoluteAnnotationPath(oInParameter?.localDataProperty))
@@ -164,7 +165,7 @@ export function getVisualFilters(
164
165
  ["SingleValue"]
165
166
  )
166
167
  );
167
- const valueListEntitySetInMappingAllowedExpression = compileBinding(
168
+ const valueListEntitySetInMappingAllowedExpression = compileExpression(
168
169
  checkFilterExpressionRestrictions(
169
170
  collectionPathConverterContext
170
171
  .getConverterContextFor(
@@ -175,23 +176,22 @@ export function getVisualFilters(
175
176
  )
176
177
  );
177
178
  if (valueListEntitySetInMappingAllowedExpression === "true" && mainEntitySetInMappingAllowedExpression === "false") {
178
- throw new Error(
179
- "FilterRestrictions of " + sPropertyPath + " in MainEntitySet and ValueListEntitySet are different"
180
- );
179
+ throw new Error(`FilterRestrictions of ${sPropertyPath} in MainEntitySet and ValueListEntitySet are different`);
181
180
  }
182
181
  });
183
182
  }
184
183
  const pvQualifier = valueList?.PresentationVariantQualifier;
185
184
  const svQualifier = valueList?.SelectionVariantQualifier;
186
- const pvAnnotation: any = collectionPathConverterContext?.getEntityTypeAnnotation("@UI.PresentationVariant#" + pvQualifier)
187
- ?.annotation;
185
+ const pvAnnotation: any = collectionPathConverterContext?.getEntityTypeAnnotation(
186
+ `@UI.PresentationVariant#${pvQualifier}`
187
+ )?.annotation;
188
188
  const aggregationHelper = new AggregationHelper(collectionPathConverterContext.getEntityType(), collectionPathConverterContext);
189
189
  if (!aggregationHelper.isAnalyticsSupported()) {
190
190
  return;
191
191
  }
192
192
  if (pvAnnotation) {
193
193
  const aVisualizations = pvAnnotation?.Visualizations;
194
- const contextPath = "/" + valueList?.CollectionPath || "/" + collectionPathConverterContext?.getEntitySet()?.name;
194
+ const contextPath = `/${valueList?.CollectionPath}` || `/${collectionPathConverterContext?.getEntitySet()?.name}`;
195
195
  visualFilter.contextPath = contextPath;
196
196
  let chartAnnotation;
197
197
  for (const visualization of aVisualizations) {
@@ -210,17 +210,18 @@ export function getVisualFilters(
210
210
  return;
211
211
  }
212
212
  const bDimensionHidden: boolean = chartAnnotation?.$target?.Dimensions[0]?.$target?.annotations?.UI?.Hidden?.valueOf();
213
- const bDimensionHiddenFilter: boolean = chartAnnotation?.$target?.Dimensions[0]?.$target?.annotations?.UI?.HiddenFilter?.valueOf();
213
+ const bDimensionHiddenFilter: boolean =
214
+ chartAnnotation?.$target?.Dimensions[0]?.$target?.annotations?.UI?.HiddenFilter?.valueOf();
214
215
  if (bDimensionHidden === true || bDimensionHiddenFilter === true) {
215
216
  return;
216
217
  } else if (aVisualizations && aVisualizations.length) {
217
218
  visualFilter.chartAnnotation = chartAnnotation
218
219
  ? collectionPathConverterContext?.getAbsoluteAnnotationPath(
219
- chartAnnotation.fullyQualifiedName + "/$AnnotationPath/"
220
+ `${chartAnnotation.fullyQualifiedName}/$AnnotationPath/`
220
221
  )
221
222
  : undefined;
222
223
  visualFilter.presentationAnnotation = pvAnnotation
223
- ? collectionPathConverterContext?.getAbsoluteAnnotationPath(pvAnnotation.fullyQualifiedName + "/")
224
+ ? collectionPathConverterContext?.getAbsoluteAnnotationPath(`${pvAnnotation.fullyQualifiedName}/`)
224
225
  : undefined;
225
226
  visualFilter.outParameter = outParameter?.LocalDataProperty?.value;
226
227
  visualFilter.inParameters = inParameters;
@@ -231,7 +232,7 @@ export function getVisualFilters(
231
232
  ["SingleRange", "MultiRange"]
232
233
  );
233
234
 
234
- if (compileBinding(bIsRange) === "true") {
235
+ if (compileExpression(bIsRange) === "true") {
235
236
  throw new Error("Range AllowedExpression is not supported for visual filters");
236
237
  }
237
238
 
@@ -241,23 +242,25 @@ export function getVisualFilters(
241
242
  .getDataModelObjectPath(),
242
243
  ["SingleValue"]
243
244
  );
244
- visualFilter.multipleSelectionAllowed = compileBinding(!bIsMainEntitySetSingleSelection.value) as any;
245
+ visualFilter.multipleSelectionAllowed = compileExpression(!bIsMainEntitySetSingleSelection.value) as any;
245
246
  visualFilter.required = getIsRequired(converterContext, sPropertyPath);
246
247
  let svAnnotation: any;
247
248
  if (svQualifier) {
248
- svAnnotation = collectionPathConverterContext?.getEntityTypeAnnotation("@UI.SelectionVariant#" + svQualifier)
249
- ?.annotation;
249
+ svAnnotation = collectionPathConverterContext?.getEntityTypeAnnotation(
250
+ `@UI.SelectionVariant#${svQualifier}`
251
+ )?.annotation;
250
252
  visualFilter.selectionVariantAnnotation = svAnnotation
251
- ? collectionPathConverterContext?.getAbsoluteAnnotationPath(svAnnotation.fullyQualifiedName + "/")
253
+ ? collectionPathConverterContext?.getAbsoluteAnnotationPath(`${svAnnotation.fullyQualifiedName}/`)
252
254
  : undefined;
253
255
  }
254
256
  let requiredProperties = [];
255
257
  if (parameterEntityType) {
256
258
  const sEntitySet = collectionPath.split("/")[0];
257
259
  const sNavigationProperty = collectionPath.split("/")[1];
258
- const oEntitySetConverterContext = converterContext.getConverterContextFor("/" + sEntitySet);
259
- const aRestrictedProperties = oEntitySetConverterContext?.getDataModelObjectPath().startingEntitySet
260
- ?.annotations?.Capabilities?.NavigationRestrictions?.RestrictedProperties;
260
+ const oEntitySetConverterContext = converterContext.getConverterContextFor(`/${sEntitySet}`);
261
+ const aRestrictedProperties =
262
+ oEntitySetConverterContext?.getDataModelObjectPath().startingEntitySet?.annotations?.Capabilities
263
+ ?.NavigationRestrictions?.RestrictedProperties;
261
264
  const oRestrictedProperty = aRestrictedProperties?.find(
262
265
  (restrictedNavProp: NavigationPropertyRestrictionTypes) => {
263
266
  if (restrictedNavProp.NavigationProperty?.type === "NavigationPropertyPath") {
@@ -272,7 +275,7 @@ export function getVisualFilters(
272
275
  }
273
276
  let requiredPropertyPaths: Array<object> = [];
274
277
  if (requiredProperties?.length) {
275
- requiredProperties.forEach(function(oRequireProperty: any) {
278
+ requiredProperties.forEach(function (oRequireProperty: any) {
276
279
  requiredPropertyPaths.push(oRequireProperty.value);
277
280
  });
278
281
  }
@@ -290,7 +293,7 @@ export function getVisualFilters(
290
293
  selectOptions = selectOptions.concat(parameterOptions);
291
294
  requiredPropertyPaths = requiredPropertyPaths.sort();
292
295
  selectOptions = selectOptions.sort();
293
- visualFilter.showOverlayInitially = requiredPropertyPaths.some(function(sPath) {
296
+ visualFilter.showOverlayInitially = requiredPropertyPaths.some(function (sPath) {
294
297
  return selectOptions.indexOf(sPath) === -1;
295
298
  });
296
299
  }
@@ -2,12 +2,12 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpression) {
5
+ sap.ui.define(["sap/fe/core/helpers/BindingToolkit"], function (BindingToolkit) {
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
9
- var compileBinding = BindingExpression.compileBinding;
10
- var annotationExpression = BindingExpression.annotationExpression;
9
+ var getExpressionFromAnnotation = BindingToolkit.getExpressionFromAnnotation;
10
+ var compileExpression = BindingToolkit.compileExpression;
11
11
 
12
12
  var AvatarShape;
13
13
 
@@ -32,10 +32,10 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
32
32
  }
33
33
 
34
34
  if (headerInfo.ImageUrl && headerInfo.TypeImageUrl) {
35
- return compileBinding(annotationExpression(headerInfo.TypeImageUrl));
35
+ return compileExpression(getExpressionFromAnnotation(headerInfo.TypeImageUrl));
36
36
  }
37
37
 
38
- return compileBinding(isNaturalPerson(converterContext) ? "sap-icon://person-placeholder" : "sap-icon://product");
38
+ return compileExpression(isNaturalPerson(converterContext) ? "sap-icon://person-placeholder" : "sap-icon://product");
39
39
  };
40
40
 
41
41
  var getSource = function (converterContext) {
@@ -47,7 +47,7 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
47
47
  return undefined;
48
48
  }
49
49
 
50
- return compileBinding(annotationExpression(headerInfo.ImageUrl || headerInfo.TypeImageUrl));
50
+ return compileExpression(getExpressionFromAnnotation(headerInfo.ImageUrl || headerInfo.TypeImageUrl));
51
51
  };
52
52
 
53
53
  var getAvatar = function (converterContext) {
@@ -62,13 +62,13 @@ sap.ui.define(["sap/fe/core/helpers/BindingExpression"], function (BindingExpres
62
62
 
63
63
  return {
64
64
  src: getSource(converterContext),
65
- initials: compileBinding(annotationExpression((headerInfo === null || headerInfo === void 0 ? void 0 : headerInfo.Initials) || "")),
65
+ initials: compileExpression(getExpressionFromAnnotation((headerInfo === null || headerInfo === void 0 ? void 0 : headerInfo.Initials) || "")),
66
66
  fallbackIcon: getFallBackIcon(converterContext),
67
- displayShape: compileBinding(isNaturalPerson(converterContext) ? AvatarShape.Circle : AvatarShape.Square)
67
+ displayShape: compileExpression(isNaturalPerson(converterContext) ? AvatarShape.Circle : AvatarShape.Square)
68
68
  };
69
69
  };
70
70
 
71
71
  _exports.getAvatar = getAvatar;
72
72
  return _exports;
73
73
  }, false);
74
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkF2YXRhci50cyJdLCJuYW1lcyI6WyJBdmF0YXJTaGFwZSIsImlzTmF0dXJhbFBlcnNvbiIsImNvbnZlcnRlckNvbnRleHQiLCJnZXRFbnRpdHlUeXBlIiwiYW5ub3RhdGlvbnMiLCJDb21tb24iLCJJc05hdHVyYWxQZXJzb24iLCJ2YWx1ZU9mIiwiZ2V0RmFsbEJhY2tJY29uIiwiaGVhZGVySW5mbyIsIlVJIiwiSGVhZGVySW5mbyIsIkltYWdlVXJsIiwiVHlwZUltYWdlVXJsIiwidW5kZWZpbmVkIiwiY29tcGlsZUJpbmRpbmciLCJhbm5vdGF0aW9uRXhwcmVzc2lvbiIsImdldFNvdXJjZSIsImdldEF2YXRhciIsIm9Tb3VyY2UiLCJJbml0aWFscyIsInNyYyIsImluaXRpYWxzIiwiZmFsbGJhY2tJY29uIiwiZGlzcGxheVNoYXBlIiwiQ2lyY2xlIiwiU3F1YXJlIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7OztNQUFLQSxXOzthQUFBQSxXO0FBQUFBLElBQUFBLFc7QUFBQUEsSUFBQUEsVztLQUFBQSxXLEtBQUFBLFc7O0FBWUwsTUFBTUMsZUFBZSxHQUFHLFVBQUNDLGdCQUFELEVBQWlEO0FBQUE7O0FBQ3hFLFdBQU8sMEJBQUFBLGdCQUFnQixDQUFDQyxhQUFqQixHQUFpQ0MsV0FBakMsQ0FBNkNDLE1BQTdDLDBHQUFxREMsZUFBckQsa0ZBQXNFQyxPQUF0RSxRQUFvRixJQUEzRjtBQUNBLEdBRkQ7O0FBSUEsTUFBTUMsZUFBZSxHQUFHLFVBQUNOLGdCQUFELEVBQStFO0FBQUE7O0FBQ3RHLFFBQU1PLFVBQVUsNkJBQUdQLGdCQUFnQixDQUFDQyxhQUFqQixHQUFpQ0MsV0FBcEMscUZBQUcsdUJBQThDTSxFQUFqRCwyREFBRyx1QkFBa0RDLFVBQXJFOztBQUNBLFFBQUksQ0FBQ0YsVUFBRCxJQUFnQkEsVUFBVSxJQUFJLENBQUNBLFVBQVUsQ0FBQ0csUUFBMUIsSUFBc0MsQ0FBQ0gsVUFBVSxDQUFDSSxZQUF0RSxFQUFxRjtBQUNwRixhQUFPQyxTQUFQO0FBQ0E7O0FBQ0QsUUFBSUwsVUFBVSxDQUFDRyxRQUFYLElBQXVCSCxVQUFVLENBQUNJLFlBQXRDLEVBQW9EO0FBQ25ELGFBQU9FLGNBQWMsQ0FBQ0Msb0JBQW9CLENBQUNQLFVBQVUsQ0FBQ0ksWUFBWixDQUFyQixDQUFyQjtBQUNBOztBQUNELFdBQU9FLGNBQWMsQ0FBQ2QsZUFBZSxDQUFDQyxnQkFBRCxDQUFmLEdBQW9DLCtCQUFwQyxHQUFzRSxvQkFBdkUsQ0FBckI7QUFDQSxHQVREOztBQVdBLE1BQU1lLFNBQVMsR0FBRyxVQUFDZixnQkFBRCxFQUErRTtBQUFBOztBQUNoRyxRQUFNTyxVQUFVLDZCQUFHUCxnQkFBZ0IsQ0FBQ0MsYUFBakIsR0FBaUNDLFdBQXBDLHFGQUFHLHVCQUE4Q00sRUFBakQsMkRBQUcsdUJBQWtEQyxVQUFyRTs7QUFDQSxRQUFJLENBQUNGLFVBQUQsSUFBZSxFQUFFQSxVQUFVLENBQUNHLFFBQVgsSUFBdUJILFVBQVUsQ0FBQ0ksWUFBcEMsQ0FBbkIsRUFBc0U7QUFDckUsYUFBT0MsU0FBUDtBQUNBOztBQUNELFdBQU9DLGNBQWMsQ0FBQ0Msb0JBQW9CLENBQUNQLFVBQVUsQ0FBQ0csUUFBWCxJQUF1QkgsVUFBVSxDQUFDSSxZQUFuQyxDQUFyQixDQUFyQjtBQUNBLEdBTkQ7O0FBUU8sTUFBTUssU0FBUyxHQUFHLFVBQUNoQixnQkFBRCxFQUE0RDtBQUFBOztBQUNwRixRQUFNTyxVQUFVLDZCQUFHUCxnQkFBZ0IsQ0FBQ0MsYUFBakIsR0FBaUNDLFdBQXBDLHFGQUFHLHVCQUE4Q00sRUFBakQsMkRBQUcsdUJBQWtEQyxVQUFyRTtBQUNBLFFBQU1RLE9BQVksR0FBR1YsVUFBVSxLQUFLQSxVQUFVLENBQUNHLFFBQVgsSUFBdUJILFVBQVUsQ0FBQ0ksWUFBbEMsSUFBa0RKLFVBQVUsQ0FBQ1csUUFBbEUsQ0FBL0I7O0FBQ0EsUUFBSSxDQUFDRCxPQUFMLEVBQWM7QUFDYixhQUFPTCxTQUFQO0FBQ0E7O0FBQ0QsV0FBTztBQUNOTyxNQUFBQSxHQUFHLEVBQUVKLFNBQVMsQ0FBQ2YsZ0JBQUQsQ0FEUjtBQUVOb0IsTUFBQUEsUUFBUSxFQUFFUCxjQUFjLENBQUNDLG9CQUFvQixDQUFDLENBQUFQLFVBQVUsU0FBVixJQUFBQSxVQUFVLFdBQVYsWUFBQUEsVUFBVSxDQUFFVyxRQUFaLEtBQXdCLEVBQXpCLENBQXJCLENBRmxCO0FBR05HLE1BQUFBLFlBQVksRUFBRWYsZUFBZSxDQUFDTixnQkFBRCxDQUh2QjtBQUlOc0IsTUFBQUEsWUFBWSxFQUFFVCxjQUFjLENBQUNkLGVBQWUsQ0FBQ0MsZ0JBQUQsQ0FBZixHQUFvQ0YsV0FBVyxDQUFDeUIsTUFBaEQsR0FBeUR6QixXQUFXLENBQUMwQixNQUF0RTtBQUp0QixLQUFQO0FBTUEsR0FaTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbnZlcnRlckNvbnRleHQgZnJvbSBcIi4uLy4uL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB7IGFubm90YXRpb25FeHByZXNzaW9uLCBCaW5kaW5nRXhwcmVzc2lvbiwgY29tcGlsZUJpbmRpbmcgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nRXhwcmVzc2lvblwiO1xuZW51bSBBdmF0YXJTaGFwZSB7XG5cdENpcmNsZSA9IFwiQ2lyY2xlXCIsXG5cdFNxdWFyZSA9IFwiU3F1YXJlXCJcbn1cblxuZXhwb3J0IHR5cGUgQXZhdGFyID0ge1xuXHRzcmM/OiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+O1xuXHRpbml0aWFsczogQmluZGluZ0V4cHJlc3Npb248c3RyaW5nPjtcblx0ZmFsbGJhY2tJY29uPzogQmluZGluZ0V4cHJlc3Npb248c3RyaW5nPjtcblx0ZGlzcGxheVNoYXBlOiBCaW5kaW5nRXhwcmVzc2lvbjxzdHJpbmc+O1xufTtcblxuY29uc3QgaXNOYXR1cmFsUGVyc29uID0gKGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpOiBCb29sZWFuID0+IHtcblx0cmV0dXJuIGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpLmFubm90YXRpb25zLkNvbW1vbj8uSXNOYXR1cmFsUGVyc29uPy52YWx1ZU9mKCkgPT09IHRydWU7XG59O1xuXG5jb25zdCBnZXRGYWxsQmFja0ljb24gPSAoY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IEJpbmRpbmdFeHByZXNzaW9uPHN0cmluZz4gfCB1bmRlZmluZWQgPT4ge1xuXHRjb25zdCBoZWFkZXJJbmZvID0gY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnM/LlVJPy5IZWFkZXJJbmZvO1xuXHRpZiAoIWhlYWRlckluZm8gfHwgKGhlYWRlckluZm8gJiYgIWhlYWRlckluZm8uSW1hZ2VVcmwgJiYgIWhlYWRlckluZm8uVHlwZUltYWdlVXJsKSkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0aWYgKGhlYWRlckluZm8uSW1hZ2VVcmwgJiYgaGVhZGVySW5mby5UeXBlSW1hZ2VVcmwpIHtcblx0XHRyZXR1cm4gY29tcGlsZUJpbmRpbmcoYW5ub3RhdGlvbkV4cHJlc3Npb24oaGVhZGVySW5mby5UeXBlSW1hZ2VVcmwpKTtcblx0fVxuXHRyZXR1cm4gY29tcGlsZUJpbmRpbmcoaXNOYXR1cmFsUGVyc29uKGNvbnZlcnRlckNvbnRleHQpID8gXCJzYXAtaWNvbjovL3BlcnNvbi1wbGFjZWhvbGRlclwiIDogXCJzYXAtaWNvbjovL3Byb2R1Y3RcIik7XG59O1xuXG5jb25zdCBnZXRTb3VyY2UgPSAoY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IEJpbmRpbmdFeHByZXNzaW9uPHN0cmluZz4gfCB1bmRlZmluZWQgPT4ge1xuXHRjb25zdCBoZWFkZXJJbmZvID0gY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCkuYW5ub3RhdGlvbnM/LlVJPy5IZWFkZXJJbmZvO1xuXHRpZiAoIWhlYWRlckluZm8gfHwgIShoZWFkZXJJbmZvLkltYWdlVXJsIHx8IGhlYWRlckluZm8uVHlwZUltYWdlVXJsKSkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIGNvbXBpbGVCaW5kaW5nKGFubm90YXRpb25FeHByZXNzaW9uKGhlYWRlckluZm8uSW1hZ2VVcmwgfHwgaGVhZGVySW5mby5UeXBlSW1hZ2VVcmwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBdmF0YXIgPSAoY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IEF2YXRhciB8IHVuZGVmaW5lZCA9PiB7XG5cdGNvbnN0IGhlYWRlckluZm8gPSBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKS5hbm5vdGF0aW9ucz8uVUk/LkhlYWRlckluZm87XG5cdGNvbnN0IG9Tb3VyY2U6IGFueSA9IGhlYWRlckluZm8gJiYgKGhlYWRlckluZm8uSW1hZ2VVcmwgfHwgaGVhZGVySW5mby5UeXBlSW1hZ2VVcmwgfHwgaGVhZGVySW5mby5Jbml0aWFscyk7XG5cdGlmICghb1NvdXJjZSkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIHtcblx0XHRzcmM6IGdldFNvdXJjZShjb252ZXJ0ZXJDb250ZXh0KSxcblx0XHRpbml0aWFsczogY29tcGlsZUJpbmRpbmcoYW5ub3RhdGlvbkV4cHJlc3Npb24oaGVhZGVySW5mbz8uSW5pdGlhbHMgfHwgXCJcIikpLFxuXHRcdGZhbGxiYWNrSWNvbjogZ2V0RmFsbEJhY2tJY29uKGNvbnZlcnRlckNvbnRleHQpLFxuXHRcdGRpc3BsYXlTaGFwZTogY29tcGlsZUJpbmRpbmcoaXNOYXR1cmFsUGVyc29uKGNvbnZlcnRlckNvbnRleHQpID8gQXZhdGFyU2hhcGUuQ2lyY2xlIDogQXZhdGFyU2hhcGUuU3F1YXJlKVxuXHR9O1xufTtcbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkF2YXRhci50cyJdLCJuYW1lcyI6WyJBdmF0YXJTaGFwZSIsImlzTmF0dXJhbFBlcnNvbiIsImNvbnZlcnRlckNvbnRleHQiLCJnZXRFbnRpdHlUeXBlIiwiYW5ub3RhdGlvbnMiLCJDb21tb24iLCJJc05hdHVyYWxQZXJzb24iLCJ2YWx1ZU9mIiwiZ2V0RmFsbEJhY2tJY29uIiwiaGVhZGVySW5mbyIsIlVJIiwiSGVhZGVySW5mbyIsIkltYWdlVXJsIiwiVHlwZUltYWdlVXJsIiwidW5kZWZpbmVkIiwiY29tcGlsZUV4cHJlc3Npb24iLCJnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24iLCJnZXRTb3VyY2UiLCJnZXRBdmF0YXIiLCJvU291cmNlIiwiSW5pdGlhbHMiLCJzcmMiLCJpbml0aWFscyIsImZhbGxiYWNrSWNvbiIsImRpc3BsYXlTaGFwZSIsIkNpcmNsZSIsIlNxdWFyZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7TUFDS0EsVzs7YUFBQUEsVztBQUFBQSxJQUFBQSxXO0FBQUFBLElBQUFBLFc7S0FBQUEsVyxLQUFBQSxXOztBQVlMLE1BQU1DLGVBQWUsR0FBRyxVQUFDQyxnQkFBRCxFQUFpRDtBQUFBOztBQUN4RSxXQUFPLDBCQUFBQSxnQkFBZ0IsQ0FBQ0MsYUFBakIsR0FBaUNDLFdBQWpDLENBQTZDQyxNQUE3QywwR0FBcURDLGVBQXJELGtGQUFzRUMsT0FBdEUsUUFBb0YsSUFBM0Y7QUFDQSxHQUZEOztBQUlBLE1BQU1DLGVBQWUsR0FBRyxVQUFDTixnQkFBRCxFQUFzRjtBQUFBOztBQUM3RyxRQUFNTyxVQUFVLDZCQUFHUCxnQkFBZ0IsQ0FBQ0MsYUFBakIsR0FBaUNDLFdBQXBDLHFGQUFHLHVCQUE4Q00sRUFBakQsMkRBQUcsdUJBQWtEQyxVQUFyRTs7QUFDQSxRQUFJLENBQUNGLFVBQUQsSUFBZ0JBLFVBQVUsSUFBSSxDQUFDQSxVQUFVLENBQUNHLFFBQTFCLElBQXNDLENBQUNILFVBQVUsQ0FBQ0ksWUFBdEUsRUFBcUY7QUFDcEYsYUFBT0MsU0FBUDtBQUNBOztBQUNELFFBQUlMLFVBQVUsQ0FBQ0csUUFBWCxJQUF1QkgsVUFBVSxDQUFDSSxZQUF0QyxFQUFvRDtBQUNuRCxhQUFPRSxpQkFBaUIsQ0FBQ0MsMkJBQTJCLENBQUNQLFVBQVUsQ0FBQ0ksWUFBWixDQUE1QixDQUF4QjtBQUNBOztBQUNELFdBQU9FLGlCQUFpQixDQUFDZCxlQUFlLENBQUNDLGdCQUFELENBQWYsR0FBb0MsK0JBQXBDLEdBQXNFLG9CQUF2RSxDQUF4QjtBQUNBLEdBVEQ7O0FBV0EsTUFBTWUsU0FBUyxHQUFHLFVBQUNmLGdCQUFELEVBQXNGO0FBQUE7O0FBQ3ZHLFFBQU1PLFVBQVUsNkJBQUdQLGdCQUFnQixDQUFDQyxhQUFqQixHQUFpQ0MsV0FBcEMscUZBQUcsdUJBQThDTSxFQUFqRCwyREFBRyx1QkFBa0RDLFVBQXJFOztBQUNBLFFBQUksQ0FBQ0YsVUFBRCxJQUFlLEVBQUVBLFVBQVUsQ0FBQ0csUUFBWCxJQUF1QkgsVUFBVSxDQUFDSSxZQUFwQyxDQUFuQixFQUFzRTtBQUNyRSxhQUFPQyxTQUFQO0FBQ0E7O0FBQ0QsV0FBT0MsaUJBQWlCLENBQUNDLDJCQUEyQixDQUFDUCxVQUFVLENBQUNHLFFBQVgsSUFBdUJILFVBQVUsQ0FBQ0ksWUFBbkMsQ0FBNUIsQ0FBeEI7QUFDQSxHQU5EOztBQVFPLE1BQU1LLFNBQVMsR0FBRyxVQUFDaEIsZ0JBQUQsRUFBNEQ7QUFBQTs7QUFDcEYsUUFBTU8sVUFBVSw2QkFBR1AsZ0JBQWdCLENBQUNDLGFBQWpCLEdBQWlDQyxXQUFwQyxxRkFBRyx1QkFBOENNLEVBQWpELDJEQUFHLHVCQUFrREMsVUFBckU7QUFDQSxRQUFNUSxPQUFZLEdBQUdWLFVBQVUsS0FBS0EsVUFBVSxDQUFDRyxRQUFYLElBQXVCSCxVQUFVLENBQUNJLFlBQWxDLElBQWtESixVQUFVLENBQUNXLFFBQWxFLENBQS9COztBQUNBLFFBQUksQ0FBQ0QsT0FBTCxFQUFjO0FBQ2IsYUFBT0wsU0FBUDtBQUNBOztBQUNELFdBQU87QUFDTk8sTUFBQUEsR0FBRyxFQUFFSixTQUFTLENBQUNmLGdCQUFELENBRFI7QUFFTm9CLE1BQUFBLFFBQVEsRUFBRVAsaUJBQWlCLENBQUNDLDJCQUEyQixDQUFDLENBQUFQLFVBQVUsU0FBVixJQUFBQSxVQUFVLFdBQVYsWUFBQUEsVUFBVSxDQUFFVyxRQUFaLEtBQXdCLEVBQXpCLENBQTVCLENBRnJCO0FBR05HLE1BQUFBLFlBQVksRUFBRWYsZUFBZSxDQUFDTixnQkFBRCxDQUh2QjtBQUlOc0IsTUFBQUEsWUFBWSxFQUFFVCxpQkFBaUIsQ0FBQ2QsZUFBZSxDQUFDQyxnQkFBRCxDQUFmLEdBQW9DRixXQUFXLENBQUN5QixNQUFoRCxHQUF5RHpCLFdBQVcsQ0FBQzBCLE1BQXRFO0FBSnpCLEtBQVA7QUFNQSxHQVpNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uLCBnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHR5cGUgQ29udmVydGVyQ29udGV4dCBmcm9tIFwiLi4vLi4vQ29udmVydGVyQ29udGV4dFwiO1xuZW51bSBBdmF0YXJTaGFwZSB7XG5cdENpcmNsZSA9IFwiQ2lyY2xlXCIsXG5cdFNxdWFyZSA9IFwiU3F1YXJlXCJcbn1cblxuZXhwb3J0IHR5cGUgQXZhdGFyID0ge1xuXHRzcmM/OiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0aW5pdGlhbHM6IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uO1xuXHRmYWxsYmFja0ljb24/OiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcblx0ZGlzcGxheVNoYXBlOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjtcbn07XG5cbmNvbnN0IGlzTmF0dXJhbFBlcnNvbiA9IChjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0KTogQm9vbGVhbiA9PiB7XG5cdHJldHVybiBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKS5hbm5vdGF0aW9ucy5Db21tb24/LklzTmF0dXJhbFBlcnNvbj8udmFsdWVPZigpID09PSB0cnVlO1xufTtcblxuY29uc3QgZ2V0RmFsbEJhY2tJY29uID0gKGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB8IHVuZGVmaW5lZCA9PiB7XG5cdGNvbnN0IGhlYWRlckluZm8gPSBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKS5hbm5vdGF0aW9ucz8uVUk/LkhlYWRlckluZm87XG5cdGlmICghaGVhZGVySW5mbyB8fCAoaGVhZGVySW5mbyAmJiAhaGVhZGVySW5mby5JbWFnZVVybCAmJiAhaGVhZGVySW5mby5UeXBlSW1hZ2VVcmwpKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRpZiAoaGVhZGVySW5mby5JbWFnZVVybCAmJiBoZWFkZXJJbmZvLlR5cGVJbWFnZVVybCkge1xuXHRcdHJldHVybiBjb21waWxlRXhwcmVzc2lvbihnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24oaGVhZGVySW5mby5UeXBlSW1hZ2VVcmwpKTtcblx0fVxuXHRyZXR1cm4gY29tcGlsZUV4cHJlc3Npb24oaXNOYXR1cmFsUGVyc29uKGNvbnZlcnRlckNvbnRleHQpID8gXCJzYXAtaWNvbjovL3BlcnNvbi1wbGFjZWhvbGRlclwiIDogXCJzYXAtaWNvbjovL3Byb2R1Y3RcIik7XG59O1xuXG5jb25zdCBnZXRTb3VyY2UgPSAoY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIHwgdW5kZWZpbmVkID0+IHtcblx0Y29uc3QgaGVhZGVySW5mbyA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpLmFubm90YXRpb25zPy5VST8uSGVhZGVySW5mbztcblx0aWYgKCFoZWFkZXJJbmZvIHx8ICEoaGVhZGVySW5mby5JbWFnZVVybCB8fCBoZWFkZXJJbmZvLlR5cGVJbWFnZVVybCkpIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cdHJldHVybiBjb21waWxlRXhwcmVzc2lvbihnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24oaGVhZGVySW5mby5JbWFnZVVybCB8fCBoZWFkZXJJbmZvLlR5cGVJbWFnZVVybCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEF2YXRhciA9IChjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0KTogQXZhdGFyIHwgdW5kZWZpbmVkID0+IHtcblx0Y29uc3QgaGVhZGVySW5mbyA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZSgpLmFubm90YXRpb25zPy5VST8uSGVhZGVySW5mbztcblx0Y29uc3Qgb1NvdXJjZTogYW55ID0gaGVhZGVySW5mbyAmJiAoaGVhZGVySW5mby5JbWFnZVVybCB8fCBoZWFkZXJJbmZvLlR5cGVJbWFnZVVybCB8fCBoZWFkZXJJbmZvLkluaXRpYWxzKTtcblx0aWYgKCFvU291cmNlKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdHNyYzogZ2V0U291cmNlKGNvbnZlcnRlckNvbnRleHQpLFxuXHRcdGluaXRpYWxzOiBjb21waWxlRXhwcmVzc2lvbihnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24oaGVhZGVySW5mbz8uSW5pdGlhbHMgfHwgXCJcIikpLFxuXHRcdGZhbGxiYWNrSWNvbjogZ2V0RmFsbEJhY2tJY29uKGNvbnZlcnRlckNvbnRleHQpLFxuXHRcdGRpc3BsYXlTaGFwZTogY29tcGlsZUV4cHJlc3Npb24oaXNOYXR1cmFsUGVyc29uKGNvbnZlcnRlckNvbnRleHQpID8gQXZhdGFyU2hhcGUuQ2lyY2xlIDogQXZhdGFyU2hhcGUuU3F1YXJlKVxuXHR9O1xufTtcbiJdfQ==
@@ -1,38 +1,39 @@
1
- import ConverterContext from "../../ConverterContext";
2
- import { annotationExpression, BindingExpression, compileBinding } from "sap/fe/core/helpers/BindingExpression";
1
+ import type { CompiledBindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
2
+ import { compileExpression, getExpressionFromAnnotation } from "sap/fe/core/helpers/BindingToolkit";
3
+ import type ConverterContext from "../../ConverterContext";
3
4
  enum AvatarShape {
4
5
  Circle = "Circle",
5
6
  Square = "Square"
6
7
  }
7
8
 
8
9
  export type Avatar = {
9
- src?: BindingExpression<string>;
10
- initials: BindingExpression<string>;
11
- fallbackIcon?: BindingExpression<string>;
12
- displayShape: BindingExpression<string>;
10
+ src?: CompiledBindingToolkitExpression;
11
+ initials: CompiledBindingToolkitExpression;
12
+ fallbackIcon?: CompiledBindingToolkitExpression;
13
+ displayShape: CompiledBindingToolkitExpression;
13
14
  };
14
15
 
15
16
  const isNaturalPerson = (converterContext: ConverterContext): Boolean => {
16
17
  return converterContext.getEntityType().annotations.Common?.IsNaturalPerson?.valueOf() === true;
17
18
  };
18
19
 
19
- const getFallBackIcon = (converterContext: ConverterContext): BindingExpression<string> | undefined => {
20
+ const getFallBackIcon = (converterContext: ConverterContext): CompiledBindingToolkitExpression | undefined => {
20
21
  const headerInfo = converterContext.getEntityType().annotations?.UI?.HeaderInfo;
21
22
  if (!headerInfo || (headerInfo && !headerInfo.ImageUrl && !headerInfo.TypeImageUrl)) {
22
23
  return undefined;
23
24
  }
24
25
  if (headerInfo.ImageUrl && headerInfo.TypeImageUrl) {
25
- return compileBinding(annotationExpression(headerInfo.TypeImageUrl));
26
+ return compileExpression(getExpressionFromAnnotation(headerInfo.TypeImageUrl));
26
27
  }
27
- return compileBinding(isNaturalPerson(converterContext) ? "sap-icon://person-placeholder" : "sap-icon://product");
28
+ return compileExpression(isNaturalPerson(converterContext) ? "sap-icon://person-placeholder" : "sap-icon://product");
28
29
  };
29
30
 
30
- const getSource = (converterContext: ConverterContext): BindingExpression<string> | undefined => {
31
+ const getSource = (converterContext: ConverterContext): CompiledBindingToolkitExpression | undefined => {
31
32
  const headerInfo = converterContext.getEntityType().annotations?.UI?.HeaderInfo;
32
33
  if (!headerInfo || !(headerInfo.ImageUrl || headerInfo.TypeImageUrl)) {
33
34
  return undefined;
34
35
  }
35
- return compileBinding(annotationExpression(headerInfo.ImageUrl || headerInfo.TypeImageUrl));
36
+ return compileExpression(getExpressionFromAnnotation(headerInfo.ImageUrl || headerInfo.TypeImageUrl));
36
37
  };
37
38
 
38
39
  export const getAvatar = (converterContext: ConverterContext): Avatar | undefined => {
@@ -43,8 +44,8 @@ export const getAvatar = (converterContext: ConverterContext): Avatar | undefine
43
44
  }
44
45
  return {
45
46
  src: getSource(converterContext),
46
- initials: compileBinding(annotationExpression(headerInfo?.Initials || "")),
47
+ initials: compileExpression(getExpressionFromAnnotation(headerInfo?.Initials || "")),
47
48
  fallbackIcon: getFallBackIcon(converterContext),
48
- displayShape: compileBinding(isNaturalPerson(converterContext) ? AvatarShape.Circle : AvatarShape.Square)
49
+ displayShape: compileExpression(isNaturalPerson(converterContext) ? AvatarShape.Circle : AvatarShape.Square)
49
50
  };
50
51
  };