@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,27 +1,28 @@
1
- import {
1
+ import type {
2
2
  DataFieldAbstractTypes,
3
3
  DataPoint,
4
4
  FacetTypes,
5
5
  FieldGroup,
6
- ReferenceFacetTypes,
7
- UIAnnotationTypes
8
- } from "@sap-ux/vocabularies-types";
6
+ ReferenceFacetTypes
7
+ } from "@sap-ux/vocabularies-types/vocabularies/UI";
8
+ import { UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
9
9
  import { getSemanticObjectPath } from "sap/fe/core/converters/annotations/DataField";
10
+ import type { ConfigurableObject, ConfigurableRecord, CustomElement, Position } from "sap/fe/core/converters/helpers/ConfigurableObject";
11
+ import { insertCustomElements, Placement } from "sap/fe/core/converters/helpers/ConfigurableObject";
10
12
  import {
11
- ConfigurableObject,
12
- ConfigurableRecord,
13
- CustomElement,
14
- insertCustomElements,
15
- Placement,
16
- Position
17
- } from "sap/fe/core/converters/helpers/ConfigurableObject";
18
- import { CustomHeaderFacetID, HeaderFacetContainerID, HeaderFacetFormID, HeaderFacetID } from "sap/fe/core/converters/helpers/ID";
13
+ getCustomHeaderFacetID,
14
+ getHeaderFacetContainerID,
15
+ getHeaderFacetFormID,
16
+ getHeaderFacetID
17
+ } from "sap/fe/core/converters/helpers/ID";
19
18
  import { KeyHelper } from "sap/fe/core/converters/helpers/Key";
20
- import { ManifestHeaderFacet } from "sap/fe/core/converters/ManifestSettings";
21
- import { annotationExpression, BindingExpression, compileBinding, equal, not } from "sap/fe/core/helpers/BindingExpression";
19
+ import type { ManifestHeaderFacet } from "sap/fe/core/converters/ManifestSettings";
20
+ import type { CompiledBindingToolkitExpression } from "sap/fe/core/helpers/BindingToolkit";
21
+ import { compileExpression, equal, getExpressionFromAnnotation, not } from "sap/fe/core/helpers/BindingToolkit";
22
22
  import { generate } from "../../../helpers/StableIdHelper";
23
- import ConverterContext from "../../ConverterContext";
24
- import { AnnotationFormElement, FormElement, FormElementType, getFormElementsFromManifest } from "../Common/Form";
23
+ import type ConverterContext from "../../ConverterContext";
24
+ import type { AnnotationFormElement, FormElement } from "../Common/Form";
25
+ import { FormElementType, getFormElementsFromManifest } from "../Common/Form";
25
26
 
26
27
  // region definitions
27
28
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -82,7 +83,7 @@ type BaseHeaderFacet = ConfigurableObject & {
82
83
  annotationPath?: string;
83
84
  flexSettings: FlexSettings;
84
85
  stashed: boolean;
85
- visible: BindingExpression<boolean>;
86
+ visible: CompiledBindingToolkitExpression;
86
87
  targetAnnotationValue?: string;
87
88
  targetAnnotationType?: TargetAnnotationType;
88
89
  };
@@ -126,9 +127,8 @@ export type CustomObjectPageHeaderFacet = CustomElement<ObjectPageHeaderFacet> &
126
127
  /**
127
128
  * Retrieve header facets from annotations.
128
129
  *
129
- * @param {ConverterContext} converterContext
130
- *
131
- * @returns {ObjectPageHeaderFacet} Header facets from annotations
130
+ * @param converterContext
131
+ * @returns Header facets from annotations
132
132
  */
133
133
  export function getHeaderFacetsFromAnnotations(converterContext: ConverterContext): ObjectPageHeaderFacet[] {
134
134
  const headerFacets: ObjectPageHeaderFacet[] = [];
@@ -145,9 +145,8 @@ export function getHeaderFacetsFromAnnotations(converterContext: ConverterContex
145
145
  /**
146
146
  * Retrieve custom header facets from manifest.
147
147
  *
148
- * @param {ConfigurableRecord<ManifestHeaderFacet>} manifestCustomHeaderFacets
149
- *
150
- * @returns {Record<string, CustomObjectPageHeaderFacet>} HeaderFacets from manifest
148
+ * @param manifestCustomHeaderFacets
149
+ * @returns HeaderFacets from manifest
151
150
  */
152
151
  export function getHeaderFacetsFromManifest(
153
152
  manifestCustomHeaderFacets: ConfigurableRecord<ManifestHeaderFacet>
@@ -165,11 +164,10 @@ export function getHeaderFacetsFromManifest(
165
164
  /**
166
165
  * Retrieve stashed settings for header facets from manifest.
167
166
  *
168
- * @param {FacetTypes} facetDefinition
169
- * @param {FacetTypes} collectionFacetDefinition
170
- * @param {ConverterContext} converterContext
171
- *
172
- * @returns {boolean} Stashed setting for header facet or false
167
+ * @param facetDefinition
168
+ * @param collectionFacetDefinition
169
+ * @param converterContext
170
+ * @returns Stashed setting for header facet or false
173
171
  */
174
172
  export function getStashedSettingsForHeaderFacet(
175
173
  facetDefinition: FacetTypes,
@@ -192,11 +190,10 @@ export function getStashedSettingsForHeaderFacet(
192
190
  /**
193
191
  * Retrieve flexibility designtime settings from manifest.
194
192
  *
195
- * @param {FacetTypes} facetDefinition
196
- * @param {FacetTypes} collectionFacetDefinition
197
- * @param {ConverterContext} converterContext
198
- *
199
- * @returns {FlexDesignTimeType} Designtime setting or default
193
+ * @param facetDefinition
194
+ * @param collectionFacetDefinition
195
+ * @param converterContext
196
+ * @returns Designtime setting or default
200
197
  */
201
198
  export function getDesignTimeMetadataSettingsForHeaderFacet(
202
199
  facetDefinition: FacetTypes,
@@ -221,6 +218,9 @@ export function getDesignTimeMetadataSettingsForHeaderFacet(
221
218
  case FlexDesignTimeType.NotAdaptableTree:
222
219
  case FlexDesignTimeType.NotAdaptableVisibility:
223
220
  designTimeMetadata = designTime;
221
+ break;
222
+ default:
223
+ break;
224
224
  }
225
225
  }
226
226
  }
@@ -236,9 +236,9 @@ function createReferenceHeaderFacet(
236
236
  converterContext: ConverterContext
237
237
  ): ReferenceFacet | undefined {
238
238
  if (facetDefinition.$Type === UIAnnotationTypes.ReferenceFacet && !(facetDefinition.annotations?.UI?.Hidden?.valueOf() === true)) {
239
- const headerFacetID = HeaderFacetID({ Facet: facetDefinition }),
240
- getHeaderFacetKey = (facetDefinition: FacetTypes, fallback: string): string => {
241
- return facetDefinition.ID?.toString() || facetDefinition.Label?.toString() || fallback;
239
+ const headerFacetID = getHeaderFacetID({ Facet: facetDefinition }),
240
+ getHeaderFacetKey = (facetDefinitionToCheck: FacetTypes, fallback: string): string => {
241
+ return facetDefinitionToCheck.ID?.toString() || facetDefinitionToCheck.Label?.toString() || fallback;
242
242
  },
243
243
  targetAnnotationValue = facetDefinition.Target.value,
244
244
  targetAnnotationType = getTargetAnnotationType(facetDefinition);
@@ -255,6 +255,8 @@ function createReferenceHeaderFacet(
255
255
  headerDataPointData = getDataPointData(facetDefinition);
256
256
  break;
257
257
  // ToDo: Handle other cases
258
+ default:
259
+ break;
258
260
  }
259
261
 
260
262
  const { annotations } = facetDefinition;
@@ -262,14 +264,14 @@ function createReferenceHeaderFacet(
262
264
  type: HeaderFacetType.Annotation,
263
265
  facetType: FacetType.Reference,
264
266
  id: headerFacetID,
265
- containerId: HeaderFacetContainerID({ Facet: facetDefinition }),
267
+ containerId: getHeaderFacetContainerID({ Facet: facetDefinition }),
266
268
  key: getHeaderFacetKey(facetDefinition, headerFacetID),
267
269
  flexSettings: {
268
270
  designtime: getDesignTimeMetadataSettingsForHeaderFacet(facetDefinition, collectionFacetDefinition, converterContext)
269
271
  },
270
272
  stashed: getStashedSettingsForHeaderFacet(facetDefinition, collectionFacetDefinition, converterContext),
271
- visible: compileBinding(not(equal(annotationExpression(annotations?.UI?.Hidden?.valueOf()), true))),
272
- annotationPath: converterContext.getEntitySetBasedAnnotationPath(facetDefinition.fullyQualifiedName) + "/",
273
+ visible: compileExpression(not(equal(getExpressionFromAnnotation(annotations?.UI?.Hidden?.valueOf()), true))),
274
+ annotationPath: `${converterContext.getEntitySetBasedAnnotationPath(facetDefinition.fullyQualifiedName)}/`,
273
275
  targetAnnotationValue,
274
276
  targetAnnotationType,
275
277
  headerFormData,
@@ -286,7 +288,7 @@ function createCollectionHeaderFacet(
286
288
  ): CollectionFacet | undefined {
287
289
  if (collectionFacetDefinition.$Type === UIAnnotationTypes.CollectionFacet) {
288
290
  const facets: ReferenceFacet[] = [],
289
- headerFacetID = HeaderFacetID({ Facet: collectionFacetDefinition }),
291
+ headerFacetID = getHeaderFacetID({ Facet: collectionFacetDefinition }),
290
292
  getHeaderFacetKey = (facetDefinition: FacetTypes, fallback: string): string => {
291
293
  return facetDefinition.ID?.toString() || facetDefinition.Label?.toString() || fallback;
292
294
  };
@@ -306,7 +308,7 @@ function createCollectionHeaderFacet(
306
308
  type: HeaderFacetType.Annotation,
307
309
  facetType: FacetType.Collection,
308
310
  id: headerFacetID,
309
- containerId: HeaderFacetContainerID({ Facet: collectionFacetDefinition }),
311
+ containerId: getHeaderFacetContainerID({ Facet: collectionFacetDefinition }),
310
312
  key: getHeaderFacetKey(collectionFacetDefinition, headerFacetID),
311
313
  flexSettings: {
312
314
  designtime: getDesignTimeMetadataSettingsForHeaderFacet(
@@ -316,8 +318,10 @@ function createCollectionHeaderFacet(
316
318
  )
317
319
  },
318
320
  stashed: getStashedSettingsForHeaderFacet(collectionFacetDefinition, collectionFacetDefinition, converterContext),
319
- visible: compileBinding(not(equal(annotationExpression(collectionFacetDefinition.annotations?.UI?.Hidden?.valueOf()), true))),
320
- annotationPath: converterContext.getEntitySetBasedAnnotationPath(collectionFacetDefinition.fullyQualifiedName) + "/",
321
+ visible: compileExpression(
322
+ not(equal(getExpressionFromAnnotation(collectionFacetDefinition.annotations?.UI?.Hidden?.valueOf()), true))
323
+ ),
324
+ annotationPath: `${converterContext.getEntitySetBasedAnnotationPath(collectionFacetDefinition.fullyQualifiedName)}/`,
321
325
  facets
322
326
  };
323
327
  }
@@ -355,7 +359,7 @@ function getFieldGroupFormData(facetDefinition: ReferenceFacetTypes, converterCo
355
359
  );
356
360
 
357
361
  return {
358
- id: HeaderFacetFormID({ Facet: facetDefinition }),
362
+ id: getHeaderFacetFormID({ Facet: facetDefinition }),
359
363
  label: facetDefinition.Label?.toString(),
360
364
  formElements
361
365
  };
@@ -364,10 +368,9 @@ function getFieldGroupFormData(facetDefinition: ReferenceFacetTypes, converterCo
364
368
  /**
365
369
  * Creates an array of manifest-based FormElements.
366
370
  *
367
- * @param {FacetType} facetDefinition The definition of the facet
368
- * @param {ConverterContext} converterContext The converter context for the facet
369
- *
370
- * @returns {Array} Annotation-based FormElements
371
+ * @param facetDefinition The definition of the facet
372
+ * @param converterContext The converter context for the facet
373
+ * @returns Annotation-based FormElements
371
374
  */
372
375
  function getFormElementsFromAnnotations(facetDefinition: FacetTypes, converterContext: ConverterContext): AnnotationFormElement[] {
373
376
  const annotationBasedFormElements: AnnotationFormElement[] = [];
@@ -389,23 +392,23 @@ function getFormElementsFromAnnotations(facetDefinition: FacetTypes, converterCo
389
392
  isValueMultilineText: dataField.Value?.$target?.annotations?.UI?.MultiLineText?.valueOf() === true,
390
393
  type: FormElementType.Annotation,
391
394
  key: KeyHelper.generateKeyFromDataField(dataField),
392
- visible: compileBinding(not(equal(annotationExpression(annotations?.UI?.Hidden?.valueOf()), true))),
395
+ visible: compileExpression(not(equal(getExpressionFromAnnotation(annotations?.UI?.Hidden?.valueOf()), true))),
393
396
  label: dataField.Value?.$target?.annotations?.Common?.Label || dataField.Label,
394
- idPrefix: HeaderFacetFormID({ Facet: facetDefinition }, dataField),
395
- annotationPath: converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName) + "/",
397
+ idPrefix: getHeaderFacetFormID({ Facet: facetDefinition }, dataField),
398
+ annotationPath: `${converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName)}/`,
396
399
  semanticObjectPath: semanticObjectAnnotationPath
397
400
  });
398
401
  } else if (dataField.$Type === UIAnnotationTypes.DataFieldForAnnotation) {
399
402
  const { annotations } = dataField;
400
403
  annotationBasedFormElements.push({
401
- // FIXME this is wrong
404
+ // FIXME this is wrong, the annotation should exist, so the target is not properly identified
402
405
  isValueMultilineText: (dataField.Target?.$target?.annotations?.UI as any)?.MultiLineText?.valueOf() === true,
403
406
  type: FormElementType.Annotation,
404
407
  key: KeyHelper.generateKeyFromDataField(dataField),
405
- visible: compileBinding(not(equal(annotationExpression(annotations?.UI?.Hidden?.valueOf()), true))),
408
+ visible: compileExpression(not(equal(getExpressionFromAnnotation(annotations?.UI?.Hidden?.valueOf()), true))),
406
409
  label: dataField.Target?.$target?.annotations?.Common?.Label?.toString() || dataField.Label?.toString(),
407
- idPrefix: HeaderFacetFormID({ Facet: facetDefinition }, dataField),
408
- annotationPath: converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName) + "/",
410
+ idPrefix: getHeaderFacetFormID({ Facet: facetDefinition }, dataField),
411
+ annotationPath: `${converterContext.getEntitySetBasedAnnotationPath(dataField.fullyQualifiedName)}/`,
409
412
  semanticObjectPath: semanticObjectAnnotationPath
410
413
  });
411
414
  }
@@ -432,10 +435,9 @@ function getDataPointData(facetDefinition: FacetTypes): HeaderDataPointData {
432
435
  /**
433
436
  * Creates an annotation-based header facet.
434
437
  *
435
- * @param {FacetTypes} facetDefinition The definition of the facet
436
- * @param {ConverterContext} converterContext The converter context
437
- *
438
- * @returns {ObjectPageHeaderFacet} The created annotation-based header facet
438
+ * @param facetDefinition The definition of the facet
439
+ * @param converterContext The converter context
440
+ * @returns The created annotation-based header facet
439
441
  */
440
442
  function createHeaderFacet(facetDefinition: FacetTypes, converterContext: ConverterContext): ObjectPageHeaderFacet | undefined {
441
443
  let headerFacet: ObjectPageHeaderFacet | undefined;
@@ -447,6 +449,8 @@ function createHeaderFacet(facetDefinition: FacetTypes, converterContext: Conver
447
449
  case UIAnnotationTypes.CollectionFacet:
448
450
  headerFacet = createCollectionHeaderFacet(facetDefinition, converterContext);
449
451
  break;
452
+ default:
453
+ break;
450
454
  }
451
455
 
452
456
  return headerFacet;
@@ -461,21 +465,20 @@ function generateBinding(requestGroupId?: string): string | undefined {
461
465
  return undefined;
462
466
  }
463
467
  const groupId =
464
- ["Heroes", "Decoration", "Workers", "LongRunners"].indexOf(requestGroupId) !== -1 ? "$auto." + requestGroupId : requestGroupId;
468
+ ["Heroes", "Decoration", "Workers", "LongRunners"].indexOf(requestGroupId) !== -1 ? `$auto.${requestGroupId}` : requestGroupId;
465
469
 
466
- return "{ path : '', parameters : { $$groupId : '" + groupId + "' } }";
470
+ return `{ path : '', parameters : { $$groupId : '${groupId}' } }`;
467
471
  }
468
472
 
469
473
  /**
470
474
  * Create a manifest based custom header facet.
471
475
  *
472
- * @param {ManifestHeaderFacet} customHeaderFacetDefinition
473
- * @param {string} headerFacetKey
474
- *
475
- * @returns {CustomObjectPageHeaderFacet} The manifest based custom header facet created
476
+ * @param customHeaderFacetDefinition
477
+ * @param headerFacetKey
478
+ * @returns The manifest based custom header facet created
476
479
  */
477
480
  function createCustomHeaderFacet(customHeaderFacetDefinition: ManifestHeaderFacet, headerFacetKey: string): CustomObjectPageHeaderFacet {
478
- const customHeaderFacetID = CustomHeaderFacetID(headerFacetKey);
481
+ const customHeaderFacetID = getCustomHeaderFacetID(headerFacetKey);
479
482
 
480
483
  let position: Position | undefined = customHeaderFacetDefinition.position;
481
484
  if (!position) {